Hi everybody,

I'm using the LLVM compiler at the moment. I've written the following (test) code:
Code:
#define F2(x, y) x##y 
#define F1(x, y) F2(x, y)
#define TEST(x) F1(x, __COUNTER__)

TEST(abc) 
TEST(abc)
I don't actually compile this code, but I preprocess it using "gcc -E". The output becomes:
Code:
abc__COUNTER__
abc__COUNTER__
However, when I change __COUNTER__ to __LINE__, it does work:
Code:
abc5
abc6
Am I doing something wrong here? __LINE__ just doesn't cut it for me in this situation...

Thanks in advance!