Opened 2 years ago
Last modified 2 years ago
#66453 assigned defect
R: incorrect info re compiler in the portfile
Reported by: | barracuda156 | Owned by: | i0ntempest |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.0 |
Keywords: | Cc: | ||
Port: | R |
Description
The portfile has:
# Note: gcc cannot be used for the C compiler. It will give: #:info:build In file included from /usr/include/dispatch/dispatch.h:51:0, #:info:build from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:15, #:info:build from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFPropertyList.h:13, #:info:build from langprefs.c:30: #:info:build /usr/include/dispatch/object.h:143:15: error: expected identifier or '(' before '^' token #:info:build typedef void (^dispatch_block_t)(void); #:info:build ^ #:info:build /usr/include/dispatch/object.h:362:3: error: unknown type name 'dispatch_block_t' #:info:build dispatch_block_t notification_block); #:info:build ^ # However, use of compiler.blacklist *gcc* would remove the GCC Fortran compilers too.
This may be true for some versions of macOS, but this is false in general. GCC certainly can be used as the C compiler with R.
- S. Also I wonder, why no
universal
for R?
Change History (3)
comment:1 follow-up: 2 Changed 2 years ago by kencu (Ken)
comment:2 Changed 2 years ago by barracuda156
Replying to kencu:
clang supports -fblocks by default on systems thst natively support blocks.
gcc does not
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352
So that would be why that is there.
Well, I guess the statement should have it explicitly – since it is easy to verify that GCC works perfectly fine with R at least on <10.7. (And on PPC it is the only choice out there.)
- S. Why I made a ticket and not a PR is because I am not sure to which systems the statement applies. I can only say it is incorrect in general (that is, there are standard cases where GCC works).
comment:3 Changed 2 years ago by kencu (Ken)
true.
I’m not sure if R tests for -fblocks before using it now … previously it seemed to assume it was available on darwin.
Note: See
TracTickets for help on using
tickets.
clang supports -fblocks by default on systems thst natively support blocks.
gcc does not
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352
So that would be why that is there.