diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Lexer/Inputs/bad-header-guard-defined.h | 4 | ||||
-rw-r--r-- | clang/test/Lexer/header.cpp | 12 |
2 files changed, 15 insertions, 1 deletions
diff --git a/clang/test/Lexer/Inputs/bad-header-guard-defined.h b/clang/test/Lexer/Inputs/bad-header-guard-defined.h new file mode 100644 index 00000000000..b28f1a8873e --- /dev/null +++ b/clang/test/Lexer/Inputs/bad-header-guard-defined.h @@ -0,0 +1,4 @@ +#if !defined(foo) +#define goo +int n; +#endif diff --git a/clang/test/Lexer/header.cpp b/clang/test/Lexer/header.cpp index 278ff2e4323..047240ac0f7 100644 --- a/clang/test/Lexer/header.cpp +++ b/clang/test/Lexer/header.cpp @@ -17,6 +17,16 @@ // CHECK: {{^}} ^~~~~~~~~ // CHECK: {{^}} bad_header_guard +#include "Inputs/bad-header-guard-defined.h" +// CHECK: In file included from {{.*}}header.cpp:{{[0-9]*}}: +// CHECK: {{.*}}bad-header-guard-defined.h:1:2: warning: 'foo' is used as a header guard here, followed by #define of a different macro +// CHECK: {{^}}#if !defined(foo) +// CHECK: {{^}} ^~ +// CHECK: {{.*}}bad-header-guard-defined.h:2:9: note: 'goo' is defined here; did you mean 'foo'? +// CHECK: {{^}}#define goo +// CHECK: {{^}} ^~~ +// CHECK: {{^}} foo + #include "Inputs/multiple.h" #include "Inputs/multiple.h" #include "Inputs/multiple.h" @@ -30,4 +40,4 @@ // CHECK: {{^}} ^~~~~ // CHECK: {{^}} multiple -// CHECK: 2 warnings generated. +// CHECK: 3 warnings generated. |