lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]



On 1-Sep-05, at 10:19 AM, Antero Vipunen wrote:

Who speaks about CPP? For example Intel Compiler handles such cases in a sane way.

----------test.c------------------------------
#define TEST(a) do { a; } while(0)
TEST(a = b);
TEST(print(a,b,c) if(a) {b;c;d});
TEST({if(a) {b;c;d;}});
----------------------------------------------

None of those test cases has a "," unprotected by "("..")"

gnu cpp does not implement arbitrary semantics, by the way. C pre-processing semantics are defined in great detail in the ANSI standard. If your cpp is not conformant, you should get another one. (But I suspect that Intel's is.)