14fdcabf2SAnton Afanasyev // RUN: %clangxx -S -ftime-trace -ftime-trace-granularity=0 -o %T/check-time-trace %s
21f6c6027SIlya Biryukov // RUN: cat %T/check-time-trace.json \
37599da57SAnton Afanasyev // RUN: | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \
47599da57SAnton Afanasyev // RUN: | FileCheck %s
5*f5d9de8cSdongjunduo // RUN: %clangxx -S -ftime-trace=%T/new-name.json -ftime-trace-granularity=0 -o %T/check-time-trace %s
6*f5d9de8cSdongjunduo // RUN: cat %T/new-name.json \
7*f5d9de8cSdongjunduo // RUN: | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \
8*f5d9de8cSdongjunduo // RUN: | FileCheck %s
9*f5d9de8cSdongjunduo // RUN: rm -rf %T/output1 && mkdir %T/output1
10*f5d9de8cSdongjunduo // RUN: %clangxx -S -ftime-trace=%T/output1 -ftime-trace-granularity=0 -o %T/check-time-trace %s
11*f5d9de8cSdongjunduo // RUN: cat %T/output1/check-time-trace.json \
12*f5d9de8cSdongjunduo // RUN: | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \
13*f5d9de8cSdongjunduo // RUN: | FileCheck %s
14*f5d9de8cSdongjunduo // RUN: rm -rf %T/output2 && mkdir %T/output2
15*f5d9de8cSdongjunduo // RUN: %clangxx -S -ftime-trace=%T/output2/ -ftime-trace-granularity=0 -o %T/check-time-trace %s
16*f5d9de8cSdongjunduo // RUN: cat %T/output2/check-time-trace.json \
17*f5d9de8cSdongjunduo // RUN: | %python -c 'import json, sys; json.dump(json.loads(sys.stdin.read()), sys.stdout, sort_keys=True, indent=2)' \
18*f5d9de8cSdongjunduo // RUN: | FileCheck %s
197599da57SAnton Afanasyev
2028991031SSergej Jaskiewicz // CHECK: "beginningOfTime": {{[0-9]{16},}}
2128991031SSergej Jaskiewicz // CHECK-NEXT: "traceEvents": [
227599da57SAnton Afanasyev // CHECK: "args":
237599da57SAnton Afanasyev // CHECK: "detail":
247599da57SAnton Afanasyev // CHECK: "dur":
257599da57SAnton Afanasyev // CHECK: "name":
267599da57SAnton Afanasyev // CHECK-NEXT: "ph":
277599da57SAnton Afanasyev // CHECK-NEXT: "pid":
287599da57SAnton Afanasyev // CHECK-NEXT: "tid":
297599da57SAnton Afanasyev // CHECK-NEXT: "ts":
30aedeab7fSRussell Gallop // CHECK: "name": "clang{{.*}}"
317599da57SAnton Afanasyev // CHECK: "name": "process_name"
32a5bf0281SSergej Jaskiewicz // CHECK: "name": "thread_name"
337599da57SAnton Afanasyev
347599da57SAnton Afanasyev template <typename T>
357599da57SAnton Afanasyev struct Struct {
367599da57SAnton Afanasyev T Num;
377599da57SAnton Afanasyev };
387599da57SAnton Afanasyev
main()397599da57SAnton Afanasyev int main() {
407599da57SAnton Afanasyev Struct<int> S;
417599da57SAnton Afanasyev
427599da57SAnton Afanasyev return 0;
437599da57SAnton Afanasyev }
44