1 // RUN: pp-trace %s -- -undef -target x86_64 -std=c++11 | FileCheck --strict-whitespace %s 2 3 #include "Inputs/Level1A.h" 4 #include "Inputs/Level1B.h" 5 6 // CHECK: --- 7 // CHECK-NEXT: - Callback: FileChanged 8 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:1:1" 9 // CHECK-NEXT: Reason: EnterFile 10 // CHECK-NEXT: FileType: C_User 11 // CHECK-NEXT: PrevFID: (invalid) 12 // CHECK-NEXT: - Callback: FileChanged 13 // CHECK-NEXT: Loc: "<built-in>:1:1" 14 // CHECK-NEXT: Reason: EnterFile 15 // CHECK-NEXT: FileType: C_User 16 // CHECK-NEXT: PrevFID: (invalid) 17 // CHECK-NEXT: - Callback: FileChanged 18 // CHECK-NEXT: Loc: "<built-in>:1:1" 19 // CHECK-NEXT: Reason: RenameFile 20 // CHECK-NEXT: FileType: C_System 21 // CHECK-NEXT: PrevFID: (invalid) 22 // CHECK-NEXT: - Callback: MacroDefined 23 // CHECK: MacroNameTok: __STDC__ 24 // CHECK-NEXT: MacroDirective: MD_Define 25 // CHECK-NEXT: - Callback: MacroDefined 26 // CHECK: MacroNameTok: __STDC_HOSTED__ 27 // CHECK-NEXT: MacroDirective: MD_Define 28 // CHECK-NEXT: - Callback: MacroDefined 29 // CHECK: MacroNameTok: __cplusplus 30 // CHECK-NEXT: MacroDirective: MD_Define 31 // CHECK-NEXT: - Callback: MacroDefined 32 // CHECK: MacroNameTok: __STDC_UTF_16__ 33 // CHECK-NEXT: MacroDirective: MD_Define 34 // CHECK-NEXT: - Callback: MacroDefined 35 // CHECK: MacroNameTok: __STDC_UTF_32__ 36 // CHECK-NEXT: MacroDirective: MD_Define 37 // CHECK: - Callback: FileChanged 38 // CHECK-NEXT: Loc: "<command line>:1:1" 39 // CHECK-NEXT: Reason: EnterFile 40 // CHECK-NEXT: FileType: C_User 41 // CHECK-NEXT: PrevFID: (invalid) 42 // CHECK: - Callback: MacroDefined 43 // CHECK: - Callback: FileChanged 44 // CHECK-NEXT: Loc: "<built-in>:1:1" 45 // CHECK-NEXT: Reason: ExitFile 46 // CHECK-NEXT: FileType: C_User 47 // CHECK-NEXT: PrevFID: (invalid) 48 // CHECK-NEXT: - Callback: FileChanged 49 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:1:1" 50 // CHECK-NEXT: Reason: ExitFile 51 // CHECK-NEXT: FileType: C_User 52 // CHECK-NEXT: PrevFID: (getFileEntryForID failed) 53 // CHECK-NEXT: - Callback: InclusionDirective 54 // CHECK-NEXT: IncludeTok: include 55 // CHECK-NEXT: FileName: "Inputs/Level1A.h" 56 // CHECK-NEXT: IsAngled: false 57 // CHECK-NEXT: FilenameRange: "Inputs/Level1A.h" 58 // CHECK-NEXT: File: "{{.*}}{{[/\\]}}Inputs/Level1A.h" 59 // CHECK-NEXT: SearchPath: "{{.*}}{{[/\\]}}pp-trace" 60 // CHECK-NEXT: RelativePath: "Inputs/Level1A.h" 61 // CHECK-NEXT: Imported: (null) 62 // CHECK-NEXT: - Callback: FileChanged 63 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1A.h:1:1" 64 // CHECK-NEXT: Reason: EnterFile 65 // CHECK-NEXT: FileType: C_User 66 // CHECK-NEXT: PrevFID: (invalid) 67 // CHECK-NEXT: - Callback: InclusionDirective 68 // CHECK-NEXT: IncludeTok: include 69 // CHECK-NEXT: FileName: "Level2A.h" 70 // CHECK-NEXT: IsAngled: false 71 // CHECK-NEXT: FilenameRange: "Level2A.h" 72 // CHECK-NEXT: File: "{{.*}}{{[/\\]}}Inputs/Level2A.h" 73 // CHECK-NEXT: SearchPath: "{{.*}}{{[/\\]}}Inputs" 74 // CHECK-NEXT: RelativePath: "Level2A.h" 75 // CHECK-NEXT: Imported: (null) 76 // CHECK-NEXT: - Callback: FileChanged 77 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level2A.h:1:1" 78 // CHECK-NEXT: Reason: EnterFile 79 // CHECK-NEXT: FileType: C_User 80 // CHECK-NEXT: PrevFID: (invalid) 81 // CHECK-NEXT: - Callback: MacroDefined 82 // CHECK-NEXT: MacroNameTok: MACRO_2A 83 // CHECK-NEXT: MacroDirective: MD_Define 84 // CHECK-NEXT: - Callback: FileChanged 85 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1A.h:2:1" 86 // CHECK-NEXT: Reason: ExitFile 87 // CHECK-NEXT: FileType: C_User 88 // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level2A.h" 89 // CHECK-NEXT: - Callback: MacroDefined 90 // CHECK-NEXT: MacroNameTok: MACRO_1A 91 // CHECK-NEXT: MacroDirective: MD_Define 92 // CHECK-NEXT: - Callback: FileChanged 93 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:4:1" 94 // CHECK-NEXT: Reason: ExitFile 95 // CHECK-NEXT: FileType: C_User 96 // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level1A.h" 97 // CHECK-NEXT: - Callback: InclusionDirective 98 // CHECK-NEXT: IncludeTok: include 99 // CHECK-NEXT: FileName: "Inputs/Level1B.h" 100 // CHECK-NEXT: IsAngled: false 101 // CHECK-NEXT: FilenameRange: "Inputs/Level1B.h" 102 // CHECK-NEXT: File: "{{.*}}{{[/\\]}}Inputs/Level1B.h" 103 // CHECK-NEXT: SearchPath: "{{.*}}{{[/\\]}}pp-trace" 104 // CHECK-NEXT: RelativePath: "Inputs/Level1B.h" 105 // CHECK-NEXT: Imported: (null) 106 // CHECK-NEXT: - Callback: FileChanged 107 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1B.h:1:1" 108 // CHECK-NEXT: Reason: EnterFile 109 // CHECK-NEXT: FileType: C_User 110 // CHECK-NEXT: PrevFID: (invalid) 111 // CHECK-NEXT: - Callback: InclusionDirective 112 // CHECK-NEXT: IncludeTok: include 113 // CHECK-NEXT: FileName: "Level2B.h" 114 // CHECK-NEXT: IsAngled: false 115 // CHECK-NEXT: FilenameRange: "Level2B.h" 116 // CHECK-NEXT: File: "{{.*}}{{[/\\]}}Inputs/Level2B.h" 117 // CHECK-NEXT: SearchPath: "{{.*}}{{[/\\]}}Inputs" 118 // CHECK-NEXT: RelativePath: "Level2B.h" 119 // CHECK-NEXT: Imported: (null) 120 // CHECK-NEXT: - Callback: FileChanged 121 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level2B.h:1:1" 122 // CHECK-NEXT: Reason: EnterFile 123 // CHECK-NEXT: FileType: C_User 124 // CHECK-NEXT: PrevFID: (invalid) 125 // CHECK-NEXT: - Callback: MacroDefined 126 // CHECK-NEXT: MacroNameTok: MACRO_2B 127 // CHECK-NEXT: MacroDirective: MD_Define 128 // CHECK-NEXT: - Callback: FileChanged 129 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1B.h:2:1" 130 // CHECK-NEXT: Reason: ExitFile 131 // CHECK-NEXT: FileType: C_User 132 // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level2B.h" 133 // CHECK-NEXT: - Callback: MacroDefined 134 // CHECK-NEXT: MacroNameTok: MACRO_1B 135 // CHECK-NEXT: MacroDirective: MD_Define 136 // CHECK-NEXT: - Callback: FileChanged 137 // CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:5:1" 138 // CHECK-NEXT: Reason: ExitFile 139 // CHECK-NEXT: FileType: C_User 140 // CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level1B.h" 141 // CHECK-NEXT: - Callback: EndOfMainFile 142 // CHECK-NEXT: ... 143