looking at the LLVM/Clang documentation (http://clang.llvm.org/doxygen/InitPreprocessor_8cpp-source.html) shows that __block is not actually a keyword, but a macro that is defined to be __attribute__((__blocks__(byref))). so adding:
#ifndef __block #define __block __attribute__((__blocks__(byref))) #endif
to the above example works.
btw: this also happens if using a self-compiled upstream LLVM/GCC, so it's not actually an Ubuntu bug.
looking at the LLVM/Clang documentation (http:// clang.llvm. org/doxygen/ InitPreprocesso r_8cpp- source. html) shows that __block is not actually a keyword, but a macro that is defined to be __attribute_ _((__blocks_ _(byref) )).
so adding:
#ifndef __block _((__blocks_ _(byref) ))
#define __block __attribute_
#endif
to the above example works.
btw: this also happens if using a self-compiled upstream LLVM/GCC, so it's not actually an Ubuntu bug.