On Mon, Aug 06, 2007 at 05:51:29PM +0200, Jan Engelhardt wrote: > >On Aug 6 2007 04:26, Al Viro wrote: >> >> C99 6.10.3[11]: preprocessing directive within the argument list >>of macro invocation => undefined behaviour. Don't do that... > >String concatenation ("a" "b") is not a preprocessing directive. > >$ gcc -E test.c ># 1 "test.c" ># 1 "<built-in>" ># 1 "<command line>" ># 1 "test.c" >printf("a" "b"); > >(If it was, the "a" "b" would have already been joined.) >
Yes. According to C99 5.1.1.2, string concatenation is done in Phase 6, that's after preprocessing. Regards. -- _ /| \'o.O' =(___)= U ack! - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/