[cfe-dev] #define behavior
Bill Wendling
isanbard at gmail.com
Wed Dec 5 01:52:27 PST 2007
Here's an interesting question that occurred in one of the OCCC
entries that I was compiling with clang. This program:
$ cat d.c
#define x =
int foo(int *k) {
return *k *x 37;
}
Generates this:
$ clang -ast-print d.c -triple=i686-apple-darwin9
typedef char *__builtin_va_list;
d.c:4:14: error: expected expression
return *k *x 37;
^
int foo(int *k) {
}
1 diagnostic generated.
GCC also balks at this. It appears that there's a space being
inserted after the "*" and before the "=" that "x" becomes. Is this
expected?
-bw
More information about the cfe-dev
mailing list