1 // RUN: pp-trace -callbacks '*,-FileChanged,-MacroDefined' %s -- -x cl | FileCheck --strict-whitespace %s
2 
3 #pragma OPENCL EXTENSION all : disable
4 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : disable
5 #pragma OPENCL EXTENSION cl_khr_int64_base_atomics : enable
6 
7 // CHECK: ---
8 // CHECK-NEXT: - Callback: PragmaDirective
9 // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-opencl.cpp:3:1"
10 // CHECK-NEXT:   Introducer: PIK_HashPragma
11 // CHECK-NEXT: - Callback: PragmaOpenCLExtension
12 // CHECK-NEXT:   NameLoc: "{{.*}}{{[/\\]}}pp-trace-pragma-opencl.cpp:3:26"
13 // CHECK-NEXT:   Name: all
14 // CHECK-NEXT:   StateLoc: "{{.*}}{{[/\\]}}pp-trace-pragma-opencl.cpp:3:32"
15 // CHECK-NEXT:   State: 0
16 // CHECK-NEXT: - Callback: PragmaDirective
17 // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-opencl.cpp:4:1"
18 // CHECK-NEXT:   Introducer: PIK_HashPragma
19 // CHECK-NEXT: - Callback: PragmaOpenCLExtension
20 // CHECK-NEXT:   NameLoc: "{{.*}}{{[/\\]}}pp-trace-pragma-opencl.cpp:4:26"
21 // CHECK-NEXT:   Name: cl_khr_int64_base_atomics
22 // CHECK-NEXT:   StateLoc: "{{.*}}{{[/\\]}}pp-trace-pragma-opencl.cpp:4:54"
23 // CHECK-NEXT:   State: 0
24 // CHECK-NEXT: - Callback: PragmaDirective
25 // CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-opencl.cpp:5:1"
26 // CHECK-NEXT:   Introducer: PIK_HashPragma
27 // CHECK-NEXT: - Callback: PragmaOpenCLExtension
28 // CHECK-NEXT:   NameLoc: "{{.*}}{{[/\\]}}pp-trace-pragma-opencl.cpp:5:26"
29 // CHECK-NEXT:   Name: cl_khr_int64_base_atomics
30 // CHECK-NEXT:   StateLoc: "{{.*}}{{[/\\]}}pp-trace-pragma-opencl.cpp:5:54"
31 // CHECK-NEXT:   State: 1
32 // CHECK-NEXT: - Callback: EndOfMainFile
33 // CHECK-NEXT: ...
34