1// RUN: %check_clang_tidy %s readability-redundant-preprocessor %t -- -- -DFOO
2
3// Positive testing.
4#ifdef FOO
5// CHECK-NOTES: [[@LINE+1]]:2: warning: nested redundant #ifdef; consider removing it [readability-redundant-preprocessor]
6#ifdef FOO
7// CHECK-NOTES: [[@LINE-3]]:2: note: previous #ifdef was here
8void f();
9#endif
10#endif
11
12// Positive testing of inverted condition.
13#ifdef FOO
14// CHECK-NOTES: [[@LINE+1]]:2: warning: nested redundant #ifndef; consider removing it [readability-redundant-preprocessor]
15#ifndef FOO
16// CHECK-NOTES: [[@LINE-3]]:2: note: previous #ifdef was here
17void f2();
18#endif
19#endif
20
21// Negative testing.
22#ifdef BAR
23void g();
24#endif
25
26#ifdef FOO
27#ifdef BAR
28void h();
29#endif
30#endif
31
32#ifdef FOO
33#ifndef BAR
34void i();
35#endif
36#endif
37

source code of clang-tools-extra/test/clang-tidy/checkers/readability/redundant-preprocessor-ifdef.cpp