blob: 8f3e9f49cf1b6cc45c3e2a005a793bb2220fbe39 [file]
// 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'?}}