1// RUN: %clang_cc1 -P -E -fms-extensions %s | FileCheck -strict-whitespace %s 2 3// This horrible stuff should preprocess into (other than whitespace): 4// int foo; 5// int bar; 6// int baz; 7 8int foo; 9 10// CHECK: int foo; 11 12#define comment /##/ dead tokens live here 13comment This is stupidity 14 15int bar; 16 17// CHECK: int bar; 18 19#define nested(x) int x comment cute little dead tokens... 20 21nested(baz) rise of the dead tokens 22 23; 24 25// CHECK: int baz 26// CHECK: ; 27 28 29// rdar://8197149 - VC++ allows invalid token pastes: (##baz 30#define foo(x) abc(x) 31#define bar(y) foo(##baz(y)) 32bar(q) 33 34// CHECK: abc(baz(q)) 35