[WARNING]
The concatenation operator ## is used to concatenate symbols. If the resulting symbol is not a legal one, this message is issued. Note: The pragma MESSAGE does not apply to this message because it is issued in the preprocessing phase.
#define concat(a,b) a ## b
void foo(int a) {
a concat(=,@) 5; // message: =@ is not a legal symbol
}
Check your macro definition. Generate a preprocessor output (option -Lp) to find the problem.