-
Notifications
You must be signed in to change notification settings - Fork 459
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dispatch.h incompatible with gcc / g++ 12 #765
Comments
When Ninja is used with Cmake, it fails already on configure:
|
Any chance to use libdispatch with gcc? |
Hopefully someone fixes this eventually. It is disappointing when a software cannot be built with the primary compiler. |
GCC will implement |
@cooljeanius We will likely need this one too: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352 |
Found this from working on AcademySoftwareFoundation/OpenColorIO#1973, in particular Obj-C blocks being unsupported undefines |
@amyspark Re blocks: GCC upstream is aware of the issue but it is not on the top of the list: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78352 |
UPD. Sorry, I need more caffeine. I already posted this link above LOL P. S. There was an old experimental GCC versions which presumably supported blocks, but it was based on 4.x branch. |
Yeah Apple's version of GCC 4.2 had support for blocks, and apparently Mike Stump had a patch based on that version ready to contribute back to the FSF upstream, but then the GPL v3 hit and Apple wouldn't let their employees contribute anymore, so the patch never ended up getting submitted back upstream... |
@cooljeanius I do not think Apple gcc-4.2 supports blocks, at least it errs out on the code using those (maybe it has some partial support, I am not sure). I have referred to this compiler: https://code.google.com/archive/p/plblocks |
Blocks support was introduced in Snow Leopard when Apple was still using gcc 4.2 as the system compiler; it had to have supported it for the OS to work... (unfortunately my Snow Leopard machine is dead, so I can't produce proof at the moment, but I definitely remember blocks working on it...) |
10.6 has llvm-gcc and clang. (Well, we can check what it uses for ObjC.) |
look at apple-oss-distributions/gcc@e19d86d; it contained some blocks-related changes |
@cooljeanius It is conceivable that they ported some patches from clang before finally deciding to dump gcc, the question is whether it worked. AFAIK no, at least not properly. The fact that someone went as far as writing a separate compiler just to try supporting blocks is also suggestive: what was the need at all if a stock gcc-4.2 already supported them? |
From the plblocks description page:
(emphasis added) |
@cooljeanius Well, that is perhaps verifiable, we have sources. But if the statement is accurate, then it is pretty useless. By the way, it does not say backports were from gcc. From clang, yeah, I can believe that.
|
keyword there being the runtime, by which they mean libobjc. So, libojc from llvm/clang combined with compiler from gcc |
10.6.8 has gcc 4.2 v 5646 Do blocks work on 10.4 and 10.5? AFAIK, no. With the same or newer Apple gcc than 10.6.8. |
The text was updated successfully, but these errors were encountered: