Why does the (GCC) preprocessor create two tokens - -B
instead of a single one --B
in the following example? What is the logic that the former should be correct and not the latter?
#define A -B
-A
Output according to gcc -E
:
- -B
After all, --
is a valid operator, so theoretically a valid token as well.
Is this specific to the GCC preprocessor or does this follow from the C standards?