150 lines · cpp
1// RUN: pp-trace %s -- -undef -target x86_64 -std=c++11 | FileCheck --strict-whitespace %s2 3#include "Inputs/Level1A.h"4#include "Inputs/Level1B.h"5 6// CHECK: ---7// CHECK-NEXT: - Callback: FileChanged8// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:1:1"9// CHECK-NEXT: Reason: EnterFile10// CHECK-NEXT: FileType: C_User11// CHECK-NEXT: PrevFID: (invalid)12// CHECK-NEXT: - Callback: FileChanged13// CHECK-NEXT: Loc: "<built-in>:1:1"14// CHECK-NEXT: Reason: EnterFile15// CHECK-NEXT: FileType: C_User16// CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}pp-trace-include.cpp"17// CHECK-NEXT: - Callback: FileChanged18// CHECK-NEXT: Loc: "<built-in>:1:1"19// CHECK-NEXT: Reason: RenameFile20// CHECK-NEXT: FileType: C_System21// CHECK-NEXT: PrevFID: (invalid)22// CHECK-NEXT: - Callback: MacroDefined23// CHECK: MacroNameTok: __STDC__24// CHECK-NEXT: MacroDirective: MD_Define25// CHECK-NEXT: - Callback: MacroDefined26// CHECK: MacroNameTok: __STDC_HOSTED__27// CHECK-NEXT: MacroDirective: MD_Define28// CHECK-NEXT: - Callback: MacroDefined29// CHECK: MacroNameTok: __cplusplus30// CHECK-NEXT: MacroDirective: MD_Define31// CHECK-NEXT: - Callback: MacroDefined32// CHECK: MacroNameTok: __STDC_UTF_16__33// CHECK-NEXT: MacroDirective: MD_Define34// CHECK-NEXT: - Callback: MacroDefined35// CHECK: MacroNameTok: __STDC_UTF_32__36// CHECK-NEXT: MacroDirective: MD_Define37// CHECK: - Callback: FileChanged38// CHECK-NEXT: Loc: "<command line>:1:1"39// CHECK-NEXT: Reason: EnterFile40// CHECK-NEXT: FileType: C_User41// CHECK-NEXT: PrevFID: (invalid)42// CHECK: - Callback: FileChanged43// CHECK-NEXT: Loc: "<built-in>:1:1"44// CHECK-NEXT: Reason: ExitFile45// CHECK-NEXT: FileType: C_User46// CHECK-NEXT: PrevFID: (invalid)47// CHECK-NEXT: - Callback: FileChanged48// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:1:1"49// CHECK-NEXT: Reason: ExitFile50// CHECK-NEXT: FileType: C_User51// CHECK-NEXT: PrevFID: (getFileEntryForID failed)52// CHECK-NEXT: - Callback: InclusionDirective53// CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:3:1"54// CHECK-NEXT: IncludeTok: include55// CHECK-NEXT: FileName: "Inputs/Level1A.h"56// CHECK-NEXT: IsAngled: false57// 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: SuggestedModule: (null)62// CHECK-NEXT: ModuleImported: false63// CHECK-NEXT: - Callback: FileChanged64// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1A.h:1:1"65// CHECK-NEXT: Reason: EnterFile66// CHECK-NEXT: FileType: C_User67// CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}pp-trace-include.cpp"68// CHECK-NEXT: - Callback: InclusionDirective69// CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}Inputs/Level1A.h:1:1"70// CHECK-NEXT: IncludeTok: include71// CHECK-NEXT: FileName: "Level2A.h"72// CHECK-NEXT: IsAngled: false73// CHECK-NEXT: FilenameRange: "Level2A.h"74// CHECK-NEXT: File: "{{.*}}{{[/\\]}}Inputs/Level2A.h"75// CHECK-NEXT: SearchPath: "{{.*}}{{[/\\]}}Inputs"76// CHECK-NEXT: RelativePath: "Level2A.h"77// CHECK-NEXT: SuggestedModule: (null)78// CHECK-NEXT: ModuleImported: false79// CHECK-NEXT: - Callback: FileChanged80// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level2A.h:1:1"81// CHECK-NEXT: Reason: EnterFile82// CHECK-NEXT: FileType: C_User83// CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level1A.h"84// CHECK-NEXT: - Callback: MacroDefined85// CHECK-NEXT: MacroNameTok: MACRO_2A86// CHECK-NEXT: MacroDirective: MD_Define87// CHECK-NEXT: - Callback: FileChanged88// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1A.h:2:1"89// CHECK-NEXT: Reason: ExitFile90// CHECK-NEXT: FileType: C_User91// CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level2A.h"92// CHECK-NEXT: - Callback: MacroDefined93// CHECK-NEXT: MacroNameTok: MACRO_1A94// CHECK-NEXT: MacroDirective: MD_Define95// CHECK-NEXT: - Callback: FileChanged96// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:4:1"97// CHECK-NEXT: Reason: ExitFile98// CHECK-NEXT: FileType: C_User99// CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level1A.h"100// CHECK-NEXT: - Callback: InclusionDirective101// CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:4:1"102// CHECK-NEXT: IncludeTok: include103// CHECK-NEXT: FileName: "Inputs/Level1B.h"104// CHECK-NEXT: IsAngled: false105// CHECK-NEXT: FilenameRange: "Inputs/Level1B.h"106// CHECK-NEXT: File: "{{.*}}{{[/\\]}}Inputs/Level1B.h"107// CHECK-NEXT: SearchPath: "{{.*}}{{[/\\]}}pp-trace"108// CHECK-NEXT: RelativePath: "Inputs/Level1B.h"109// CHECK-NEXT: SuggestedModule: (null)110// CHECK-NEXT: ModuleImported: false111// CHECK-NEXT: - Callback: FileChanged112// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1B.h:1:1"113// CHECK-NEXT: Reason: EnterFile114// CHECK-NEXT: FileType: C_User115// CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}pp-trace-include.cpp"116// CHECK-NEXT: - Callback: InclusionDirective117// CHECK-NEXT: HashLoc: "{{.*}}{{[/\\]}}Inputs/Level1B.h:1:1"118// CHECK-NEXT: IncludeTok: include119// CHECK-NEXT: FileName: "Level2B.h"120// CHECK-NEXT: IsAngled: false121// CHECK-NEXT: FilenameRange: "Level2B.h"122// CHECK-NEXT: File: "{{.*}}{{[/\\]}}Inputs/Level2B.h"123// CHECK-NEXT: SearchPath: "{{.*}}{{[/\\]}}Inputs"124// CHECK-NEXT: RelativePath: "Level2B.h"125// CHECK-NEXT: SuggestedModule: (null)126// CHECK-NEXT: ModuleImported: false127// CHECK-NEXT: - Callback: FileChanged128// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level2B.h:1:1"129// CHECK-NEXT: Reason: EnterFile130// CHECK-NEXT: FileType: C_User131// CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level1B.h"132// CHECK-NEXT: - Callback: MacroDefined133// CHECK-NEXT: MacroNameTok: MACRO_2B134// CHECK-NEXT: MacroDirective: MD_Define135// CHECK-NEXT: - Callback: FileChanged136// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}Inputs/Level1B.h:2:1"137// CHECK-NEXT: Reason: ExitFile138// CHECK-NEXT: FileType: C_User139// CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level2B.h"140// CHECK-NEXT: - Callback: MacroDefined141// CHECK-NEXT: MacroNameTok: MACRO_1B142// CHECK-NEXT: MacroDirective: MD_Define143// CHECK-NEXT: - Callback: FileChanged144// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-include.cpp:5:1"145// CHECK-NEXT: Reason: ExitFile146// CHECK-NEXT: FileType: C_User147// CHECK-NEXT: PrevFID: "{{.*}}{{[/\\]}}Inputs/Level1B.h"148// CHECK-NEXT: - Callback: EndOfMainFile149// CHECK-NEXT: ...150