llvm-project

Форк
0
/
pp-trace-pragma-ms.cpp 
106 строк · 4.6 Кб
1
// RUN: pp-trace -callbacks '*,-FileChanged,-MacroDefined' %s -- -target x86_64-unknown-windows-msvc -fms-extensions -w | FileCheck --strict-whitespace %s
2

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: PragmaDirective
21
// CHECK-NEXT:   Loc: "<built-in>:{{.+}}:1"
22
// CHECK-NEXT:   Introducer: PIK_HashPragma
23
// CHECK-NEXT: - Callback: PragmaDirective
24
// CHECK-NEXT:   Loc: "<built-in>:{{.+}}:1"
25
// CHECK-NEXT:   Introducer: PIK_HashPragma
26
// CHECK-NEXT: - Callback: PragmaDirective
27
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:3:1"
28
// CHECK-NEXT:   Introducer: PIK_HashPragma
29
// CHECK-NEXT: - Callback: PragmaComment
30
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:3:9"
31
// CHECK-NEXT:   Kind: compiler
32
// CHECK-NEXT:   Str: compiler comment
33
// CHECK-NEXT: - Callback: PragmaDirective
34
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:4:1"
35
// CHECK-NEXT:   Introducer: PIK_HashPragma
36
// CHECK-NEXT: - Callback: PragmaComment
37
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:4:9"
38
// CHECK-NEXT:   Kind: exestr
39
// CHECK-NEXT:   Str: exestr comment
40
// CHECK-NEXT: - Callback: PragmaDirective
41
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:5:1"
42
// CHECK-NEXT:   Introducer: PIK_HashPragma
43
// CHECK-NEXT: - Callback: PragmaComment
44
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:5:9"
45
// CHECK-NEXT:   Kind: lib
46
// CHECK-NEXT:   Str: lib comment
47
// CHECK-NEXT: - Callback: PragmaDirective
48
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:6:1"
49
// CHECK-NEXT:   Introducer: PIK_HashPragma
50
// CHECK-NEXT: - Callback: PragmaComment
51
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:6:9"
52
// CHECK-NEXT:   Kind: linker
53
// CHECK-NEXT:   Str: linker comment
54
// CHECK-NEXT: - Callback: PragmaDirective
55
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:7:1"
56
// CHECK-NEXT:   Introducer: PIK_HashPragma
57
// CHECK-NEXT: - Callback: PragmaComment
58
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:7:9"
59
// CHECK-NEXT:   Kind: user
60
// CHECK-NEXT:   Str: user comment
61
// CHECK-NEXT: - Callback: PragmaDirective
62
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:9:1"
63
// CHECK-NEXT:   Introducer: PIK_HashPragma
64
// CHECK-NEXT: - Callback: PragmaDetectMismatch
65
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:9:9"
66
// CHECK-NEXT:   Name: name argument
67
// CHECK-NEXT:   Value: value argument
68
// CHECK-NEXT: - Callback: PragmaDirective
69
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:11:1"
70
// CHECK-NEXT:   Introducer: PIK_HashPragma
71
// CHECK-NEXT: - Callback: PragmaDirective
72
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:13:1"
73
// CHECK-NEXT:   Introducer: PIK_HashPragma
74
// CHECK-NEXT: - Callback: PragmaMessage
75
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:13:9"
76
// CHECK-NEXT:   Namespace:
77
// CHECK-NEXT:   Kind: PMK_Message
78
// CHECK-NEXT:   Str: message argument
79
// CHECK-NEXT: - Callback: PragmaDirective
80
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:15:1"
81
// CHECK-NEXT:   Introducer: PIK_HashPragma
82
// CHECK-NEXT: - Callback: PragmaWarningPush
83
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:15:9"
84
// CHECK-NEXT:   Level: 1
85
// CHECK-NEXT: - Callback: PragmaDirective
86
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:16:1"
87
// CHECK-NEXT:   Introducer: PIK_HashPragma
88
// CHECK-NEXT: - Callback: PragmaWarningPop
89
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:16:9"
90
// CHECK-NEXT: - Callback: PragmaDirective
91
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:17:1"
92
// CHECK-NEXT:   Introducer: PIK_HashPragma
93
// CHECK-NEXT: - Callback: PragmaWarning
94
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:17:9"
95
// CHECK-NEXT:   WarningSpec: PWS_Disable
96
// CHECK-NEXT:   Ids: [1, 2, 3]
97
// CHECK-NEXT: - Callback: PragmaWarning
98
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:17:9"
99
// CHECK-NEXT:   WarningSpec: PWS_Error
100
// CHECK-NEXT:   Ids: [4, 5, 6]
101
// CHECK-NEXT: - Callback: PragmaWarning
102
// CHECK-NEXT:   Loc: "{{.*}}{{[/\\]}}pp-trace-pragma-ms.cpp:17:9"
103
// CHECK-NEXT:   WarningSpec: PWS_Suppress
104
// CHECK-NEXT:   Ids: [7, 8, 9]
105
// CHECK-NEXT: - Callback: EndOfMainFile
106
// CHECK-NEXT: ...
107

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.