xref: /llvm-project/clang/test/ClangScanDeps/_Pragma-once.c (revision ee8ed0b3099e63ba0a18cca42b9cfdf098bc6201)
1*ee8ed0b3SBen Langmuir // Test scanning deps works with _Pragma syntax when not inside a macro.
2*ee8ed0b3SBen Langmuir 
3*ee8ed0b3SBen Langmuir // RUN: rm -rf %t
4*ee8ed0b3SBen Langmuir // RUN: split-file %s %t
5*ee8ed0b3SBen Langmuir // RUN: sed "s|DIR|%/t|g" %t/cdb.json.template > %t/cdb.json
6*ee8ed0b3SBen Langmuir 
7*ee8ed0b3SBen Langmuir // RUN: clang-scan-deps -compilation-database %t/cdb.json -j 1
8*ee8ed0b3SBen Langmuir 
9*ee8ed0b3SBen Langmuir //--- cdb.json.template
10*ee8ed0b3SBen Langmuir [{
11*ee8ed0b3SBen Langmuir   "directory": "DIR",
12*ee8ed0b3SBen Langmuir   "command": "clang -fsyntax-only DIR/tu.c",
13*ee8ed0b3SBen Langmuir   "file": "DIR/tu.c"
14*ee8ed0b3SBen Langmuir }]
15*ee8ed0b3SBen Langmuir 
16*ee8ed0b3SBen Langmuir //--- a.h
17*ee8ed0b3SBen Langmuir _Pragma("once")
18*ee8ed0b3SBen Langmuir #include "b.h"
19*ee8ed0b3SBen Langmuir 
20*ee8ed0b3SBen Langmuir //--- b.h
21*ee8ed0b3SBen Langmuir #include "a.h"
22*ee8ed0b3SBen Langmuir 
23*ee8ed0b3SBen Langmuir //--- tu.c
24*ee8ed0b3SBen Langmuir #include "a.h"
25