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.

Reply via email to