xref: /llvm-project/clang/test/ClangScanDeps/preprocess_minimized_pragmas.cpp (revision b58a420ff4f92b085fd718600fda162059171a58)
1 // RUN: rm -rf %t.dir
2 // RUN: rm -rf %t.cdb
3 // RUN: mkdir -p %t.dir
4 // RUN: cp %s %t.dir/preprocess_minimized_pragmas_basic.cpp
5 // RUN: cp %s %t.dir/preprocess_minimized_pragmas_ms.cpp
6 // RUN: mkdir %t.dir/Inputs
7 // RUN: cp %S/Inputs/preprocess_minimized_pragmas.h %t.dir/Inputs/preprocess_minimized_pragmas.h
8 // RUN: touch %t.dir/Inputs/a.h
9 // RUN: touch %t.dir/Inputs/b.h
10 // RUN: touch %t.dir/Inputs/c.h
11 // RUN: touch %t.dir/Inputs/c_alias.h
12 // RUN: sed -e "s|DIR|%/t.dir|g" %S/Inputs/preprocess_minimized_pragmas_cdb.json > %t.cdb
13 //
14 // RUN: clang-scan-deps -compilation-database %t.cdb -j 1 -mode preprocess-dependency-directives | \
15 // RUN:   FileCheck %s
16 // RUN: clang-scan-deps -compilation-database %t.cdb -j 1 -mode preprocess | \
17 // RUN:   FileCheck %s
18 
19 #include "preprocess_minimized_pragmas.h"
20 
21 // CHECK: preprocess_minimized_pragmas_basic.cpp
22 // CHECK-NEXT: Inputs{{/|\\}}preprocess_minimized_pragmas.h
23 // CHECK-NEXT: Inputs{{/|\\}}a.h
24 // CHECK-NEXT: Inputs{{/|\\}}b.h
25 // Expect include aliasing alias "c_alias.h" -> "c.h" to fail when Microsoft extensions are off.
26 // CHECK-NEXT: Inputs{{/|\\}}c_alias.h
27 
28 // CHECK: preprocess_minimized_pragmas_ms.cpp
29 // CHECK-NEXT: Inputs{{/|\\}}preprocess_minimized_pragmas.h
30 // CHECK-NEXT: Inputs{{/|\\}}a.h
31 // CHECK-NEXT: Inputs{{/|\\}}b.h
32 // CHECK-NEXT: Inputs{{/|\\}}c.h
33