// RUN: %clang_cc1 -Eonly -verify %s #if 0 #if 1 #endif junk // shouldn't produce diagnostics #endif #if 0 #endif junk // expected-warning{{extra tokens at end of #endif directive}} #if 1 junk // expected-error{{token is not a valid binary operator in a preprocessor subexpression}} #X // shouldn't produce diagnostics (block #if condition not valid, so skipped) #else #X // expected-error{{invalid preprocessing directive}} #endif #if 0 // diagnostics should not be produced until final #endif #X #include #if 1 junk #else junk #endif junk #line -2 #error #warning #endif junk // expected-warning{{extra tokens at end of #endif directive}}