brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.7 KiB · 5bd38e0 Raw
111 lines · cpp
1// RUN: pp-trace -callbacks '*,-FileChanged' %s -- -undef -target x86_64 -std=c++11 | FileCheck --strict-whitespace %s2 3#define MACRO 14int i = MACRO;5#if defined(MACRO)6#endif7#undef MACRO8#if defined(MACRO)9#endif10#define FUNCMACRO(ARG1) ARG111int j = FUNCMACRO(1);12#define X X_IMPL(a+y,b) X_IMPL2(c)13#define X_IMPL(p1,p2)14#define X_IMPL2(p1)15X16 17// CHECK: ---18// CHECK-NEXT: - Callback: MacroDefined19// CHECK:        MacroNameTok: __STDC__20// CHECK-NEXT:   MacroDirective: MD_Define21// CHECK-NEXT: - Callback: MacroDefined22// CHECK:        MacroNameTok: __STDC_HOSTED__23// CHECK-NEXT:   MacroDirective: MD_Define24// CHECK-NEXT: - Callback: MacroDefined25// CHECK:        MacroNameTok: __cplusplus26// CHECK-NEXT:   MacroDirective: MD_Define27// CHECK-NEXT: - Callback: MacroDefined28// CHECK:        MacroNameTok: __STDC_UTF_16__29// CHECK-NEXT:   MacroDirective: MD_Define30// CHECK-NEXT: - Callback: MacroDefined31// CHECK:        MacroNameTok: __STDC_UTF_32__32// CHECK-NEXT:   MacroDirective: MD_Define33// CHECK:      - Callback: MacroDefined34// CHECK-NEXT:   MacroNameTok: __STDC_EMBED_NOT_FOUND__35// CHECK-NEXT:   MacroDirective: MD_Define36// CHECK:      - Callback: MacroDefined37// CHECK-NEXT:   MacroNameTok: __STDC_EMBED_FOUND__38// CHECK-NEXT:   MacroDirective: MD_Define39// CHECK:      - Callback: MacroDefined40// CHECK-NEXT:   MacroNameTok: __STDC_EMBED_EMPTY__41// CHECK-NEXT:   MacroDirective: MD_Define42// CHECK:      - Callback: MacroDefined43// CHECK-NEXT:   MacroNameTok: MACRO44// CHECK-NEXT:   MacroDirective: MD_Define45// CHECK-NEXT: - Callback: MacroExpands46// CHECK-NEXT:   MacroNameTok: MACRO47// CHECK-NEXT:   MacroDefinition: [(local)]48// CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-macro.cpp:4:9", "{{.*}}{{[/\\]}}pp-trace-macro.cpp:4:9"]49// CHECK-NEXT:   Args: (null)50// CHECK-NEXT: - Callback: Defined51// CHECK-NEXT:   MacroNameTok: MACRO52// CHECK-NEXT:   MacroDefinition: [(local)]53// CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-macro.cpp:5:5", "{{.*}}{{[/\\]}}pp-trace-macro.cpp:5:19"]54// CHECK-NEXT: - Callback: If55// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-macro.cpp:5:2"56// CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-macro.cpp:5:5", "{{.*}}{{[/\\]}}pp-trace-macro.cpp:5:19"]57// CHECK-NEXT:   ConditionValue: CVK_True58// CHECK-NEXT: - Callback: Endif59// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-macro.cpp:6:2"60// CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-macro.cpp:5:2"61// CHECK-NEXT: - Callback: MacroUndefined62// CHECK-NEXT:   MacroNameTok: MACRO63// CHECK-NEXT:   MacroDefinition: [(local)]64// CHECK-NEXT: - Callback: Defined65// CHECK-NEXT:   MacroNameTok: MACRO66// CHECK-NEXT:   MacroDefinition: []67// CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-macro.cpp:8:5", "{{.*}}{{[/\\]}}pp-trace-macro.cpp:8:19"]68// CHECK-NEXT: - Callback: If69// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-macro.cpp:8:2"70// CHECK-NEXT:   ConditionRange: ["{{.*}}{{[/\\]}}pp-trace-macro.cpp:8:5", "{{.*}}{{[/\\]}}pp-trace-macro.cpp:8:19"]71// CHECK-NEXT:   ConditionValue: CVK_False72// CHECK-NEXT: - Callback: Endif73// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-macro.cpp:9:2"74// CHECK-NEXT:   IfLoc: "{{.*}}{{[/\\]}}pp-trace-macro.cpp:8:2"75// CHECK-NEXT: - Callback: SourceRangeSkipped76// CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-macro.cpp:8:1", "{{.*}}{{[/\\]}}pp-trace-macro.cpp:9:2"]77// CHECK-NEXT: - Callback: MacroDefined78// CHECK-NEXT:   MacroNameTok: FUNCMACRO79// CHECK-NEXT:   MacroDirective: MD_Define80// CHECK-NEXT: - Callback: MacroExpands81// CHECK-NEXT:   MacroNameTok: FUNCMACRO82// CHECK-NEXT:   MacroDefinition: [(local)]83// CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-macro.cpp:11:9", "{{.*}}{{[/\\]}}pp-trace-macro.cpp:11:20"]84// CHECK-NEXT:   Args: [1]85// CHECK-NEXT: - Callback: MacroDefined86// CHECK-NEXT:   MacroNameTok: X87// CHECK-NEXT:   MacroDirective: MD_Define88// CHECK-NEXT: - Callback: MacroDefined89// CHECK-NEXT:   MacroNameTok: X_IMPL90// CHECK-NEXT:   MacroDirective: MD_Define91// CHECK-NEXT: - Callback: MacroDefined92// CHECK-NEXT:   MacroNameTok: X_IMPL293// CHECK-NEXT:   MacroDirective: MD_Define94// CHECK-NEXT: - Callback: MacroExpands95// CHECK-NEXT:   MacroNameTok: X96// CHECK-NEXT:   MacroDefinition: [(local)]97// CHECK-NEXT:   Range: ["{{.*}}{{[/\\]}}pp-trace-macro.cpp:15:1", "{{.*}}{{[/\\]}}pp-trace-macro.cpp:15:1"]98// CHECK-NEXT:   Args: (null)99// CHECK-NEXT: - Callback: MacroExpands100// CHECK-NEXT:   MacroNameTok: X_IMPL101// CHECK-NEXT:   MacroDefinition: [(local)]102// CHECK-NEXT:   Range: [(nonfile), (nonfile)]103// CHECK-NEXT:   Args: [a <plus> y, b]104// CHECK-NEXT: - Callback: MacroExpands105// CHECK-NEXT:   MacroNameTok: X_IMPL2106// CHECK-NEXT:   MacroDefinition: [(local)]107// CHECK-NEXT:   Range: [(nonfile), (nonfile)]108// CHECK-NEXT:   Args: [c]109// CHECK-NEXT: - Callback: EndOfMainFile110// CHECK-NEXT: ...111