// RUN: %clang_cc1 -std=c++20 -fsyntax-only -Wheader-guard -verify %s // Regression test for Lexer::peekNextPPToken() saving/restoring MIOpt state. // In C++20 module mode, the preprocessor peeks the first pp-token in the main // file before lexing begins. That must not perturb MIOpt state used for // header-guard analysis. #ifndef GOOD_GUARD #define BAD_GUARD #endif // expected-warning@-3 {{'GOOD_GUARD' is used as a header guard here, followed by #define of a different macro}} // expected-note@-3 {{'BAD_GUARD' is defined here; did you mean 'GOOD_GUARD'?}}