Hello.
I'm not really understand in what order this should expand, and why not otherwise, but: 'we have what we have'.
// The definition's and TokenSequence:
#define A(x) C(B, D
#define D A(1))
#define C(x,y) E(y)
#define E(y) #y
A(2))
Clang, gcc, tcc preprocess this text equally: "\"D\""
But cscout has another result: "A(1)")
(Intel compiler has similar result.)
Anyway, perhaps, this is an excellent example for the next test suite.
With respect and best regards.