summaryrefslogtreecommitdiff
path: root/clang/test/ClangScanDeps/response-file.c
blob: c08105c1272029428201e52bb00801fb4e9f3965 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Check that the scanner can handle a response file input.

// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: sed -e "s|DIR|%/t|g" %t/cdb.json.template > %t/cdb.json

// RUN: clang-scan-deps -format experimental-full -compilation-database %t/cdb.json > %t/deps.json

// RUN: cat %t/deps.json | sed 's:\\\\\?:/:g' | FileCheck -DPREFIX=%/t %s

// CHECK:      "command-line": [
// CHECK:        "-fsyntax-only"
// CHECK:        "-x"
// CHECK-NEXT:   "c"
// CHECK:        "tu.c"
// CHECK:        "-I"
// CHECK-NEXT:   "include"
// CHECK:      ],
// CHECK:      "file-deps": [
// CHECK-NEXT:   "[[PREFIX]]/tu.c"
// CHECK-NEXT:   "[[PREFIX]]/include/header.h"
// CHECK-NEXT: ]

//--- cdb.json.template
[{
  "file": "DIR/t.c",
  "directory": "DIR",
  "command": "clang @DIR/args.txt"
}]

//--- args.txt
@args_nested.txt
-fsyntax-only tu.c

//--- args_nested.txt
-I include

//--- include/header.h

//--- tu.c
#include "header.h"