https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82200
--- Comment #2 from 191919 <191919 at gmail dot com> --- Yes, you are right. I rewrote the source file as below: ``` #include <sys/cdefs.h> void msyslog(int, const char *, ...) __printflike(2, 3) __not_tail_called __DARWIN_ALIAS_STARTING(__MAC_10_13, __IPHONE_NA, __DARWIN_EXTSN(msyslog)); int main() {} ``` and generated the result file which got macros expanded: ``` /opt/bin/gcc -E -P test.c -o result.c ``` result.c: ``` void msyslog(int, const char *, ...) __attribute__((__format__ (__printf__, 2, 3))) __asm("_" "msyslog" "$DARWIN_EXTSN"); int main() {} ``` The compilation output is: ``` result.c:1:85: error: expected ‘,’ or ‘;’ before ‘__asm’ void msyslog(int, const char *, ...) __attribute__((__format__ (__printf__, 2, 3))) __asm("_" "msyslog" "$DARWIN_EXTSN"); ``` Xcode's cc can compile result.c without problem.