107 lines · cpp
1// RUN: pp-trace -callbacks '*,-FileChanged,-MacroDefined' %s -- -target x86_64-unknown-windows-msvc -fms-extensions -w | FileCheck --strict-whitespace %s2 3#pragma comment(compiler, "compiler comment")4#pragma comment(exestr, "exestr comment")5#pragma comment(lib, "lib comment")6#pragma comment(linker, "linker comment")7#pragma comment(user, "user comment")8 9#pragma detect_mismatch("name argument", "value argument")10 11#pragma __debug(assert)12 13#pragma message("message argument")14 15#pragma warning(push, 1)16#pragma warning(pop)17#pragma warning(disable : 1 2 3 ; error : 4 5 6 ; suppress : 7 8 9)18 19// CHECK: ---20// CHECK-NEXT: - Callback: PragmaDirective21// CHECK-NEXT: Loc: "<built-in>:{{.+}}:1"22// CHECK-NEXT: Introducer: PIK_HashPragma23// CHECK-NEXT: - Callback: PragmaDirective24// CHECK-NEXT: Loc: "<built-in>:{{.+}}:1"25// CHECK-NEXT: Introducer: PIK_HashPragma26// CHECK-NEXT: - Callback: PragmaDirective27// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:3:1"28// CHECK-NEXT: Introducer: PIK_HashPragma29// CHECK-NEXT: - Callback: PragmaComment30// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:3:9"31// CHECK-NEXT: Kind: compiler32// CHECK-NEXT: Str: compiler comment33// CHECK-NEXT: - Callback: PragmaDirective34// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:4:1"35// CHECK-NEXT: Introducer: PIK_HashPragma36// CHECK-NEXT: - Callback: PragmaComment37// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:4:9"38// CHECK-NEXT: Kind: exestr39// CHECK-NEXT: Str: exestr comment40// CHECK-NEXT: - Callback: PragmaDirective41// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:5:1"42// CHECK-NEXT: Introducer: PIK_HashPragma43// CHECK-NEXT: - Callback: PragmaComment44// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:5:9"45// CHECK-NEXT: Kind: lib46// CHECK-NEXT: Str: lib comment47// CHECK-NEXT: - Callback: PragmaDirective48// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:6:1"49// CHECK-NEXT: Introducer: PIK_HashPragma50// CHECK-NEXT: - Callback: PragmaComment51// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:6:9"52// CHECK-NEXT: Kind: linker53// CHECK-NEXT: Str: linker comment54// CHECK-NEXT: - Callback: PragmaDirective55// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:7:1"56// CHECK-NEXT: Introducer: PIK_HashPragma57// CHECK-NEXT: - Callback: PragmaComment58// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:7:9"59// CHECK-NEXT: Kind: user60// CHECK-NEXT: Str: user comment61// CHECK-NEXT: - Callback: PragmaDirective62// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:9:1"63// CHECK-NEXT: Introducer: PIK_HashPragma64// CHECK-NEXT: - Callback: PragmaDetectMismatch65// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:9:9"66// CHECK-NEXT: Name: name argument67// CHECK-NEXT: Value: value argument68// CHECK-NEXT: - Callback: PragmaDirective69// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:11:1"70// CHECK-NEXT: Introducer: PIK_HashPragma71// CHECK-NEXT: - Callback: PragmaDirective72// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:13:1"73// CHECK-NEXT: Introducer: PIK_HashPragma74// CHECK-NEXT: - Callback: PragmaMessage75// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:13:9"76// CHECK-NEXT: Namespace:77// CHECK-NEXT: Kind: PMK_Message78// CHECK-NEXT: Str: message argument79// CHECK-NEXT: - Callback: PragmaDirective80// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:15:1"81// CHECK-NEXT: Introducer: PIK_HashPragma82// CHECK-NEXT: - Callback: PragmaWarningPush83// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:15:9"84// CHECK-NEXT: Level: 185// CHECK-NEXT: - Callback: PragmaDirective86// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:16:1"87// CHECK-NEXT: Introducer: PIK_HashPragma88// CHECK-NEXT: - Callback: PragmaWarningPop89// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:16:9"90// CHECK-NEXT: - Callback: PragmaDirective91// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:17:1"92// CHECK-NEXT: Introducer: PIK_HashPragma93// CHECK-NEXT: - Callback: PragmaWarning94// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:17:9"95// CHECK-NEXT: WarningSpec: PWS_Disable96// CHECK-NEXT: Ids: [1, 2, 3]97// CHECK-NEXT: - Callback: PragmaWarning98// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:17:9"99// CHECK-NEXT: WarningSpec: PWS_Error100// CHECK-NEXT: Ids: [4, 5, 6]101// CHECK-NEXT: - Callback: PragmaWarning102// CHECK-NEXT: Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:17:9"103// CHECK-NEXT: WarningSpec: PWS_Suppress104// CHECK-NEXT: Ids: [7, 8, 9]105// CHECK-NEXT: - Callback: EndOfMainFile106// CHECK-NEXT: ...107