C99 specifies the behaviour of token pasting when either (or both) of
the arguments to be pasted expand to an empty sequence of tokens. tcc
doesn't seem to implement this:

$ cat p.c
#define P(A,B) A ## B bob
#define Q(A,B) A ## B+
P(jim,)
Q(+,)
$ ./tcc -E p.c
# 2 "p.c"
p.c:3: warning: pasting "jim" and " " does not give a valid preprocessing token

jim bob
++

In the P() example, the warning is inappropriate.
In the Q() example, the result is wrong. We should get + and + as two
separate tokens, not the single token ++.

Jay.

_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to