http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57208
--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> --- int main() {} #define A(n) __attribute__ ((used, externally_visible)) int \ ttiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii \ ## iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii \ ## iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii##n() {} #define B(n) A(n##0)A(n##1)A(n##2)A(n##3)A(n##4)A(n##5)A(n##6)A(n##7)A(n##8)A(n##9) #define C(n) B(n##0)B(n##1)B(n##2)B(n##3)B(n##4)B(n##5)B(n##6)B(n##7)B(n##8)B(n##9) #define D(n) C(n##0)C(n##1)C(n##2)C(n##3)C(n##4)C(n##5)C(n##6)C(n##7)C(n##8)C(n##9) #define E(n) D(n##0)D(n##1)D(n##2)D(n##3)D(n##4)D(n##5)D(n##6)D(n##7)D(n##8)D(n##9) E(0)E(1)E(2)E(3)E(4)E(5)E(6) (well, if you don't mind 00001 as opposed to 1 etc.).