Предположим, что нам дан этот код ввода C:
#define Y 20
#define A(x) (10+x+Y)
A(A(40))
gcc -E выводится как (10+(10+40 +20)+20).
gcc -E -traditional-cpp выводится как (10+(10+40+20)+20).
Почему по умолчанию cpp вставляет пробел после 40?
Где я могу найти наиболее подробную спецификацию cpp, которая покрывает эту логику?