xref: /llvm-project/clang/test/Driver/gen-cdb-fragment.c (revision f8907fa6f4b77b5daddb796d16cceca64e3f7cbe)
18679ef4eSAlex Lorenz // REQUIRES: x86-registered-target
28679ef4eSAlex Lorenz // RUN: rm -rf %t.cdb
38679ef4eSAlex Lorenz // RUN: %clang -target x86_64-apple-macos10.15 -c %s -o -  -gen-cdb-fragment-path %t.cdb
48679ef4eSAlex Lorenz // RUN: ls %t.cdb | FileCheck --check-prefix=CHECK-LS %s
58679ef4eSAlex Lorenz // CHECK-LS: gen-cdb-fragment.c.{{.*}}.json
68679ef4eSAlex Lorenz 
78679ef4eSAlex Lorenz // RUN: cat %t.cdb/*.json | FileCheck --check-prefix=CHECK %s
88679ef4eSAlex Lorenz // CHECK: { "directory": "{{.*}}", "file": "{{.*}}gen-cdb-fragment.c", "output": "-", "arguments": [{{.*}}, "--target=x86_64-apple-macos10.15"{{.*}}]},
98679ef4eSAlex Lorenz // RUN: cat %t.cdb/*.json | FileCheck --check-prefix=CHECK-FLAG %s
108679ef4eSAlex Lorenz // CHECK-FLAG-NOT: -gen-cdb-fragment-path
118679ef4eSAlex Lorenz 
128679ef4eSAlex Lorenz // RUN: rm -rf %t.cdb
138679ef4eSAlex Lorenz // RUN: mkdir %t.cdb
148679ef4eSAlex Lorenz // RUN: ls %t.cdb | not FileCheck --check-prefix=CHECK-LS %s
158679ef4eSAlex Lorenz // RUN: %clang -target x86_64-apple-macos10.15 -S %s -o -  -gen-cdb-fragment-path %t.cdb
168679ef4eSAlex Lorenz // RUN: ls %t.cdb | FileCheck --check-prefix=CHECK-LS %s
178679ef4eSAlex Lorenz 
18*f8907fa6SJan Korous // Working directory arg is respected.
19*f8907fa6SJan Korous // RUN: rm -rf %t.cdb
20*f8907fa6SJan Korous // RUN: mkdir %t.cdb
21*f8907fa6SJan Korous // RUN: %clang -target x86_64-apple-macos10.15 -working-directory %t.cdb -c %s -o -  -gen-cdb-fragment-path "."
22*f8907fa6SJan Korous // RUN: ls %t.cdb | FileCheck --check-prefix=CHECK-LS %s
23*f8907fa6SJan Korous // RUN: cat %t.cdb/*.json | FileCheck --check-prefix=CHECK-CWD %s
24*f8907fa6SJan Korous // CHECK-CWD: "directory": "{{.*}}.cdb"
25*f8907fa6SJan Korous 
268679ef4eSAlex Lorenz // -### does not emit the CDB fragment
278679ef4eSAlex Lorenz // RUN: rm -rf %t.cdb
288679ef4eSAlex Lorenz // RUN: mkdir %t.cdb
298679ef4eSAlex Lorenz // RUN: %clang -target x86_64-apple-macos10.15 -S %s -o -  -gen-cdb-fragment-path %t.cdb -###
308679ef4eSAlex Lorenz // RUN: ls %t.cdb | not FileCheck --check-prefix=CHECK-LS %s
318679ef4eSAlex Lorenz 
328679ef4eSAlex Lorenz // -MJ is preferred over -gen-cdb-fragment-path
338679ef4eSAlex Lorenz // RUN: rm -rf %t.cdb
348679ef4eSAlex Lorenz // RUN: mkdir %t.cdb
358679ef4eSAlex Lorenz // RUN: %clang -target x86_64-apple-macos10.15 -S %s -o -  -gen-cdb-fragment-path %t.cdb -MJ %t.out
368679ef4eSAlex Lorenz // RUN: ls %t.cdb | not FileCheck --check-prefix=CHECK-LS %s
378679ef4eSAlex Lorenz // RUN: FileCheck %s < %t.out
38