1 // RUN: %clang_cc1 -Eonly -verify %s 2 3 #if 0 4 #if 1 5 #endif junk // shouldn't produce diagnostics 6 #endif 7 8 #if 0 9 #endif junk // expected-warning{{extra tokens at end of #endif directive}} 10 11 #if 1 junk // expected-error{{token is not a valid binary operator in a preprocessor subexpression}} 12 #X // shouldn't produce diagnostics (block #if condition not valid, so skipped) 13 #else 14 #X // expected-error{{invalid preprocessing directive}} 15 #endif 16 17 #if 0 18 // diagnostics should not be produced until final #endif 19 #X 20 #include 21 #if 1 junk 22 #else junk 23 #endif junk 24 #line -2 25 #error 26 #warning 27 #endif junk // expected-warning{{extra tokens at end of #endif directive}} 28