forked from wskellenger-intrepid/warning_scraper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
VisualStudio.py
871 lines (855 loc) · 108 KB
/
VisualStudio.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
import pyparsing as pp
from pathlib import Path
from Warning import Warning, OfficialWarningDesc, Severity
from LineParser import LineParser
import pp_defs
from linecache import getline
from util import getpathfrom
#warning, description, and severity (using gitlab severity levels: info, minor, major, critical, blocker)
all_warnings = {
"C4000":OfficialWarningDesc("C4000",r"UNKNOWN WARNING",Severity.minor),
"C4001":OfficialWarningDesc("C4001",r"nonstandard extension 'single line comment' was used",Severity.minor),
"C4002":OfficialWarningDesc("C4002",r"too many actual parameters for macro 'identifier'",Severity.minor),
"C4003":OfficialWarningDesc("C4003",r"not enough actual parameters for macro 'identifier'",Severity.minor),
"C4005":OfficialWarningDesc("C4005",r"'identifier': macro redefinition",Severity.minor),
"C4006":OfficialWarningDesc("C4006",r"#undef expected an identifier",Severity.minor),
"C4007":OfficialWarningDesc("C4007",r"'function': must be 'attribute'",Severity.minor),
"C4008":OfficialWarningDesc("C4008",r"'function': 'attribute' attribute ignored",Severity.minor),
"C4010":OfficialWarningDesc("C4010",r"single-line comment contains line-continuation character",Severity.minor),
"C4013":OfficialWarningDesc("C4013",r"'function' undefined; assuming extern returning int",Severity.minor),
"C4015":OfficialWarningDesc("C4015",r"'identifer': type of bit field must be integral",Severity.minor),
"C4018":OfficialWarningDesc("C4018",r"'expression': signed/unsigned mismatch",Severity.minor),
"C4019":OfficialWarningDesc("C4019",r"empty statement at global scope",Severity.minor),
"C4020":OfficialWarningDesc("C4020",r"'function': too many actual parameters",Severity.minor),
"C4022":OfficialWarningDesc("C4022",r"'function': pointer mismatch for actual parameter 'parameter number'",Severity.minor),
"C4023":OfficialWarningDesc("C4023",r"'function': based pointer passed to unprototyped function: parameter 'parameter_number'",Severity.minor),
"C4024":OfficialWarningDesc("C4024",r"'function': different types for formal and actual parameter 'parameter_number'",Severity.minor),
"C4025":OfficialWarningDesc("C4025",r"'function': based pointer passed to function with variable arguments: parameter 'parameter_number'",Severity.minor),
"C4026":OfficialWarningDesc("C4026",r"function declared with formal parameter list",Severity.minor),
"C4027":OfficialWarningDesc("C4027",r"function declared without formal parameter list",Severity.minor),
"C4028":OfficialWarningDesc("C4028",r"formal parameter 'parameter_number' different from declaration",Severity.minor),
"C4029":OfficialWarningDesc("C4029",r"declared formal parameter list different from definition",Severity.minor),
"C4030":OfficialWarningDesc("C4030",r"first formal parameter list longer than the second list",Severity.minor),
"C4031":OfficialWarningDesc("C4031",r"second formal parameter list longer than the first list",Severity.minor),
"C4032":OfficialWarningDesc("C4032",r"formal parameter 'parameter_number' has different type when promoted",Severity.minor),
"C4033":OfficialWarningDesc("C4033",r"'function' must return a value",Severity.minor),
"C4034":OfficialWarningDesc("C4034",r"sizeof returns 0",Severity.minor),
"C4035":OfficialWarningDesc("C4035",r"'function': no return value",Severity.minor),
"C4036":OfficialWarningDesc("C4036",r"unnamed 'type' as actual parameter",Severity.minor),
"C4038":OfficialWarningDesc("C4038",r"'modifier': illegal class modifier",Severity.minor),
"C4041":OfficialWarningDesc("C4041",r"compiler limit: terminating browser output",Severity.minor),
"C4042":OfficialWarningDesc("C4042",r"'identifier': has bad storage class",Severity.minor),
"C4045":OfficialWarningDesc("C4045",r"'array': array bounds overflow",Severity.major),
"C4047":OfficialWarningDesc("C4047",r"'operator': 'identifier1' differs in levels of indirection from 'identifier2'",Severity.minor),
"C4048":OfficialWarningDesc("C4048",r"different array subscripts: 'identifier1' and 'identifier2'",Severity.minor),
"C4049":OfficialWarningDesc("C4049",r"compiler limit: terminating line number emission",Severity.minor),
"C4051":OfficialWarningDesc("C4051",r"type conversion; possible loss of data",Severity.minor),
"C4052":OfficialWarningDesc("C4052",r"function declarations different; one contains variable arguments",Severity.minor),
"C4053":OfficialWarningDesc("C4053",r"one void operand for '?:'",Severity.minor),
"C4055":OfficialWarningDesc("C4055",r"'conversion' : from data pointer 'type1' to function pointer 'type2'",Severity.minor),
"C4056":OfficialWarningDesc("C4056",r"overflow in floating-point constant arithmetic",Severity.major),
"C4057":OfficialWarningDesc("C4057",r"'operator': 'identifier1' differs in indirection to slightly different base types from 'identifier2'",Severity.minor),
"C4060":OfficialWarningDesc("C4060",r"switch statement contains no 'case' or 'default' labels",Severity.minor),
"C4061":OfficialWarningDesc("C4061",r"enumerator 'identifier' in switch of enum 'enumeration' is not explicitly handled by a case label",Severity.minor),
"C4062":OfficialWarningDesc("C4062",r"enumerator 'identifier' in switch of enum 'enumeration' is not handled",Severity.minor),
"C4063":OfficialWarningDesc("C4063",r"case 'identifier' is not a valid value for switch of enum 'enumeration'",Severity.minor),
"C4064":OfficialWarningDesc("C4064",r"switch of incomplete enum 'enumeration'",Severity.minor),
"C4065":OfficialWarningDesc("C4065",r"switch statement contains 'default' but no 'case' labels",Severity.minor),
"C4066":OfficialWarningDesc("C4066",r"characters beyond first in wide-character constant ignored",Severity.minor),
"C4067":OfficialWarningDesc("C4067",r"unexpected tokens following preprocessor directive - expected a newline",Severity.minor),
"C4068":OfficialWarningDesc("C4068",r"unknown pragma",Severity.minor),
"C4069":OfficialWarningDesc("C4069",r"long double is the same precision as double",Severity.minor),
"C4073":OfficialWarningDesc("C4073",r"initializers put in library initialization area",Severity.minor),
"C4074":OfficialWarningDesc("C4074",r"initializers put in compiler reserved initialization area",Severity.minor),
"C4075":OfficialWarningDesc("C4075",r"initializers put in unrecognized initialization area",Severity.minor),
"C4076":OfficialWarningDesc("C4076",r"'type_modifier': can not be used with type 'typename'",Severity.minor),
"C4077":OfficialWarningDesc("C4077",r"unknown check_stack option",Severity.minor),
"C4079":OfficialWarningDesc("C4079",r"unexpected token 'token'",Severity.minor),
"C4080":OfficialWarningDesc("C4080",r"expected identifier for segment name; found 'symbol'",Severity.minor),
"C4081":OfficialWarningDesc("C4081",r"expected 'token1'; found 'token2'",Severity.minor),
"C4083":OfficialWarningDesc("C4083",r"expected 'token'; found identifier 'identifier'",Severity.minor),
"C4085":OfficialWarningDesc("C4085",r"expected pragma parameter to be 'on' or 'off'",Severity.minor),
"C4086":OfficialWarningDesc("C4086",r"expected pragma parameter to be '1', '2', '4', '8', or '16'",Severity.minor),
"C4087":OfficialWarningDesc("C4087",r"'function': declared with 'void' parameter list",Severity.minor),
"C4088":OfficialWarningDesc("C4088",r"'function': pointer mismatch in actual parameter 'parameter_number', formal parameter 'parameter_number'",Severity.minor),
"C4089":OfficialWarningDesc("C4089",r"'function': different types in actual parameter 'parameter_number', formal parameter 'parameter_number'",Severity.minor),
"C4090":OfficialWarningDesc("C4090",r"'operation': different 'modifier' qualifiers",Severity.minor),
"C4091":OfficialWarningDesc("C4091",r"keyword': ignored on left of 'type' when no variable is declared",Severity.minor),
"C4092":OfficialWarningDesc("C4092",r"sizeof returns 'unsigned long'",Severity.minor),
"C4094":OfficialWarningDesc("C4094",r"untagged 'token' declared no symbols",Severity.minor),
"C4096":OfficialWarningDesc("C4096",r"'identifier': interface is not a COM interface; will not be emitted to IDL",Severity.minor),
"C4097":OfficialWarningDesc("C4097",r"expected pragma parameter to be 'restore' or 'off'",Severity.minor),
"C4098":OfficialWarningDesc("C4098",r"'function': 'void' function returning a value",Severity.minor),
"C4099":OfficialWarningDesc("C4099",r"'identifier': type name first seen using 'object_type1' now seen using 'object_type2'",Severity.minor),
"C4100":OfficialWarningDesc("C4100",r"'identifier': unreferenced formal parameter",Severity.minor),
"C4101":OfficialWarningDesc("C4101",r"'identifier': unreferenced local variable",Severity.minor),
"C4102":OfficialWarningDesc("C4102",r"'label': unreferenced label",Severity.minor),
"C4103":OfficialWarningDesc("C4103",r"'filename': alignment changed after including header, may be due to missing #pragma pack(pop)",Severity.minor),
"C4109":OfficialWarningDesc("C4109",r"unexpected identifier 'identifier'",Severity.minor),
"C4112":OfficialWarningDesc("C4112",r"#line requires an integer between 1 and 'line_count'",Severity.minor),
"C4113":OfficialWarningDesc("C4113",r"'identifier1' differs in parameter lists from 'identifier2'",Severity.minor),
"C4114":OfficialWarningDesc("C4114",r"same type qualifier used more than once",Severity.minor),
"C4115":OfficialWarningDesc("C4115",r"'type': named type definition in parentheses",Severity.minor),
"C4116":OfficialWarningDesc("C4116",r"unnamed type definition in parentheses",Severity.minor),
"C4117":OfficialWarningDesc("C4117",r"macro name 'name' is reserved, 'command' ignored",Severity.minor),
"C4119":OfficialWarningDesc("C4119",r"different bases 'base1' and 'base2' specified",Severity.minor),
"C4120":OfficialWarningDesc("C4120",r"based/unbased mismatch",Severity.minor),
"C4121":OfficialWarningDesc("C4121",r"'symbol': alignment of a member was sensitive to packing",Severity.minor),
"C4122":OfficialWarningDesc("C4122",r"'function': alloc_text applicable only to functions with C linkage",Severity.minor),
"C4123":OfficialWarningDesc("C4123",r"different base expressions specified",Severity.minor),
"C4124":OfficialWarningDesc("C4124",r"__fastcall with stack checking is inefficient",Severity.minor),
"C4125":OfficialWarningDesc("C4125",r"decimal digit terminates octal escape sequence",Severity.minor),
"C4127":OfficialWarningDesc("C4127",r"conditional expression is constant",Severity.minor),
"C4129":OfficialWarningDesc("C4129",r"'character': unrecognized character escape sequence",Severity.minor),
"C4130":OfficialWarningDesc("C4130",r"'operator': logical operation on address of string constant",Severity.minor),
"C4131":OfficialWarningDesc("C4131",r"'function': uses old-style declarator",Severity.minor),
"C4132":OfficialWarningDesc("C4132",r"'object': const object should be initialized",Severity.minor),
"C4133":OfficialWarningDesc("C4133",r"'expression': incompatible types - from 'type1' to 'type2'",Severity.minor),
"C4137":OfficialWarningDesc("C4137",r"'function': no return value from floating-point function",Severity.minor),
"C4138":OfficialWarningDesc("C4138",r"'*/' found outside of comment",Severity.minor),
"C4141":OfficialWarningDesc("C4141",r"'modifier': used more than once",Severity.minor),
"C4142":OfficialWarningDesc("C4142",r"benign redefinition of type",Severity.minor),
"C4143":OfficialWarningDesc("C4143",r"pragma 'same_seg' not supported; use __based allocation",Severity.minor),
"C4144":OfficialWarningDesc("C4144",r"'expression': relational expression as switch expression",Severity.minor),
"C4145":OfficialWarningDesc("C4145",r"'expression1': relational expression as switch expression; possible confusion with 'expression2'",Severity.minor),
"C4146":OfficialWarningDesc("C4146",r"unary minus operator applied to unsigned type, result still unsigned",Severity.minor),
"C4150":OfficialWarningDesc("C4150",r"deletion of pointer to incomplete type 'type'; no destructor called",Severity.minor),
"C4152":OfficialWarningDesc("C4152",r"nonstandard extension, function/data pointer conversion in expression",Severity.minor),
"C4153":OfficialWarningDesc("C4153",r"function/data pointer conversion in expression",Severity.minor),
"C4154":OfficialWarningDesc("C4154",r"deletion of an array expression; conversion to pointer supplied",Severity.minor),
"C4155":OfficialWarningDesc("C4155",r"deletion of an array expression without using the array form of 'delete'",Severity.minor),
"C4156":OfficialWarningDesc("C4156",r"deletion of an array expression without using the array form of 'delete'; array form substituted",Severity.minor),
"C4157":OfficialWarningDesc("C4157",r"pragma was ignored by C compiler",Severity.minor),
"C4158":OfficialWarningDesc("C4158",r"assuming #pragma pointers_to_members(full_generality, 'inheritance_type')",Severity.minor),
"C4159":OfficialWarningDesc("C4159",r"#pragma 'pragma'(pop,...): has popped previously pushed identifier 'identifier'",Severity.minor),
"C4160":OfficialWarningDesc("C4160",r"#pragma 'pragma'(pop,...): did not find previously pushed identifier 'identifier'",Severity.minor),
"C4161":OfficialWarningDesc("C4161",r"#pragma 'pragma'(pop...): more pops than pushes",Severity.minor),
"C4162":OfficialWarningDesc("C4162",r"'identifier': no function with C linkage found",Severity.minor),
"C4163":OfficialWarningDesc("C4163",r"'identifier': not available as an intrinsic function",Severity.minor),
"C4164":OfficialWarningDesc("C4164",r"'function': intrinsic function not declared",Severity.minor),
"C4165":OfficialWarningDesc("C4165",r"'HRESULT' is being converted to 'bool'; are you sure this is what you want?",Severity.minor),
"C4166":OfficialWarningDesc("C4166",r"illegal calling convention for constructor/destructor",Severity.minor),
"C4167":OfficialWarningDesc("C4167",r"'function': only available as an intrinsic function",Severity.minor),
"C4168":OfficialWarningDesc("C4168",r"compiler limit: out of debugger types, delete program database 'database' and rebuild",Severity.minor),
"C4172":OfficialWarningDesc("C4172",r"returning address of local variable or temporary",Severity.minor),
"C4174":OfficialWarningDesc("C4174",r"'name': not available as a #pragma component",Severity.minor),
"C4175":OfficialWarningDesc("C4175",r"#pragma component(browser, on): browser info must initially be specified on the command line",Severity.minor),
"C4176":OfficialWarningDesc("C4176",r"'subcomponent': unknown subcomponent for #pragma component browser",Severity.minor),
"C4177":OfficialWarningDesc("C4177",r"#pragma 'pragma' should only be used at global scope or namespace scope",Severity.minor),
"C4178":OfficialWarningDesc("C4178",r"case constant 'constant' too big for the type of the switch expression",Severity.minor),
"C4179":OfficialWarningDesc("C4179",r"'//*': parsed as '/' and '/*': confusion with standard '//' comments",Severity.minor),
"C4180":OfficialWarningDesc("C4180",r"qualifier applied to function type has no meaning; ignored",Severity.minor),
"C4181":OfficialWarningDesc("C4181",r"qualifier applied to reference type; ignored",Severity.minor),
"C4182":OfficialWarningDesc("C4182",r"#include nesting level is 'nest_count' deep; possible infinite recursion",Severity.minor),
"C4183":OfficialWarningDesc("C4183",r"'identifier': missing return type; assumed to be a member function returning 'int'",Severity.minor),
"C4185":OfficialWarningDesc("C4185",r"ignoring unknown #import attribute 'attribute'",Severity.minor),
"C4186":OfficialWarningDesc("C4186",r"#import attribute 'attribute' requires 'argument_count' arguments; ignored",Severity.minor),
"C4187":OfficialWarningDesc("C4187",r"#import attributes 'attribute1' and 'attribute2' are incompatible; both ignored",Severity.minor),
"C4188":OfficialWarningDesc("C4188",r"constant expression is not integral",Severity.minor),
"C4189":OfficialWarningDesc("C4189",r"'identifier': local variable is initialized but not referenced",Severity.minor),
"C4190":OfficialWarningDesc("C4190",r"'identifier1' has C-linkage specified, but returns UDT 'identifier2' which is incompatible with C",Severity.minor),
"C4191":OfficialWarningDesc("C4191",r"'operator/operation': unsafe conversion from 'type_of_expression' to 'type_required'\nCalling this function through the result pointer may cause your program to fail",Severity.minor),
"C4192":OfficialWarningDesc("C4192",r"automatically excluding 'identifier' while importing type library 'library'",Severity.minor),
"C4193":OfficialWarningDesc("C4193",r"#pragma warning(pop): no matching '#pragma warning(push)'",Severity.minor),
"C4194":OfficialWarningDesc("C4194",r"#pragma start_map_region cannot be nested; ignored",Severity.minor),
"C4195":OfficialWarningDesc("C4195",r"#pragma stop_map_region used without matching #pragma start_map_region; ignored",Severity.minor),
"C4196":OfficialWarningDesc("C4196",r"expected '%$L' or '%$L'; found '%$L'",Severity.minor),
"C4197":OfficialWarningDesc("C4197",r"'type': top-level volatile in cast is ignored",Severity.minor),
"C4199":OfficialWarningDesc("C4199",r"%s",Severity.minor),
"C4200":OfficialWarningDesc("C4200",r"nonstandard extension used: zero-sized array in struct/union",Severity.minor),
"C4201":OfficialWarningDesc("C4201",r"nonstandard extension used: nameless struct/union",Severity.minor),
"C4202":OfficialWarningDesc("C4202",r"nonstandard extension used: '...': prototype parameter in name list illegal",Severity.minor),
"C4203":OfficialWarningDesc("C4203",r"nonstandard extension used: union with static member variable",Severity.minor),
"C4204":OfficialWarningDesc("C4204",r"nonstandard extension used: non-constant aggregate initializer",Severity.minor),
"C4205":OfficialWarningDesc("C4205",r"nonstandard extension used: static function declaration in function scope",Severity.minor),
"C4206":OfficialWarningDesc("C4206",r"nonstandard extension used: translation unit is empty",Severity.minor),
"C4207":OfficialWarningDesc("C4207",r"nonstandard extension used: extended initializer form",Severity.minor),
"C4208":OfficialWarningDesc("C4208",r"nonstandard extension used: delete [exp] - exp evaluated but ignored",Severity.minor),
"C4210":OfficialWarningDesc("C4210",r"nonstandard extension used: function given file scope",Severity.minor),
"C4211":OfficialWarningDesc("C4211",r"nonstandard extension used: redefined extern to static",Severity.minor),
"C4212":OfficialWarningDesc("C4212",r"nonstandard extension used: function declaration used ellipsis",Severity.minor),
"C4213":OfficialWarningDesc("C4213",r"nonstandard extension used: cast on l-value",Severity.minor),
"C4214":OfficialWarningDesc("C4214",r"nonstandard extension used: bit field types other than int",Severity.minor),
"C4215":OfficialWarningDesc("C4215",r"nonstandard extension used: long float",Severity.minor),
"C4216":OfficialWarningDesc("C4216",r"nonstandard extension used: float long",Severity.minor),
"C4218":OfficialWarningDesc("C4218",r"nonstandard extension used: must specify at least a storage class or a type",Severity.minor),
"C4220":OfficialWarningDesc("C4220",r"varargs matches remaining parameters",Severity.minor),
"C4221":OfficialWarningDesc("C4221",r"nonstandard extension used: 'identifier': cannot be initialized using address of automatic variable 'variable'",Severity.minor),
"C4223":OfficialWarningDesc("C4223",r"nonstandard extension used: non-lvalue array converted to pointer",Severity.minor),
"C4224":OfficialWarningDesc("C4224",r"nonstandard extension used: formal parameter 'identifier' was previously defined as a type",Severity.minor),
"C4226":OfficialWarningDesc("C4226",r"nonstandard extension used: 'keyword' is an obsolete keyword",Severity.minor),
"C4227":OfficialWarningDesc("C4227",r"anachronism used: qualifiers on reference are ignored",Severity.minor),
"C4228":OfficialWarningDesc("C4228",r"nonstandard extension used: qualifiers after comma in declarator list are ignored",Severity.minor),
"C4229":OfficialWarningDesc("C4229",r"anachronism used: modifiers on data are ignored",Severity.minor),
"C4230":OfficialWarningDesc("C4230",r"anachronism used: modifiers/qualifiers interspersed; qualifier ignored",Severity.minor),
"C4232":OfficialWarningDesc("C4232",r"nonstandard extension used: 'identifier': address of dllimport 'dllimport' is not static, identity not guaranteed",Severity.minor),
"C4233":OfficialWarningDesc("C4233",r"nonstandard extension used: 'keyword' keyword only supported in C++, not C",Severity.minor),
"C4234":OfficialWarningDesc("C4234",r"nonstandard extension used: 'keyword' keyword reserved for future use",Severity.minor),
"C4235":OfficialWarningDesc("C4235",r"nonstandard extension used: 'keyword' keyword not supported on this architecture",Severity.minor),
"C4237":OfficialWarningDesc("C4237",r"'keyword' keyword is not yet supported, but reserved for future use",Severity.minor),
"C4238":OfficialWarningDesc("C4238",r"nonstandard extension used: class rvalue used as lvalue",Severity.minor),
"C4239":OfficialWarningDesc("C4239",r"nonstandard extension used: 'token': conversion from 'type1' to 'type2'",Severity.minor),
"C4240":OfficialWarningDesc("C4240",r"nonstandard extension used: access to 'classname' now defined to be 'access_specifier1', previously it was defined to be 'access_specifier2'",Severity.minor),
"C4242":OfficialWarningDesc("C4242",r"'identifier': conversion from 'type1' to 'type2', possible loss of data",Severity.minor),
"C4243":OfficialWarningDesc("C4243",r"'conversion_type' conversion from 'type1' to 'type2' exists, but is inaccessible",Severity.minor),
"C4244":OfficialWarningDesc("C4244",r"'conversion_type': conversion from 'type1' to 'type2', possible loss of data",Severity.minor),
"C4245":OfficialWarningDesc("C4245",r"'conversion_type': conversion from 'type1' to 'type2', signed/unsigned mismatch",Severity.minor),
"C4250":OfficialWarningDesc("C4250",r"'classname': inherits 'base_classname::member' via dominance",Severity.minor),
"C4251":OfficialWarningDesc("C4251",r"'identifier': 'object_type1' 'identifier1' needs to have dll-interface to be used by clients of 'object_type' 'identfier2'",Severity.minor),
"C4254":OfficialWarningDesc("C4254",r"'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data",Severity.minor),
"C4255":OfficialWarningDesc("C4255",r"'function': no function prototype given: converting '()' to '(void)'",Severity.minor),
"C4256":OfficialWarningDesc("C4256",r"'function': constructor for class with virtual bases has '...'; calls may not be compatible with older versions of Visual C++",Severity.minor),
"C4258":OfficialWarningDesc("C4258",r"'variable': definition from the for loop is ignored; the definition from the enclosing scope is used",Severity.minor),
"C4263":OfficialWarningDesc("C4263",r"'function': member function does not override any base class virtual member function",Severity.minor),
"C4264":OfficialWarningDesc("C4264",r"'virtual_function': no override available for virtual member function from base 'classname'; function is hidden",Severity.minor),
"C4265":OfficialWarningDesc("C4265",r"'classname': class has virtual functions, but destructor is not virtual\n instances of this class may not be destructed correctly",Severity.minor),
"C4266":OfficialWarningDesc("C4266",r"'virtual_function': no override available for virtual member function from base 'classname'; function is hidden",Severity.minor),
"C4267":OfficialWarningDesc("C4267",r"'variable': conversion from 'size_t' to 'type', possible loss of data",Severity.minor),
"C4268":OfficialWarningDesc("C4268",r"'identifier': 'const' static/global data initialized with compiler generated default constructor fills the object with zeros",Severity.minor),
"C4269":OfficialWarningDesc("C4269",r"'identifier': 'const' automatic data initialized with compiler generated default constructor produces unreliable results",Severity.minor),
"C4272":OfficialWarningDesc("C4272",r"'function': is marked __declspec(dllimport); must specify native calling convention when importing a function.",Severity.minor),
"C4273":OfficialWarningDesc("C4273",r"'function': inconsistent dll linkage",Severity.minor),
"C4274":OfficialWarningDesc("C4274",r"#ident ignored; see documentation for #pragma comment(exestr, 'string')",Severity.minor),
"C4275":OfficialWarningDesc("C4275",r"non dll-interface 'classkey' 'identifier1' used as base for dll-interface 'classkey' 'identifier2'",Severity.minor),
"C4276":OfficialWarningDesc("C4276",r"'function': no prototype provided; assumed no parameters",Severity.minor),
"C4277":OfficialWarningDesc("C4277",r"imported item 'classname::member' exists as both data member and function member; data member ignored",Severity.minor),
"C4278":OfficialWarningDesc("C4278",r"'identifier': identifier in type library 'library' is already a macro; use the 'rename' qualifier",Severity.minor),
"C4279":OfficialWarningDesc("C4279",r"'identifier': identifier in type library 'library' is a keyword; use the 'rename' qualifier",Severity.minor),
"C4280":OfficialWarningDesc("C4280",r"'operator ->' was self recursive through type 'type'",Severity.minor),
"C4281":OfficialWarningDesc("C4281",r"'operator ->' recursion occurred through type 'type1'",Severity.minor),
"C4282":OfficialWarningDesc("C4282",r"then through type 'type2'",Severity.minor),
"C4283":OfficialWarningDesc("C4283",r"and through type 'typeN'",Severity.minor),
"C4285":OfficialWarningDesc("C4285",r"return type for 'identifier::operator ->' is recursive if applied using infix notation",Severity.minor),
"C4286":OfficialWarningDesc("C4286",r"'derived_type': is caught by base class ('base_type') on line 'line_number'",Severity.minor),
"C4287":OfficialWarningDesc("C4287",r"'operator': unsigned/negative constant mismatch",Severity.minor),
"C4288":OfficialWarningDesc("C4288",r"nonstandard extension used: 'variable': loop control variable declared in the for-loop is used outside the for-loop scope; it conflicts with the declaration in the outer scope",Severity.minor),
"C4289":OfficialWarningDesc("C4289",r"nonstandard extension used: 'variable': loop control variable declared in the for-loop is used outside the for-loop scope",Severity.minor),
"C4290":OfficialWarningDesc("C4290",r"C++ exception specification ignored except to indicate a function is not __declspec(nothrow)",Severity.minor),
"C4291":OfficialWarningDesc("C4291",r"'declaration': no matching operator delete found; memory will not be freed if initialization throws an exception",Severity.minor),
"C4293":OfficialWarningDesc("C4293",r"'shift_operator': shift count negative or too big, undefined behavior",Severity.minor),
"C4295":OfficialWarningDesc("C4295",r"'array': array is too small to include a terminating null character",Severity.minor),
"C4296":OfficialWarningDesc("C4296",r"'operator': expression is always 'boolean_value'",Severity.minor),
"C4297":OfficialWarningDesc("C4297",r"'function': function assumed not to throw an exception but does",Severity.minor),
"C4298":OfficialWarningDesc("C4298",r"'identifier': identifier in type library 'library' is already a macro; renaming to '__identifier'",Severity.minor),
"C4299":OfficialWarningDesc("C4299",r"'identifier': identifier in type library 'library' is a keyword; renaming to '__identifier'",Severity.minor),
"C4301":OfficialWarningDesc("C4301",r"'derived_class::function': overriding virtual function only differs from 'base_class::function' by const/volatile qualifier",Severity.minor),
"C4302":OfficialWarningDesc("C4302",r"'conversion': truncation from 'type1' to 'type2'",Severity.minor),
"C4303":OfficialWarningDesc("C4303",r"C-style cast from 'type1' to 'type2' is deprecated, use static_cast, __try_cast or dynamic_cast",Severity.minor),
"C4305":OfficialWarningDesc("C4305",r"'conversion': truncation from 'type1' to 'type2'",Severity.minor),
"C4306":OfficialWarningDesc("C4306",r"'conversion': conversion from 'type1' to 'type2' of greater size",Severity.minor),
"C4307":OfficialWarningDesc("C4307",r"'operator': integral constant overflow",Severity.major),
"C4308":OfficialWarningDesc("C4308",r"negative integral constant converted to unsigned type",Severity.minor),
"C4309":OfficialWarningDesc("C4309",r"'conversion': truncation of constant value",Severity.minor),
"C4310":OfficialWarningDesc("C4310",r"cast truncates constant value",Severity.minor),
"C4311":OfficialWarningDesc("C4311",r"'variable': pointer truncation from 'type1' to 'type2'",Severity.major),
"C4312":OfficialWarningDesc("C4312",r"'operation': conversion from 'type1' to 'type2' of greater size",Severity.minor),
"C4313":OfficialWarningDesc("C4313",r"'function': 'format_specifier' in format string conflicts with argument 'argument_number' of type 'type'",Severity.minor),
"C4314":OfficialWarningDesc("C4314",r"expected pragma parameter to be '32' or '64'",Severity.minor),
"C4315":OfficialWarningDesc("C4315",r"'classname': 'this' pointer for member 'member' may not be aligned 'alignment' as expected by the constructor",Severity.minor),
"C4316":OfficialWarningDesc("C4316",r"'identifier': object allocated on the heap may not be aligned 'alignment'",Severity.minor),
"C4317":OfficialWarningDesc("C4317",r"'printf_family' : not enough arguments passed for format string",Severity.minor),
"C4318":OfficialWarningDesc("C4318",r"passing constant zero as the length to memset",Severity.minor),
"C4319":OfficialWarningDesc("C4319",r"'operator': zero extending 'type1' to 'type2' of greater size",Severity.minor),
"C4321":OfficialWarningDesc("C4321",r"automatically generating an IID for interface 'interface'",Severity.minor),
"C4322":OfficialWarningDesc("C4322",r"automatically generating a CLSID for class 'class'",Severity.minor),
"C4323":OfficialWarningDesc("C4323",r"re-using registered CLSID for class 'class'",Severity.minor),
"C4324":OfficialWarningDesc("C4324",r"'structname': structure was padded due to __declspec(align())",Severity.minor),
"C4325":OfficialWarningDesc("C4325",r"attributes for standard section 'section' ignored",Severity.minor),
"C4326":OfficialWarningDesc("C4326",r"return type of 'function' should be 'type1' instead of 'type2'",Severity.minor),
"C4327":OfficialWarningDesc("C4327",r"'assignment': indirection alignment of LHS ('alignment1') is greater than RHS ('alignment2')",Severity.minor),
"C4328":OfficialWarningDesc("C4328",r"'function': indirection alignment of formal parameter parameter_number (parameter_alignment) is greater than the actual argument alignment (argument_alignment)",Severity.minor),
"C4329":OfficialWarningDesc("C4329",r"__declspec(align()) is ignored on enum",Severity.minor),
"C4330":OfficialWarningDesc("C4330",r"attribute 'attribute' for section 'section' ignored",Severity.minor),
"C4333":OfficialWarningDesc("C4333",r"'shift_operator': right shift by too large amount, data loss",Severity.minor),
"C4334":OfficialWarningDesc("C4334",r"'shift_operator': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)",Severity.minor),
"C4335":OfficialWarningDesc("C4335",r"Mac file format detected: please convert the source file to either DOS or UNIX format",Severity.minor),
"C4336":OfficialWarningDesc("C4336",r"import cross-referenced type library 'library1' before importing 'library2'",Severity.minor),
"C4337":OfficialWarningDesc("C4337",r"cross-referenced type library 'library1' in 'library2' is being automatically imported",Severity.minor),
"C4338":OfficialWarningDesc("C4338",r"#pragma directive: standard section 'section' is used",Severity.minor),
"C4339":OfficialWarningDesc("C4339",r"'type': use of undefined type detected in 'WinRT|CLR' meta-data - use of this type may lead to a runtime exception",Severity.minor),
"C4340":OfficialWarningDesc("C4340",r"'value': value wrapped from positive to negative value",Severity.minor),
"C4342":OfficialWarningDesc("C4342",r"behavior change: 'function' called, but a member operator was called in previous versions",Severity.minor),
"C4343":OfficialWarningDesc("C4343",r"#pragma optimize('g',off) overrides /Og option",Severity.minor),
"C4344":OfficialWarningDesc("C4344",r"behavior change: use of explicit template arguments results in call to 'function'",Severity.minor),
"C4346":OfficialWarningDesc("C4346",r"'name': dependent name is not a type",Severity.minor),
"C4348":OfficialWarningDesc("C4348",r"'type': redefinition of default parameter: parameter 'parameter_number'",Severity.minor),
"C4350":OfficialWarningDesc("C4350",r"behavior change: 'member1' called instead of 'member2'",Severity.minor),
"C4352":OfficialWarningDesc("C4352",r"'identifier': intrinsic function already defined",Severity.minor),
"C4353":OfficialWarningDesc("C4353",r"nonstandard extension used: constant 0 as function expression. Use '__noop' function intrinsic instead",Severity.minor),
"C4355":OfficialWarningDesc("C4355",r"'this': used in base member initializer list",Severity.minor),
"C4356":OfficialWarningDesc("C4356",r"'member': static data member cannot be initialized via derived class",Severity.minor),
"C4357":OfficialWarningDesc("C4357",r"param array argument found in formal argument list for delegate 'delegate' ignored when generating 'function'",Severity.minor),
"C4358":OfficialWarningDesc("C4358",r"'operator': return type of combined delegates is not 'void'; returned value is undefined",Severity.minor),
"C4359":OfficialWarningDesc("C4359",r"'type': Alignment specifier is less than actual alignment ('alignment'), and will be ignored.",Severity.minor),
"C4362":OfficialWarningDesc("C4362",r"'type': alignment greater than 8 bytes is not supported by CLR",Severity.minor),
"C4364":OfficialWarningDesc("C4364",r"#using for assembly 'assembly' previously seen at 'location'('line_number') without as_friend attribute; as_friend not applied",Severity.minor),
"C4365":OfficialWarningDesc("C4365",r"'expression': conversion from 'type1' to 'type2', signed/unsigned mismatch",Severity.minor),
"C4366":OfficialWarningDesc("C4366",r"The result of the unary 'operator' operator may be unaligned",Severity.minor),
"C4367":OfficialWarningDesc("C4367",r"Conversion from 'type1' to 'type2' may cause datatype misalignment exception",Severity.minor),
"C4368":OfficialWarningDesc("C4368",r"cannot define 'member' as a member of managed 'type': mixed types are not supported",Severity.minor),
"C4369":OfficialWarningDesc("C4369",r"'enumerator': enumerator value 'value' cannot be represented as 'type', value is 'new_value'",Severity.minor),
"C4370":OfficialWarningDesc("C4370",r"'classname': layout of class has changed from a previous version of the compiler due to better packing",Severity.minor),
"C4371":OfficialWarningDesc("C4371",r"'classname': layout of class may have changed from a previous version of the compiler due to better packing of member 'member'",Severity.minor),
"C4373":OfficialWarningDesc("C4373",r"'derived_class::function': virtual function overrides 'base_class::function', previous versions of the compiler did not override when parameters only differed by const/volatile qualifiers",Severity.minor),
"C4374":OfficialWarningDesc("C4374",r"'function1': interface method will not be implemented by non-virtual method 'function2'",Severity.minor),
"C4375":OfficialWarningDesc("C4375",r"non-public method 'method2' does not override 'method2'",Severity.minor),
"C4376":OfficialWarningDesc("C4376",r"access specifier 'old_specifier:' is no longer supported: please use 'new_specifier:' instead",Severity.minor),
"C4377":OfficialWarningDesc("C4377",r"native types are private by default; -d1PrivateNativeTypes is deprecated",Severity.minor),
"C4378":OfficialWarningDesc("C4378",r"Must obtain function pointers to run initializers; consider System::ModuleHandle::ResolveMethodHandle",Severity.minor),
"C4379":OfficialWarningDesc("C4379",r"Version 'version_number' of the common language runtime is not supported by this compiler. Using this version may cause unexpected results",Severity.minor),
"C4380":OfficialWarningDesc("C4380",r"'class': A default constructor cannot be deprecated",Severity.minor),
"C4381":OfficialWarningDesc("C4381",r"'function1': interface method will not be implemented by non-public method 'function2'",Severity.minor),
"C4382":OfficialWarningDesc("C4382",r"throwing 'type': a type with __clrcall destructor or copy constructor can only be caught in /clr:pure module",Severity.minor),
"C4383":OfficialWarningDesc("C4383",r"'instance_dereference_operator': the meaning of dereferencing a handle can change, when a user-defined 'instance_dereference_operator' operator exists; write the operator as a static function to be explicit about the operand",Severity.minor),
"C4384":OfficialWarningDesc("C4384",r"#pragma 'make_public' should only be used at global scope",Severity.minor),
"C4387":OfficialWarningDesc("C4387",r"'alternative': was considered",Severity.minor),
"C4388":OfficialWarningDesc("C4388",r") 'expression': signed/unsigned mismatch",Severity.minor),
"C4389":OfficialWarningDesc("C4389",r"'operator': signed/unsigned mismatch",Severity.minor),
"C4390":OfficialWarningDesc("C4390",r"';': empty controlled statement found; is this the intent?",Severity.minor),
"C4391":OfficialWarningDesc("C4391",r"'function_signature': incorrect return type for intrinsic function, expected 'type'",Severity.minor),
"C4392":OfficialWarningDesc("C4392",r"'function_signature': incorrect number of arguments for intrinsic function, expected 'argument_count' arguments",Severity.minor),
"C4393":OfficialWarningDesc("C4393",r"'variable': const has no effect on 'literal' data member; ignored",Severity.minor),
"C4394":OfficialWarningDesc("C4394",r"'function': per-appdomain symbol should not be marked with __declspec('dllexport')",Severity.minor),
"C4395":OfficialWarningDesc("C4395",r"'function': member function will be invoked on a copy of the initonly data member 'member'",Severity.minor),
"C4396":OfficialWarningDesc("C4396",r"'function': the inline specifier cannot be used when a friend declaration refers to a specialization of a function template",Severity.minor),
"C4397":OfficialWarningDesc("C4397",r"DefaultCharSetAttribute is ignored",Severity.minor),
"C4398":OfficialWarningDesc("C4398",r"'variable': per-process global object might not work correctly with multiple appdomains; consider using __declspec(appdomain)",Severity.minor),
"C4399":OfficialWarningDesc("C4399",r"'symbol': per-process symbol should not be marked with __declspec('dllimport') when compiled with /clr:pure",Severity.minor),
"C4400":OfficialWarningDesc("C4400",r"'type': const/volatile qualifiers on this type are not supported",Severity.minor),
"C4401":OfficialWarningDesc("C4401",r"'bitfield': member is bit field",Severity.minor),
"C4402":OfficialWarningDesc("C4402",r"must use PTR operator",Severity.minor),
"C4403":OfficialWarningDesc("C4403",r"illegal PTR operator",Severity.minor),
"C4404":OfficialWarningDesc("C4404",r"period on directive ignored",Severity.minor),
"C4405":OfficialWarningDesc("C4405",r"'identifier': identifier is reserved word",Severity.minor),
"C4406":OfficialWarningDesc("C4406",r"operand on directive ignored",Severity.minor),
"C4407":OfficialWarningDesc("C4407",r"cast between different pointer to member representations, compiler may generate incorrect code",Severity.minor),
"C4408":OfficialWarningDesc("C4408",r"anonymous 'struct|union' did not declare any data members",Severity.minor),
"C4409":OfficialWarningDesc("C4409",r"illegal instruction size",Severity.minor),
"C4410":OfficialWarningDesc("C4410",r"illegal size for operand",Severity.minor),
"C4411":OfficialWarningDesc("C4411",r"'identifier': symbol resolves to displacement register",Severity.minor),
"C4412":OfficialWarningDesc("C4412",r"'function': function signature contains type 'type'; C++ objects are unsafe to pass between pure code and mixed or native.",Severity.minor),
"C4413":OfficialWarningDesc("C4413",r"'classname::member': reference member is initialized to a temporary that doesn't persist after the constructor exits",Severity.minor),
"C4414":OfficialWarningDesc("C4414",r"'function': short jump to function converted to near",Severity.minor),
"C4415":OfficialWarningDesc("C4415",r"duplicate __declspec(code_seg('name'))",Severity.minor),
"C4416":OfficialWarningDesc("C4416",r"__declspec(code_seg(...)) contains empty string: ignored",Severity.minor),
"C4417":OfficialWarningDesc("C4417",r"an explicit template instantiation cannot have __declspec(code_seg(...)): ignored",Severity.minor),
"C4418":OfficialWarningDesc("C4418",r"__declspec(code_seg(...)) ignored on an enum",Severity.minor),
"C4419":OfficialWarningDesc("C4419",r"'symbol' has no effect when applied to private ref class 'class'.",Severity.minor),
"C4420":OfficialWarningDesc("C4420",r"'checked_operator': operator not available, using 'operator' instead; run-time checking may be compromised",Severity.minor),
"C4421":OfficialWarningDesc("C4421",r"'parameter': a reference parameter on a resumable function is potentially unsafe",Severity.minor),
"C4423":OfficialWarningDesc("C4423",r"'std::bad_alloc': will be caught by class ('type') on line number",Severity.minor),
"C4424":OfficialWarningDesc("C4424",r"catch for 'type1' preceded by 'type2' on line number; unpredictable behavior may result if 'std::bad_alloc' is thrown",Severity.minor),
"C4425":OfficialWarningDesc("C4425",r"A SAL annotation cannot be applied to '...'",Severity.minor),
"C4426":OfficialWarningDesc("C4426",r"optimization flags changed after including header, may be due to #pragma optimize()",Severity.minor),
"C4427":OfficialWarningDesc("C4427",r"'operator': overflow in constant division, undefined behavior",Severity.major),
"C4429":OfficialWarningDesc("C4429",r"possible incomplete or improperly formed universal-character-name",Severity.minor),
"C4430":OfficialWarningDesc("C4430",r"missing type specifier - int assumed. Note: C++ does not support default-int",Severity.minor),
"C4431":OfficialWarningDesc("C4431",r"missing type specifier - int assumed. Note: C no longer supports default-int",Severity.minor),
"C4434":OfficialWarningDesc("C4434",r"a static constructor must have private accessibility; changing to private access",Severity.minor),
"C4435":OfficialWarningDesc("C4435",r"'derived_class': Object layout under /vd2 will change due to virtual base 'base_class'",Severity.minor),
"C4436":OfficialWarningDesc("C4436",r"dynamic_cast from virtual base 'base_class' to 'derived_class' in constructor or destructor could fail with partially-constructed object",Severity.minor),
"C4437":OfficialWarningDesc("C4437",r"dynamic_cast from virtual base 'base_class' to 'derived_class' could fail in some contexts",Severity.minor),
"C4438":OfficialWarningDesc("C4438",r"'function': cannot be called safely in /await:clrcompat mode. If 'function' calls into the CLR it may result in CLR head corruption",Severity.minor),
"C4439":OfficialWarningDesc("C4439",r"'function': function definition with a managed type in the signature must have a __clrcall calling convention",Severity.minor),
"C4440":OfficialWarningDesc("C4440",r"calling convention redefinition from 'calling_convention1' to 'calling_convenction2' ignored",Severity.minor),
"C4441":OfficialWarningDesc("C4441",r"calling convention of 'calling_convention1' ignored; 'calling_convention2' used instead",Severity.minor),
"C4442":OfficialWarningDesc("C4442",r"embedded null terminator in __annotation argument. Value will be truncated.",Severity.minor),
"C4443":OfficialWarningDesc("C4443",r"expected pragma parameter to be '0', '1', or '2'",Severity.minor),
"C4444":OfficialWarningDesc("C4444",r"'identifier': top level '__unaligned' is not implemented in this context",Severity.minor),
"C4445":OfficialWarningDesc("C4445",r"'function': in a 'WinRT|managed' type a virtual method cannot be private",Severity.minor),
"C4446":OfficialWarningDesc("C4446",r"'type': cannot map member 'name1' into this type, due to conflict with the type name. The method was renamed to 'name2'",Severity.minor),
"C4447":OfficialWarningDesc("C4447",r"'main' signature found without threading model. Consider using 'int main(Platform::Array<Platform::String^>^ args)'.",Severity.minor),
"C4448":OfficialWarningDesc("C4448",r"'type1' does not have a default interface specified in metadata. Picking: 'type2', which may fail at runtime.",Severity.minor),
"C4449":OfficialWarningDesc("C4449",r"'type' an unsealed type should be marked as '[WebHostHidden]'",Severity.minor),
"C4450":OfficialWarningDesc("C4450",r"'type1' should be marked as '[WebHostHidden]' because it derives from 'type2'",Severity.minor),
"C4451":OfficialWarningDesc("C4451",r"'classname1::member': Usage of ref class 'classname2::member' inside this context can lead to invalid marshaling of object across contexts",Severity.minor),
"C4452":OfficialWarningDesc("C4452",r"'identifier': public type cannot be at global scope. It must be in a namespace that is a child of the name of the output .winmd file.",Severity.minor),
"C4453":OfficialWarningDesc("C4453",r"'type': A '[WebHostHidden]' type should not be used on the published surface of a public type that is not '[WebHostHidden]'",Severity.minor),
"C4454":OfficialWarningDesc("C4454",r"'function' is overloaded by more than the number of input parameters without having [DefaultOverload] specified. Picking 'declaration' as the default overload",Severity.minor),
"C4455":OfficialWarningDesc("C4455",r"'operator operator': literal suffix identifiers that do not start with an underscore are reserved",Severity.minor),
"C4456":OfficialWarningDesc("C4456",r"declaration of 'identifier' hides previous local declaration",Severity.minor),
"C4457":OfficialWarningDesc("C4457",r"declaration of 'identifier' hides function parameter",Severity.minor),
"C4458":OfficialWarningDesc("C4458",r"declaration of 'identifier' hides class member",Severity.minor),
"C4459":OfficialWarningDesc("C4459",r"declaration of 'identifier' hides global declaration",Severity.minor),
"C4460":OfficialWarningDesc("C4460",r"'WinRT|managed' operator 'operator', has parameter passed by reference. 'WinRT|managed' operator 'operator' has different semantics from C++ operator 'cpp_operator', did you intend to pass by value?",Severity.minor),
"C4461":OfficialWarningDesc("C4461",r"'classname': this class has a finalizer '!finalizer' but no destructor '~dtor'",Severity.minor),
"C4462":OfficialWarningDesc("C4462",r"'type' : cannot determine the GUID of the type. Program may fail at runtime.",Severity.minor),
"C4463":OfficialWarningDesc("C4463",r"overflow; assigning 'value' to bit-field that can only hold values from 'min_value' to 'max_value'",Severity.major),
"C4464":OfficialWarningDesc("C4464",r"relative include path contains '..'",Severity.minor),
"C4470":OfficialWarningDesc("C4470",r"floating-point control pragmas ignored under /clr",Severity.minor),
"C4471":OfficialWarningDesc("C4471",r"'enumeration': a forward declaration of an unscoped enumeration must have an underlying type (int assumed)",Severity.minor),
"C4472":OfficialWarningDesc("C4472",r"'identifier' is a native enum: add an access specifier (private/public) to declare a 'WinRT|managed' enum",Severity.minor),
"C4473":OfficialWarningDesc("C4473",r"'function' : not enough arguments passed for format string",Severity.minor),
"C4474":OfficialWarningDesc("C4474",r"'function' : too many arguments passed for format string",Severity.minor),
"C4475":OfficialWarningDesc("C4475",r"'function' : length modifier 'modifier' cannot be used with type field character 'character' in format specifier",Severity.minor),
"C4476":OfficialWarningDesc("C4476",r"'function' : unknown type field character 'character' in format specifier",Severity.minor),
"C4477":OfficialWarningDesc("C4477",r"'function' : format string 'string' requires an argument of type 'type', but variadic argument number has type 'type'",Severity.minor),
"C4478":OfficialWarningDesc("C4478",r"'function' : positional and non-positional placeholders cannot be mixed in the same format string",Severity.minor),
"C4480":OfficialWarningDesc("C4480",r"nonstandard extension used: specifying underlying type for enum 'enumeration'",Severity.minor),
"C4481":OfficialWarningDesc("C4481",r"nonstandard extension used: override specifier 'keyword'",Severity.minor),
"C4482":OfficialWarningDesc("C4482",r"nonstandard extension used: enum 'enumeration' used in qualified name",Severity.minor),
"C4483":OfficialWarningDesc("C4483",r"syntax error: expected C++ keyword",Severity.minor),
"C4484":OfficialWarningDesc("C4484",r"'override_function': matches base ref class method 'base_class_function', but is not marked 'virtual', 'new' or 'override'; 'new' (and not 'virtual') is assumed",Severity.minor),
"C4485":OfficialWarningDesc("C4485",r"'override_function': matches base ref class method 'base_class_function', but is not marked 'new' or 'override'; 'new' (and 'virtual') is assumed",Severity.minor),
"C4486":OfficialWarningDesc("C4486",r"'function': a private virtual method of a ref class or value class should be marked 'sealed'",Severity.minor),
"C4487":OfficialWarningDesc("C4487",r"'derived_class_function': matches inherited non-virtual method 'base_class_function' but is not explicitly marked 'new'",Severity.minor),
"C4488":OfficialWarningDesc("C4488",r"'function': requires 'keyword' keyword to implement the interface method 'interface_method'",Severity.minor),
"C4489":OfficialWarningDesc("C4489",r"'specifier': not allowed on interface method 'method'; override specifiers are only allowed on ref class and value class methods",Severity.minor),
"C4490":OfficialWarningDesc("C4490",r"'override': incorrect use of override specifier; 'function' does not match a base ref class method",Severity.minor),
"C4491":OfficialWarningDesc("C4491",r"'name': has an illegal IDL version format",Severity.minor),
"C4492":OfficialWarningDesc("C4492",r"'function1': matches base ref class method 'function2', but is not marked 'override'",Severity.minor),
"C4493":OfficialWarningDesc("C4493",r"delete expression has no effect as the destructor of 'type' does not have 'public' accessibility",Severity.minor),
"C4494":OfficialWarningDesc("C4494",r"'function' : Ignoring __declspec(allocator) because the function return type is not a pointer or reference",Severity.minor),
"C4495":OfficialWarningDesc("C4495",r"nonstandard extension '__super' used: replace with explicit base class name",Severity.minor),
"C4496":OfficialWarningDesc("C4496",r"nonstandard extension 'for each' used: replace with ranged-for statement",Severity.minor),
"C4497":OfficialWarningDesc("C4497",r"nonstandard extension 'sealed' used: replace with 'final'",Severity.minor),
"C4498":OfficialWarningDesc("C4498",r"nonstandard extension used: 'extension'",Severity.minor),
"C4499":OfficialWarningDesc("C4499",r"'function' : an explicit specialization cannot have a storage class (ignored)",Severity.minor),
"C4502":OfficialWarningDesc("C4502",r"'linkage specification' requires use of keyword 'extern' and must precede all other specifiers",Severity.minor),
"C4503":OfficialWarningDesc("C4503",r"'identifier': decorated name length exceeded, name was truncated",Severity.minor),
"C4505":OfficialWarningDesc("C4505",r"'function': unreferenced local function has been removed",Severity.minor),
"C4506":OfficialWarningDesc("C4506",r"no definition for inline function 'function'",Severity.minor),
"C4508":OfficialWarningDesc("C4508",r"'function': function should return a value; 'void' return type assumed",Severity.minor),
"C4509":OfficialWarningDesc("C4509",r"nonstandard extension used: 'function' uses SEH and 'object' has destructor",Severity.minor),
"C4510":OfficialWarningDesc("C4510",r"'class': default constructor was implicitly defined as deleted",Severity.minor),
"C4511":OfficialWarningDesc("C4511",r"'class': copy constructor was implicitly defined as deleted",Severity.minor),
"C4512":OfficialWarningDesc("C4512",r"'class': assignment operator was implicitly defined as deleted",Severity.minor),
"C4513":OfficialWarningDesc("C4513",r"'class': destructor was implicitly defined as deleted",Severity.minor),
"C4514":OfficialWarningDesc("C4514",r"'function': unreferenced inline function has been removed",Severity.minor),
"C4515":OfficialWarningDesc("C4515",r"'namespace': namespace uses itself",Severity.minor),
"C4516":OfficialWarningDesc("C4516",r"'class::symbol': access-declarations are deprecated; member using-declarations provide a better alternative",Severity.minor),
"C4517":OfficialWarningDesc("C4517",r"access-declarations are deprecated; member using-declarations provide a better alternative",Severity.minor),
"C4518":OfficialWarningDesc("C4518",r"'specifier': storage-class or type specifier(s) unexpected here; ignored",Severity.minor),
"C4519":OfficialWarningDesc("C4519",r"default template arguments are only allowed on a class template",Severity.minor),
"C4521":OfficialWarningDesc("C4521",r"'class': multiple copy constructors specified",Severity.minor),
"C4522":OfficialWarningDesc("C4522",r"'class': multiple assignment operators specified",Severity.minor),
"C4523":OfficialWarningDesc("C4523",r"'class': multiple destructors specified",Severity.minor),
"C4526":OfficialWarningDesc("C4526",r"'function': static member function cannot override virtual function 'virtual function' override ignored, virtual function will be hidden",Severity.minor),
"C4530":OfficialWarningDesc("C4530",r"C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc",Severity.minor),
"C4531":OfficialWarningDesc("C4531",r"C++ exception handling not available on Windows CE. Use Structured Exception Handling",Severity.minor),
"C4532":OfficialWarningDesc("C4532",r"'continue': jump out of '__finally/finally' block has undefined behavior during termination handling",Severity.minor),
"C4533":OfficialWarningDesc("C4533",r"initialization of 'variable' is skipped by 'goto label'",Severity.minor),
"C4534":OfficialWarningDesc("C4534",r"'constructor' will not be a default constructor for 'class/struct' 'identifier' due to the default argument",Severity.minor),
"C4535":OfficialWarningDesc("C4535",r"calling _set_se_translator() requires /EHa",Severity.minor),
"C4536":OfficialWarningDesc("C4536",r"'typename': type-name exceeds meta-data limit of 'character_limit' characters",Severity.minor),
"C4537":OfficialWarningDesc("C4537",r"'object': '.' applied to non-UDT type",Severity.minor),
"C4538":OfficialWarningDesc("C4538",r"'type': const/volatile qualifiers on this type are not supported",Severity.minor),
"C4540":OfficialWarningDesc("C4540",r"dynamic_cast used to convert to inaccessible or ambiguous base; run-time test will fail ('type1' to 'type2')",Severity.minor),
"C4541":OfficialWarningDesc("C4541",r"'identifier' used on polymorphic type 'type' with /GR-; unpredictable behavior may result",Severity.minor),
"C4542":OfficialWarningDesc("C4542",r"Skipping generation of merged injected text file, cannot write filetype file: 'issue': message",Severity.minor),
"C4543":OfficialWarningDesc("C4543",r"Injected text suppressed by attribute 'no_injected_text'",Severity.minor),
"C4544":OfficialWarningDesc("C4544",r"'declaration': default template argument ignored on this template declaration",Severity.minor),
"C4545":OfficialWarningDesc("C4545",r"expression before comma evaluates to a function which is missing an argument list",Severity.minor),
"C4546":OfficialWarningDesc("C4546",r"function call before comma missing argument list",Severity.minor),
"C4547":OfficialWarningDesc("C4547",r"'operator': operator before comma has no effect; expected operator with side-effect",Severity.minor),
"C4548":OfficialWarningDesc("C4548",r"expression before comma has no effect; expected expression with side-effect",Severity.minor),
"C4549":OfficialWarningDesc("C4549",r"'operator': operator before comma has no effect; did you intend 'operator'?",Severity.minor),
"C4550":OfficialWarningDesc("C4550",r"expression evaluates to a function which is missing an argument list",Severity.minor),
"C4551":OfficialWarningDesc("C4551",r"function call missing argument list",Severity.minor),
"C4552":OfficialWarningDesc("C4552",r"'operator': operator has no effect; expected operator with side-effect",Severity.minor),
"C4553":OfficialWarningDesc("C4553",r"'operator': operator has no effect; did you intend 'operator?",Severity.minor),
"C4554":OfficialWarningDesc("C4554",r"'operator': check operator precedence for possible error; use parentheses to clarify precedence",Severity.minor),
"C4555":OfficialWarningDesc("C4555",r"expression has no effect; expected expression with side-effect",Severity.minor),
"C4556":OfficialWarningDesc("C4556",r"value of intrinsic immediate argument 'value' is out of range 'lower_bound - upper_bound'",Severity.minor),
"C4557":OfficialWarningDesc("C4557",r"'__assume' contains effect 'effect'",Severity.minor),
"C4558":OfficialWarningDesc("C4558",r"value of operand 'value' is out of range 'lower_bound - upper_bound'",Severity.minor),
"C4559":OfficialWarningDesc("C4559",r"'function': redefinition; the function gains __declspec(modifier)",Severity.minor),
"C4561":OfficialWarningDesc("C4561",r"'__fastcall' incompatible with the '/clr' option: converting to '__stdcall'",Severity.minor),
"C4562":OfficialWarningDesc("C4562",r"fully prototyped functions are required with the '/clr' option: converting '()' to '(void)'",Severity.minor),
"C4564":OfficialWarningDesc("C4564",r"method 'method' of 'class' 'classname' defines unsupported default parameter 'parameter'",Severity.minor),
"C4565":OfficialWarningDesc("C4565",r"'function': redefinition; the symbol was previously declared with __declspec(modifier)",Severity.minor),
"C4566":OfficialWarningDesc("C4566",r"character represented by universal-character-name 'char' cannot be represented in the current code page (number)",Severity.minor),
"C4568":OfficialWarningDesc("C4568",r"'function': no members match the signature of the explicit override",Severity.minor),
"C4569":OfficialWarningDesc("C4569",r"'function': no members match the signature of the explicit override",Severity.minor),
"C4570":OfficialWarningDesc("C4570",r"'type': is not explicitly declared as abstract but has abstract functions",Severity.minor),
"C4571":OfficialWarningDesc("C4571",r"Informational: catch(...) semantics changed since Visual C++ 7.1; structured exceptions (SEH) are no longer caught",Severity.minor),
"C4572":OfficialWarningDesc("C4572",r"[ParamArray] attribute is deprecated under /clr, use '...' instead",Severity.minor),
"C4573":OfficialWarningDesc("C4573",r"the usage of 'lambda function' requires the compiler to capture 'this' but the current default capture mode does not allow it",Severity.minor),
"C4574":OfficialWarningDesc("C4574",r"'Identifier' is defined to be '0': did you mean to use '#if identifier'?",Severity.minor),
"C4575":OfficialWarningDesc("C4575",r"'__vectorcall' incompatible with the '/clr' option: converting to '__stdcall'",Severity.minor),
"C4576":OfficialWarningDesc("C4576",r"a parenthesized type followed by an initializer list is a non-standard explicit type conversion syntax",Severity.minor),
"C4577":OfficialWarningDesc("C4577",r"'noexcept' used with no exception handling mode specified; termination on exception is not guaranteed. Specify /EHsc",Severity.minor),
"C4578":OfficialWarningDesc("C4578",r"'abs': conversion from 'type1' to 'type2', possible loss of data (Did you mean to call 'function' or to #include <cmath>?)",Severity.minor),
"C4580":OfficialWarningDesc("C4580",r"[attribute] is deprecated; instead specify System::Attribute or Platform::Metadata as a base class",Severity.minor),
"C4581":OfficialWarningDesc("C4581",r"deprecated behavior: '\"string\"' replaced with 'string' to process attribute",Severity.minor),
"C4582":OfficialWarningDesc("C4582",r"'type': constructor is not implicitly called",Severity.minor),
"C4583":OfficialWarningDesc("C4583",r"'type': destructor is not implicitly called",Severity.minor),
"C4584":OfficialWarningDesc("C4584",r"'class1': base-class 'class2' is already a base-class of 'class3'",Severity.minor),
"C4585":OfficialWarningDesc("C4585",r"'class': A WinRT 'public ref class' must either be sealed or derive from an existing unsealed class",Severity.minor),
"C4586":OfficialWarningDesc("C4586",r"'type': A public type cannot be declared in a top-level namespace called 'Windows'",Severity.minor),
"C4587":OfficialWarningDesc("C4587",r"'anonymous_structure': behavior change: constructor is no longer implicitly called",Severity.minor),
"C4588":OfficialWarningDesc("C4588",r"'anonymous_structure': behavior change: destructor is no longer implicitly called",Severity.minor),
"C4591":OfficialWarningDesc("C4591",r"'constexpr' call-depth limit of number exceeded (/constexpr:depth<NUMBER>)",Severity.minor),
"C4592":OfficialWarningDesc("C4592",r"'function': 'constexpr' call evaluation failed; function will be called at run-time",Severity.minor),
"C4593":OfficialWarningDesc("C4593",r"'function': 'constexpr' call evaluation step limit of 'limit' exceeded; use /constexpr:steps<NUMBER> to increase the limit",Severity.minor),
"C4594":OfficialWarningDesc("C4594",r"'type': destructor will not be implicitly called if an exception is thrown",Severity.minor),
"C4595":OfficialWarningDesc("C4595",r"'type': behavior change: destructor will no longer be implicitly called if an exception is thrown",Severity.minor),
"C4596":OfficialWarningDesc("C4596",r"'identifier': illegal qualified name in member declaration",Severity.minor),
"C4597":OfficialWarningDesc("C4597",r"undefined behavior: offsetof applied to a member of a virtual base",Severity.minor),
"C4598":OfficialWarningDesc("C4598",r"'#include \"header\"': header number number in the precompiled header does not match current compilation at that position",Severity.minor),
"C4599":OfficialWarningDesc("C4599",r"'flag path': command line argument number number does not match precompiled header",Severity.minor),
"C4600":OfficialWarningDesc("C4600",r"#pragma 'macro name': expected a valid non-empty string",Severity.minor),
"C4602":OfficialWarningDesc("C4602",r"#pragma pop_macro: 'macro name' no previous #pragma push_macro for this identifier",Severity.minor),
"C4603":OfficialWarningDesc("C4603",r"'identifier': macro is not defined or definition is different after precompiled header use",Severity.minor),
"C4604":OfficialWarningDesc("C4604",r"'type': passing argument by value across native and managed boundary requires valid copy constructor. Otherwise the runtime behavior is undefined",Severity.minor),
"C4605":OfficialWarningDesc("C4605",r"'/Dmacro' specified on current command line, but was not specified when precompiled header was built",Severity.minor),
"C4606":OfficialWarningDesc("C4606",r"#pragma warning: 'warning number' ignored; Code Analysis warnings are not associated with warning levels",Severity.minor),
"C4608":OfficialWarningDesc("C4608",r"'union_member' has already been initialized by another union member in the initializer list, 'union_member'",Severity.minor),
"C4609":OfficialWarningDesc("C4609",r"'type1' derives from default interface 'interface' on type 'type2'. Use a different default interface for 'type1', or break the base/derived relationship.",Severity.minor),
"C4610":OfficialWarningDesc("C4610",r"object 'class' can never be instantiated - user defined constructor required",Severity.minor),
"C4611":OfficialWarningDesc("C4611",r"interaction between 'function' and C++ object destruction is non-portable",Severity.minor),
"C4612":OfficialWarningDesc("C4612",r"error in include filename",Severity.minor),
"C4613":OfficialWarningDesc("C4613",r"'symbol': class of segment cannot be changed",Severity.minor),
"C4615":OfficialWarningDesc("C4615",r"#pragma warning: unknown user warning type",Severity.minor),
"C4616":OfficialWarningDesc("C4616",r"#pragma warning: warning number 'number' not a valid compiler warning",Severity.minor),
"C4618":OfficialWarningDesc("C4618",r"pragma parameters included an empty string; pragma ignored",Severity.minor),
"C4619":OfficialWarningDesc("C4619",r"#pragma warning: there is no warning number 'number'",Severity.minor),
"C4620":OfficialWarningDesc("C4620",r"no postfix form of 'operator ++' found for type 'type', using prefix form",Severity.minor),
"C4621":OfficialWarningDesc("C4621",r"no postfix form of 'operator --' found for type 'type', using prefix form",Severity.minor),
"C4622":OfficialWarningDesc("C4622",r"overwriting debug information formed during creation of the precompiled header in object file: 'file'",Severity.minor),
"C4623":OfficialWarningDesc("C4623",r"'derived class': default constructor was implicitly defined as deleted because a base class default constructor is inaccessible or deleted",Severity.minor),
"C4624":OfficialWarningDesc("C4624",r"'derived class': destructor was implicitly defined as deleted because a base class destructor is inaccessible or deleted",Severity.minor),
"C4625":OfficialWarningDesc("C4625",r"'derived class': copy constructor was implicitly defined as deleted because a base class copy constructor is inaccessible or deleted",Severity.minor),
"C4626":OfficialWarningDesc("C4626",r"'derived class': assignment operator was implicitly defined as deleted because a base class assignment operator is inaccessible or deleted",Severity.minor),
"C4627":OfficialWarningDesc("C4627",r"'<identifier>': skipped when looking for precompiled header use",Severity.minor),
"C4628":OfficialWarningDesc("C4628",r"digraphs not supported with -Ze. Character sequence 'digraph' not interpreted as alternate token for '%s'",Severity.minor),
"C4629":OfficialWarningDesc("C4629",r"digraph used, character sequence 'digraph' interpreted as token 'char' (insert a space between the two characters if this is not what you intended)",Severity.minor),
"C4630":OfficialWarningDesc("C4630",r"'symbol': 'extern' storage-class specifier illegal on member definition",Severity.minor),
"C4631":OfficialWarningDesc("C4631",r"MSXML or XPath unavailable, XML document comments will not be processed. reason",Severity.minor),
"C4632":OfficialWarningDesc("C4632",r"XML document comment: file - access denied: reason",Severity.minor),
"C4633":OfficialWarningDesc("C4633",r"XML document comment target: error: reason",Severity.minor),
"C4634":OfficialWarningDesc("C4634",r"XML document comment target: cannot be applied: reason",Severity.minor),
"C4635":OfficialWarningDesc("C4635",r"XML document comment target: badly-formed XML: reason",Severity.minor),
"C4636":OfficialWarningDesc("C4636",r"XML document comment applied to construct: tag requires non-empty 'attribute' attribute.",Severity.minor),
"C4637":OfficialWarningDesc("C4637",r"XML document comment target: <include> tag discarded. Reason",Severity.minor),
"C4638":OfficialWarningDesc("C4638",r"XML document comment target: reference to unknown symbol 'symbol'.",Severity.minor),
"C4639":OfficialWarningDesc("C4639",r"MSXML error, XML document comments will not be processed. Reason",Severity.minor),
"C4640":OfficialWarningDesc("C4640",r"'instance': construction of local static object is not thread-safe",Severity.minor),
"C4641":OfficialWarningDesc("C4641",r"XML document comment has an ambiguous cross reference:",Severity.minor),
"C4645":OfficialWarningDesc("C4645",r"function declared with __declspec(noreturn) has a return statement",Severity.minor),
"C4646":OfficialWarningDesc("C4646",r"function declared with __declspec(noreturn) has non-void return type",Severity.minor),
"C4647":OfficialWarningDesc("C4647",r"behavior change: __is_pod(type) has different value in previous versions",Severity.minor),
"C4648":OfficialWarningDesc("C4648",r"standard attribute 'carries_dependency' is ignored",Severity.minor),
"C4649":OfficialWarningDesc("C4649",r"attributes are ignored in this context",Severity.minor),
"C4650":OfficialWarningDesc("C4650",r"debugging information not in precompiled header; only global symbols from the header will be available",Severity.minor),
"C4651":OfficialWarningDesc("C4651",r"'definition' specified for precompiled header but not for current compile",Severity.minor),
"C4652":OfficialWarningDesc("C4652",r"compiler option 'option' inconsistent with precompiled header; current command-line option will override that defined in the precompiled header",Severity.minor),
"C4653":OfficialWarningDesc("C4653",r"compiler option 'option' inconsistent with precompiled header; current command-line option ignored",Severity.minor),
"C4654":OfficialWarningDesc("C4654",r"Code placed before include of precompiled header line will be ignored. Add code to precompiled header.",Severity.minor),
"C4655":OfficialWarningDesc("C4655",r"'symbol': variable type is new since the latest build, or is defined differently elsewhere",Severity.minor),
"C4656":OfficialWarningDesc("C4656",r"'symbol': data type is new or has changed since the latest build, or is defined differently elsewhere",Severity.minor),
"C4657":OfficialWarningDesc("C4657",r"expression involves a data type that is new since the latest build",Severity.minor),
"C4658":OfficialWarningDesc("C4658",r"'function': function prototype is new since the latest build, or is declared differently elsewhere",Severity.minor),
"C4659":OfficialWarningDesc("C4659",r"#pragma 'pragma': use of reserved segment 'segment' has undefined behavior, use #pragma comment(linker, ...)",Severity.minor),
"C4661":OfficialWarningDesc("C4661",r"'identifier': no suitable definition provided for explicit template instantiation request",Severity.minor),
"C4662":OfficialWarningDesc("C4662",r"explicit instantiation; template-class 'identifier1' has no definition from which to specialize 'identifier2'",Severity.minor),
"C4667":OfficialWarningDesc("C4667",r"'function': no function template defined that matches forced instantiation",Severity.minor),
"C4668":OfficialWarningDesc("C4668",r"'symbol' is not defined as a preprocessor macro, replacing with '0' for 'directive'",Severity.minor),
"C4669":OfficialWarningDesc("C4669",r"'cast': unsafe conversion: 'class' is a managed type object",Severity.minor),
"C4670":OfficialWarningDesc("C4670",r"'identifier': this base class is inaccessible",Severity.minor),
"C4671":OfficialWarningDesc("C4671",r"'identifier': the copy constructor is inaccessible",Severity.minor),
"C4672":OfficialWarningDesc("C4672",r"'identifier1': ambiguous. First seen as 'identifier2'",Severity.minor),
"C4673":OfficialWarningDesc("C4673",r"throwing 'identifier' the following types will not be considered at the catch site",Severity.minor),
"C4674":OfficialWarningDesc("C4674",r"'method' should be declared 'static' and have exactly one parameter",Severity.minor),
"C4676":OfficialWarningDesc("C4676",r"'%s': the destructor is inaccessible",Severity.minor),
"C4677":OfficialWarningDesc("C4677",r"'function': signature of non-private member contains assembly private type 'private_type'",Severity.minor),
"C4678":OfficialWarningDesc("C4678",r"base class 'base_type' is less accessible than 'derived_type'",Severity.minor),
"C4679":OfficialWarningDesc("C4679",r"'member': could not import member",Severity.minor),
"C4680":OfficialWarningDesc("C4680",r"'class': coclass does not specify a default interface",Severity.minor),
"C4681":OfficialWarningDesc("C4681",r"'class': coclass does not specify a default interface that is an event source",Severity.minor),
"C4682":OfficialWarningDesc("C4682",r"'parameter': no directional parameter attribute specified, defaulting to [in]",Severity.minor),
"C4683":OfficialWarningDesc("C4683",r"'function': event source has an 'out'-parameter; exercise caution when hooking multiple event handlers",Severity.minor),
"C4684":OfficialWarningDesc("C4684",r"'attribute': WARNING!! attribute may cause invalid code generation: use with caution",Severity.minor),
"C4685":OfficialWarningDesc("C4685",r"expecting '> >' found '>>' when parsing template parameters",Severity.minor),
"C4686":OfficialWarningDesc("C4686",r"'user-defined type': possible change in behavior, change in UDT return calling convention",Severity.minor),
"C4687":OfficialWarningDesc("C4687",r"'class': a sealed abstract class cannot implement an interface 'interface'",Severity.minor),
"C4688":OfficialWarningDesc("C4688",r"'constraint': constraint list contains assembly private type 'type'",Severity.minor),
"C4689":OfficialWarningDesc("C4689",r"'%c': unsupported character in #pragma detect_mismatch; #pragma ignored",Severity.minor),
"C4690":OfficialWarningDesc("C4690",r"[ emitidl( pop ) ]: more pops than pushes",Severity.minor),
"C4691":OfficialWarningDesc("C4691",r"'type': type referenced was expected in unreferenced assembly 'file', type defined in current translation unit used instead",Severity.minor),
"C4692":OfficialWarningDesc("C4692",r"'function': signature of non-private member contains assembly private native type 'native_type'",Severity.minor),
"C4693":OfficialWarningDesc("C4693",r"'class': a sealed abstract class cannot have any instance members 'instance member'",Severity.minor),
"C4694":OfficialWarningDesc("C4694",r"'class': a sealed abstract class cannot have a base-class 'base_class'",Severity.minor),
"C4695":OfficialWarningDesc("C4695",r"#pragma execution_character_set: 'character set' is not a supported argument: currently only 'UTF-8' is supported",Severity.minor),
"C4696":OfficialWarningDesc("C4696",r"/ZBvalue1 option out of range; assuming 'value2'",Severity.minor),
"C4700":OfficialWarningDesc("C4700",r"uninitialized local variable 'name' used",Severity.major),
"C4701":OfficialWarningDesc("C4701",r"potentially uninitialized local variable 'name' used",Severity.major),
"C4702":OfficialWarningDesc("C4702",r"unreachable code",Severity.minor),
"C4703":OfficialWarningDesc("C4703",r"potentially uninitialized local pointer variable '%s' used",Severity.major),
"C4706":OfficialWarningDesc("C4706",r"assignment within conditional expression",Severity.minor),
"C4709":OfficialWarningDesc("C4709",r"comma operator within array index expression",Severity.minor),
"C4710":OfficialWarningDesc("C4710",r"'function': function not inlined",Severity.minor),
"C4711":OfficialWarningDesc("C4711",r"function 'function' selected for automatic inline expansion",Severity.minor),
"C4714":OfficialWarningDesc("C4714",r"function 'function' marked as __forceinline not inlined",Severity.minor),
"C4715":OfficialWarningDesc("C4715",r"'function': not all control paths return a value",Severity.minor),
"C4716":OfficialWarningDesc("C4716",r"'function': must return a value",Severity.minor),
"C4717":OfficialWarningDesc("C4717",r"'function': recursive on all control paths, function will cause runtime stack overflow",Severity.major),
"C4718":OfficialWarningDesc("C4718",r"'function call': recursive call has no side effects, deleting",Severity.minor),
"C4719":OfficialWarningDesc("C4719",r"Double constant found when Qfast specified - use 'f' as a suffix to indicate single precision",Severity.minor),
"C4720":OfficialWarningDesc("C4720",r"in-line assembler reports: 'message'",Severity.minor),
"C4721":OfficialWarningDesc("C4721",r"'function': not available as an intrinsic",Severity.minor),
"C4722":OfficialWarningDesc("C4722",r"'function': destructor never returns, potential memory leak",Severity.minor),
"C4723":OfficialWarningDesc("C4723",r"potential divide by 0",Severity.major),
"C4724":OfficialWarningDesc("C4724",r"potential mod by 0",Severity.major),
"C4725":OfficialWarningDesc("C4725",r"instruction may be inaccurate on some Pentiums",Severity.major),
"C4727":OfficialWarningDesc("C4727",r"PCH named pch_file with same timestamp found in obj_file_1 and obj_file_2. Using first PCH.",Severity.minor),
"C4728":OfficialWarningDesc("C4728",r"/Yl- option ignored because PCH reference is required",Severity.minor),
"C4729":OfficialWarningDesc("C4729",r"function too big for flow graph based warnings",Severity.minor),
"C4730":OfficialWarningDesc("C4730",r"'main': mixing _m64 and floating point expressions may result in incorrect code",Severity.minor),
"C4731":OfficialWarningDesc("C4731",r"'pointer': frame pointer register 'register' modified by inline assembly code",Severity.minor),
"C4732":OfficialWarningDesc("C4732",r"intrinsic '%s' is not supported in this architecture",Severity.minor),
"C4733":OfficialWarningDesc("C4733",r"Inline asm assigning to 'FS:0': handler not registered as safe handler",Severity.minor),
"C4738":OfficialWarningDesc("C4738",r"storing 32-bit float result in memory, possible loss of performance",Severity.minor),
"C4739":OfficialWarningDesc("C4739",r"reference to variable 'var' exceeds its storage space",Severity.minor),
"C4740":OfficialWarningDesc("C4740",r"flow in or out of inline asm code suppresses global optimization",Severity.minor),
"C4742":OfficialWarningDesc("C4742",r"'var' has different alignment in 'file1' and 'file2': number and number",Severity.major),
"C4743":OfficialWarningDesc("C4743",r"'type' has different size in 'file1' and 'file2': number and number bytes",Severity.minor),
"C4744":OfficialWarningDesc("C4744",r"'var' has different type in 'file1' and 'file2': 'type1' and 'type2'",Severity.minor),
"C4746":OfficialWarningDesc("C4746",r"volatile access of 'expression' is subject to /volatile:<iso|ms> setting; consider using __iso_volatile_load/store intrinsic functions",Severity.minor),
"C4747":OfficialWarningDesc("C4747",r"Calling managed 'entrypoint': Managed code may not be run under loader lock, including the DLL entrypoint and calls reached from the DLL entrypoint",Severity.minor),
"C4749":OfficialWarningDesc("C4749",r"conditionally supported: offsetof applied to non-standard-layout type 'type'",Severity.minor),
"C4750":OfficialWarningDesc("C4750",r"'identifier': function with _alloca() inlined into a loop",Severity.minor),
"C4751":OfficialWarningDesc("C4751",r"/arch:AVX does not apply to Intel(R) Streaming SIMD Extensions that are within inline ASM",Severity.minor),
"C4752":OfficialWarningDesc("C4752",r"found Intel(R) Advanced Vector Extensions; consider using /arch:AVX",Severity.minor),
"C4754":OfficialWarningDesc("C4754",r"Conversion rules for arithmetic operations in the comparison at %s(%d) mean that one branch cannot be executed. Cast '%s' to '%s' (or similar type of %d bytes).",Severity.minor),
"C4755":OfficialWarningDesc("C4755",r"Conversion rules for arithmetic operations in the comparison at %s(%d) mean that one branch cannot be executed in an inlined function. Cast '%s' to '%s' (or similar type of %d bytes).",Severity.minor),
"C4756":OfficialWarningDesc("C4756",r"overflow in constant arithmetic",Severity.major),
"C4757":OfficialWarningDesc("C4757",r"subscript is a large unsigned value, did you intend a negative constant?",Severity.minor),
"C4764":OfficialWarningDesc("C4764",r"Can not align catch objects to greater than 16 bytes",Severity.minor),
"C4767":OfficialWarningDesc("C4767",r"section name '%s' is longer than 8 characters and will be truncated by the linker",Severity.minor),
"C4768":OfficialWarningDesc("C4768",r"__declspec attributes before linkage specification are ignored",Severity.minor),
"C4770":OfficialWarningDesc("C4770",r"partially validated enum 'name' used as index",Severity.minor),
"C4771":OfficialWarningDesc("C4771",r"Bounds must be created using a simple pointer; MPX intrinsic function ignored",Severity.minor),
"C4772":OfficialWarningDesc("C4772",r"#import referenced a type from a missing type library; 'missing_type' used as a placeholder",Severity.minor),
"C4774":OfficialWarningDesc("C4774",r"'string' : format string expected in argument number is not a string literal",Severity.minor),
"C4775":OfficialWarningDesc("C4775",r"nonstandard extension used in format string 'string' of function 'function'",Severity.minor),
"C4776":OfficialWarningDesc("C4776",r"'%character' is not allowed in the format string of function 'function'",Severity.minor),
"C4777":OfficialWarningDesc("C4777",r"'function' : format string 'string' requires an argument of type 'type1', but variadic argument number has type 'type2'",Severity.minor),
"C4778":OfficialWarningDesc("C4778",r"'function' : unterminated format string 'string'",Severity.minor),
"C4788":OfficialWarningDesc("C4788",r"'identifier': identifier was truncated to 'number' characters",Severity.minor),
"C4789":OfficialWarningDesc("C4789",r"buffer 'identifier' of size N bytes will be overrun; M bytes will be written starting at offset L",Severity.minor),
"C4792":OfficialWarningDesc("C4792",r"function '%s' declared using sysimport and referenced from native code; import library required to link",Severity.minor),
"C4793":OfficialWarningDesc("C4793",r"'function': function compiled as native:\n\t'reason'",Severity.minor),
"C4794":OfficialWarningDesc("C4794",r"segment of thread local storage variable '%s' changed from '%s' to '%s'",Severity.minor),
"C4799":OfficialWarningDesc("C4799",r"function 'function' has no EMMS instruction",Severity.minor),
"C4800":OfficialWarningDesc("C4800",r"Implicit conversion from 'type' to bool. Possible information loss",Severity.minor),
"C4803":OfficialWarningDesc("C4803",r"'method': the raise method has a different storage class from that of the event, 'event'",Severity.minor),
"C4804":OfficialWarningDesc("C4804",r"'operation': unsafe use of type 'bool' in operation",Severity.minor),
"C4805":OfficialWarningDesc("C4805",r"'operation': unsafe mix of type 'type1' and type 'type2' in operation",Severity.minor),
"C4806":OfficialWarningDesc("C4806",r"'operation': unsafe operation: no value of type 'type1' promoted to type 'type2' can equal the given constant",Severity.minor),
"C4807":OfficialWarningDesc("C4807",r"'operation': unsafe mix of type 'type1' and signed bit field of type 'type2'",Severity.minor),
"C4808":OfficialWarningDesc("C4808",r"case 'value' is not a valid value for switch condition of type 'bool'",Severity.minor),
"C4809":OfficialWarningDesc("C4809",r"switch statement has redundant 'default' label; all possible 'case' labels are given",Severity.minor),
"C4810":OfficialWarningDesc("C4810",r"value of pragma pack(show) == n",Severity.minor),
"C4811":OfficialWarningDesc("C4811",r"value of pragma conform(forScope, show) == value",Severity.minor),
"C4812":OfficialWarningDesc("C4812",r"obsolete declaration style: please use 'new_syntax' instead",Severity.minor),
"C4813":OfficialWarningDesc("C4813",r"'function': a friend function of a local class must have been previously declared",Severity.minor),
"C4816":OfficialWarningDesc("C4816",r"'param': parameter has a zero-sized array which will be truncated (unless the object is passed by reference)",Severity.minor),
"C4817":OfficialWarningDesc("C4817",r"'member': illegal use of '.' to access this member; compiler replaced with '->'",Severity.major),
"C4819":OfficialWarningDesc("C4819",r"The file contains a character that cannot be represented in the current code page (number). Save the file in Unicode format to prevent data loss",Severity.minor),
"C4820":OfficialWarningDesc("C4820",r"'bytes' bytes padding added after construct 'member_name'",Severity.minor),
"C4821":OfficialWarningDesc("C4821",r"Unable to determine Unicode encoding type, please save the file with signature (BOM)",Severity.minor),
"C4822":OfficialWarningDesc("C4822",r"'member function': local class member function does not have a body",Severity.minor),
"C4823":OfficialWarningDesc("C4823",r"'function': uses pinning pointers but unwind semantics are not enabled. Consider using /EHa",Severity.minor),
"C4826":OfficialWarningDesc("C4826",r"Conversion from 'type1' to 'type2' is sign-extended. This may cause unexpected runtime behavior.",Severity.minor),
"C4827":OfficialWarningDesc("C4827",r"A public 'ToString' method with 0 parameters should be marked as virtual and override",Severity.minor),
"C4829":OfficialWarningDesc("C4829",r"Possibly incorrect parameters to function main. Consider 'int main(Platform::Array<Platform::String^>^ argv)'",Severity.minor),
"C4835":OfficialWarningDesc("C4835",r"'variable': the initializer for exported data will not be run until managed code is first executed in the host assembly",Severity.minor),
"C4837":OfficialWarningDesc("C4837",r"trigraph detected: '??character' replaced by 'character'",Severity.minor),
"C4838":OfficialWarningDesc("C4838",r"conversion from 'type_1' to 'type_2' requires a narrowing conversion",Severity.minor),
"C4839":OfficialWarningDesc("C4839",r"non-standard use of class 'type' as an argument to a variadic function",Severity.minor),
"C4840":OfficialWarningDesc("C4840",r"non-portable use of class 'type' as an argument to a variadic function",Severity.minor),
"C4841":OfficialWarningDesc("C4841",r"non-standard extension used: compound member designator used in offsetof",Severity.minor),
"C4842":OfficialWarningDesc("C4842",r"the result of 'offsetof' applied to a type using multiple inheritance is not guaranteed to be consistent between compiler releases",Severity.minor),
"C4843":OfficialWarningDesc("C4843",r"'type1': An exception handler of reference to array or function type is unreachable, use 'type2' instead",Severity.minor),
"C4844":OfficialWarningDesc("C4844",r"'export module module_name;' is now the preferred syntax for declaring a module interface",Severity.minor),
"C4845":OfficialWarningDesc("C4845",r"'__declspec(no_init_all)' is ignored if '/d1initall[0|1|2|3]' was not specified on the command line",Severity.minor),
"C4846":OfficialWarningDesc("C4846",r"'value' is not a valid argument for '/d1initall': command-line flag ignored",Severity.minor),
"C4847":OfficialWarningDesc("C4847",r"'__declspec(no_init_all)' can only be applied to a function, a class type, or a local variable: ignored",Severity.minor),
"C4848":OfficialWarningDesc("C4848",r"support for standard attribute 'no_unique_address' in C++17 and earlier is a vendor extension",Severity.minor),
"C4854":OfficialWarningDesc("C4854",r"binding dereferenced null pointer to reference has undefined behavior",Severity.major),
"C4855":OfficialWarningDesc("C4855",r"implicit capture of 'this' via '[=]' is deprecated in 'version'",Severity.minor),
"C4856":OfficialWarningDesc("C4856",r"'value' is not a valid argument for '/d1initAll:FillPattern' (value must be between 0 and 255). Command-line flag ignored",Severity.minor),
"C4857":OfficialWarningDesc("C4857",r"C++/CLI mode does not support C++ versions newer than C++17; setting language to /std:c++17",Severity.minor),
"C4866":OfficialWarningDesc("C4866",r"compiler may not enforce left-to-right evaluation order for call to operator_name",Severity.minor),
"C4867":OfficialWarningDesc("C4867",r"'function': function call missing argument list; use 'call' to create a pointer to member",Severity.minor),
"C4868":OfficialWarningDesc("C4868",r"'file(line_number)' compiler may not enforce left-to-right evaluation order in braced initialization list",Severity.minor),
"C4872":OfficialWarningDesc("C4872",r"floating point division by zero detected when compiling the call graph for the concurrency::parallel_for_each at: 'location'",Severity.minor),
"C4880":OfficialWarningDesc("C4880",r"casting from 'const type_1' to 'type_2': casting away constness from a pointer or reference may result in undefined behavior in an amp restricted function",Severity.minor),
"C4881":OfficialWarningDesc("C4881",r"the constructor and/or the destructor will not be invoked for tile_static variable 'variable-name'",Severity.minor),
"C4882":OfficialWarningDesc("C4882",r"passing functors with non-const call operators to concurrency::parallel_for_each is deprecated",Severity.minor),
"C4900":OfficialWarningDesc("C4900",r"Il mismatch between 'tool1' version 'version1' and 'tool2' version 'version2'",Severity.minor),
"C4905":OfficialWarningDesc("C4905",r"wide string literal cast to 'LPSTR'",Severity.minor),
"C4906":OfficialWarningDesc("C4906",r"string literal cast to 'LPWSTR'",Severity.minor),
"C4910":OfficialWarningDesc("C4910",r"'<identifier>: '__declspec(dllexport)' and 'extern' are incompatible on an explicit instantiation",Severity.minor),
"C4912":OfficialWarningDesc("C4912",r"'attribute': attribute has undefined behavior on a nested UDT",Severity.minor),
"C4913":OfficialWarningDesc("C4913",r"user defined binary operator ',' exists but no overload could convert all operands, default built-in binary operator ',' used",Severity.minor),
"C4916":OfficialWarningDesc("C4916",r"in order to have a dispid, 'description': must be introduced by an interface",Severity.minor),
"C4917":OfficialWarningDesc("C4917",r"'declarator': a GUID can only be associated with a class, interface or namespace",Severity.minor),
"C4918":OfficialWarningDesc("C4918",r"'character': invalid character in pragma optimization list",Severity.minor),
"C4920":OfficialWarningDesc("C4920",r"enum enum-name member member_1=value_1 already seen in enum enum-name as member_2=value_2",Severity.minor),
"C4921":OfficialWarningDesc("C4921",r"'description': attribute value 'attribute' should not be multiply specified",Severity.minor),
"C4925":OfficialWarningDesc("C4925",r"'method': dispinterface method cannot be called from script",Severity.minor),
"C4926":OfficialWarningDesc("C4926",r"'identifier': symbol is already defined: attributes ignored",Severity.minor),
"C4927":OfficialWarningDesc("C4927",r"illegal conversion; more than one user-defined conversion has been implicitly applied",Severity.minor),
"C4928":OfficialWarningDesc("C4928",r"illegal copy-initialization; more than one user-defined conversion has been implicitly applied",Severity.minor),
"C4929":OfficialWarningDesc("C4929",r"'file': typelibrary contains a union; ignoring the 'embedded_idl' qualifier",Severity.minor),
"C4930":OfficialWarningDesc("C4930",r"'prototype': prototyped function not called (was a variable definition intended?)",Severity.minor),
"C4931":OfficialWarningDesc("C4931",r"we are assuming the type library was built for number-bit pointers",Severity.minor),
"C4932":OfficialWarningDesc("C4932",r"__identifier(identifier) and __identifier(identifier) are indistinguishable",Severity.minor),
"C4934":OfficialWarningDesc("C4934",r"'__delegate(multicast)' is deprecated, use '__delegate' instead",Severity.minor),
"C4935":OfficialWarningDesc("C4935",r"assembly access specifier modified from 'access'",Severity.minor),
"C4936":OfficialWarningDesc("C4936",r"this __declspec is supported only when compiled with /clr or /clr:pure",Severity.minor),
"C4937":OfficialWarningDesc("C4937",r"'text1' and 'text2' are indistinguishable as arguments to 'directive'",Severity.minor),
"C4938":OfficialWarningDesc("C4938",r"'var': Floating point reduction variable may cause inconsistent results under /fp:strict or #pragma fenv_access",Severity.minor),
"C4939":OfficialWarningDesc("C4939",r"#pragma vtordisp is deprecated and will be removed in a future release of Visual C++",Severity.minor),
"C4944":OfficialWarningDesc("C4944",r"'symbol': cannot import symbol from 'assembly1': as 'symbol' already exists in the current scope",Severity.minor),
"C4945":OfficialWarningDesc("C4945",r"'symbol': cannot import symbol from 'assembly1': as 'symbol' has already been imported from another assembly 'assembly2'",Severity.minor),
"C4946":OfficialWarningDesc("C4946",r"reinterpret_cast used between related classes: 'class1' and 'class2'",Severity.minor),
"C4947":OfficialWarningDesc("C4947",r"'type_or_member': marked as obsolete",Severity.minor),
"C4948":OfficialWarningDesc("C4948",r"return type of 'accessor' does not match the last parameter type of the corresponding setter",Severity.minor),
"C4949":OfficialWarningDesc("C4949",r"pragmas 'managed' and 'unmanaged' are meaningful only when compiled with '/clr[:option]'",Severity.minor),
"C4950":OfficialWarningDesc("C4950",r"'type_or_member': marked as obsolete",Severity.minor),
"C4951":OfficialWarningDesc("C4951",r"'function' has been edited since profile data was collected, function profile data not used",Severity.minor),
"C4952":OfficialWarningDesc("C4952",r"'function': no profile data found in program database 'pgd-file'",Severity.minor),
"C4953":OfficialWarningDesc("C4953",r"Inlinee 'function' has been edited since profile data was collected, profile data not used",Severity.minor),
"C4954":OfficialWarningDesc("C4954",r"'function': not profiled (contains __int64 switch expression)",Severity.minor),
"C4955":OfficialWarningDesc("C4955",r"'import2': import ignored; already imported from 'import1'",Severity.minor),
"C4956":OfficialWarningDesc("C4956",r"'type': this type is not verifiable",Severity.minor),
"C4957":OfficialWarningDesc("C4957",r"'cast': explicit cast from 'cast_from' to 'cast_to' is not verifiable",Severity.minor),
"C4958":OfficialWarningDesc("C4958",r"'operation': pointer arithmetic is not verifiable",Severity.minor),
"C4959":OfficialWarningDesc("C4959",r"cannot define unmanaged type 'type' in /clr:safe because accessing its members yields unverifiable code",Severity.minor),
"C4960":OfficialWarningDesc("C4960",r"'function' is too big to be profiled",Severity.minor),
"C4961":OfficialWarningDesc("C4961",r"No profile data was merged into 'pgd-file', profile-guided optimizations disabled",Severity.minor),
"C4962":OfficialWarningDesc("C4962",r"'function': Profile-guided optimizations disabled because optimizations caused profile data to become inconsistent",Severity.minor),
"C4963":OfficialWarningDesc("C4963",r"'description': no profile data found; different compiler options were used in instrumented build",Severity.minor),
"C4964":OfficialWarningDesc("C4964",r"No optimization options were specified; profile info will not be collected",Severity.minor),
"C4965":OfficialWarningDesc("C4965",r"implicit box of integer 0; use nullptr or explicit cast",Severity.minor),
"C4966":OfficialWarningDesc("C4966",r"'function' has __code_seg annotation with unsupported segment name, annotation ignored",Severity.minor),
"C4970":OfficialWarningDesc("C4970",r"delegate constructor: target object ignored since 'type' is static",Severity.minor),
"C4971":OfficialWarningDesc("C4971",r"Argument order: <target object>, <target function> for delegate constructor is deprecated, use <target function>, <target object="">",Severity.minor),
"C4972":OfficialWarningDesc("C4972",r"Directly modifying or treating the result of an unbox operation as an lvalue is unverifiable",Severity.minor),
"C4973":OfficialWarningDesc("C4973",r"'symbol': marked as deprecated",Severity.minor),
"C4974":OfficialWarningDesc("C4974",r"'symbol': marked as deprecated",Severity.minor),
"C4981":OfficialWarningDesc("C4981",r"Warbird: function 'function' marked as __forceinline not inlined because it contains exception semantics",Severity.minor),
"C4984":OfficialWarningDesc("C4984",r"'if constexpr' is a C++17 language extension",Severity.minor),
"C4985":OfficialWarningDesc("C4985",r"'symbol_name': attributes not present on previous declaration.",Severity.minor),
"C4986":OfficialWarningDesc("C4986",r"'declaration': exception specification does not match previous declaration",Severity.minor),
"C4987":OfficialWarningDesc("C4987",r"nonstandard extension used: 'throw (...)'",Severity.minor),
"C4988":OfficialWarningDesc("C4988",r"'variable': variable declared outside class/function scope",Severity.minor),
"C4989":OfficialWarningDesc("C4989",r"'type': type has conflicting definitions.",Severity.minor),
"C4990":OfficialWarningDesc("C4990",r"Warbird: message",Severity.minor),
"C4991":OfficialWarningDesc("C4991",r"Warbird: function 'function' marked as __forceinline not inlined because protection level of inlinee is greater than the parent",Severity.minor),
"C4992":OfficialWarningDesc("C4992",r"Warbird: function 'function-name' marked as __forceinline not inlined because it contains inline assembly which cannot be protected",Severity.minor),
"C4995":OfficialWarningDesc("C4995",r"'function': name was marked as #pragma deprecated",Severity.minor),
"C4996":OfficialWarningDesc("C4996",r"'deprecated-declaration': deprecation-message (or \"was declared deprecated\")",Severity.minor),
"C4997":OfficialWarningDesc("C4997",r"'class': coclass does not implement a COM interface or pseudo-interface",Severity.minor),
"C4998":OfficialWarningDesc("C4998",r"EXPECTATION FAILED: expectation(value)",Severity.minor),
"C4999":OfficialWarningDesc("C4999",r"UNKNOWN WARNING Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information",Severity.minor),
"C5022":OfficialWarningDesc("C5022",r"'type': multiple move constructors specified",Severity.minor),
"C5023":OfficialWarningDesc("C5023",r"'type': multiple move assignment operators specified",Severity.minor),
"C5024":OfficialWarningDesc("C5024",r"'type': move constructor was implicitly defined as deleted",Severity.minor),
"C5025":OfficialWarningDesc("C5025",r"'type': move assignment operator was implicitly defined as deleted",Severity.minor),
"C5026":OfficialWarningDesc("C5026",r"'type': move constructor was implicitly defined as deleted",Severity.minor),
"C5027":OfficialWarningDesc("C5027",r"'type': move assignment operator was implicitly defined as deleted",Severity.minor),
"C5028":OfficialWarningDesc("C5028",r"'name': Alignment specified in prior declaration (number) not specified in definition",Severity.minor),
"C5029":OfficialWarningDesc("C5029",r"nonstandard extension used: alignment attributes in C++ apply to variables, data members and tag types only",Severity.minor),
"C5030":OfficialWarningDesc("C5030",r"attribute 'attribute-name' is not recognized",Severity.minor),
"C5031":OfficialWarningDesc("C5031",r"#pragma warning(pop): likely mismatch, popping warning state pushed in different file",Severity.minor),
"C5032":OfficialWarningDesc("C5032",r"detected #pragma warning(push) with no corresponding #pragma warning(pop)",Severity.minor),
"C5033":OfficialWarningDesc("C5033",r"'storage-class' is no longer a supported storage class",Severity.minor),
"C5034":OfficialWarningDesc("C5034",r"use of intrinsic 'intrinsic' causes function function-name to be compiled as guest code",Severity.minor),
"C5035":OfficialWarningDesc("C5035",r"use of feature 'feature' causes function function-name to be compiled as guest code",Severity.minor),
"C5036":OfficialWarningDesc("C5036",r"varargs function pointer conversion when compiling with /hybrid:x86arm64 'type1' to 'type2'",Severity.minor),
"C5037":OfficialWarningDesc("C5037",r"'member-function': an out-of-line definition of a member of a class template cannot have default arguments",Severity.minor),
"C5038":OfficialWarningDesc("C5038",r"data member 'member1' will be initialized after data member 'member2'",Severity.minor),
"C5039":OfficialWarningDesc("C5039",r"'function': pointer or reference to potentially throwing function passed to extern C function under -EHc. Undefined behavior may occur if this function throws an exception.",Severity.minor),
"C5040":OfficialWarningDesc("C5040",r"dynamic exception specifications are valid only in C++14 and earlier; treating as noexcept(false)",Severity.minor),
"C5041":OfficialWarningDesc("C5041",r"'definition': out-of-line definition for constexpr static data member is not needed and is deprecated in C++17",Severity.minor),
"C5042":OfficialWarningDesc("C5042",r"'declaration': function declarations at block scope cannot be specified 'inline' in standard C++; remove 'inline' specifier",Severity.minor),
"C5043":OfficialWarningDesc("C5043",r"'specification': exception specification does not match previous declaration",Severity.minor),
"C5044":OfficialWarningDesc("C5044",r"An argument to command-line option option-name points to a path 'path-name' that does not exist",Severity.minor),
"C5045":OfficialWarningDesc("C5045",r"Compiler will insert Spectre mitigation for memory load if /Qspectre switch specified",Severity.minor),
"C5046":OfficialWarningDesc("C5046",r"'function': Symbol involving type with internal linkage not defined",Severity.minor),
"C5047":OfficialWarningDesc("C5047",r"use of nonstandard __if_exists with modules is not supported",Severity.minor),
"C5048":OfficialWarningDesc("C5048",r"Use of macro 'macroname' may result in non-deterministic output",Severity.minor),
"C5049":OfficialWarningDesc("C5049",r"'string': Embedding a full path may result in machine-dependent output",Severity.minor),
"C5050":OfficialWarningDesc("C5050",r"Possible incompatible environment while importing module 'module_name': issue",Severity.minor),
"C5051":OfficialWarningDesc("C5051",r"attribute 'attribute-name' requires at least 'standard-level'; ignored",Severity.minor),
"C5052":OfficialWarningDesc("C5052",r"Keyword 'keyword-name' was introduced in C++<version> and requires use of the 'option-name' command-line option",Severity.minor),
"C5053":OfficialWarningDesc("C5053",r"support for 'explicit(<expr>)' in C++17 and earlier is a vendor extension",Severity.minor),
"C5054":OfficialWarningDesc("C5054",r"operator 'operator-name': deprecated between enumerations of different types",Severity.minor),
"C5055":OfficialWarningDesc("C5055",r"operator 'operator-name': deprecated between enumerations and floating-point types",Severity.minor),
"C5056":OfficialWarningDesc("C5056",r"operator 'operator-name': deprecated for array types",Severity.minor),
"C5057":OfficialWarningDesc("C5057",r"header unit reference to 'name' already exists. Ignoring header unit 'header-name'",Severity.minor),
"C5058":OfficialWarningDesc("C5058",r"file system error: cannot find header file 'file-name' for header unit 'unit-name'",Severity.minor),
"C5059":OfficialWarningDesc("C5059",r"runtime checks and address sanitizer is not currently supported - disabling runtime checks",Severity.minor),
"C5060":OfficialWarningDesc("C5060",r"/Qpar and address sanitizer not currently supported - disabling auto-parallelization",Severity.minor),
"C5061":OfficialWarningDesc("C5061",r"the use of a comma operator as a subscript expression has been deprecated",Severity.minor),
"C5062":OfficialWarningDesc("C5062",r"enum direct list initialization between 'type-1' and 'type-2' is no longer supported",Severity.minor),
"C5063":OfficialWarningDesc("C5063",r"'std::is_constant_evaluated' always evaluates to true in manifestly constant-evaluated expressions",Severity.minor),
"C5100":OfficialWarningDesc("C5100",r"__VA_ARGS__ is reserved for use in variadic macros",Severity.minor),
"C5101":OfficialWarningDesc("C5101",r"use of preprocessor directive in function-like macro argument list is undefined behavior",Severity.minor),
"C5102":OfficialWarningDesc("C5102",r"ignoring invalid command-line macro definition 'value'",Severity.minor),
"C5103":OfficialWarningDesc("C5103",r"pasting 'token1' and 'token2' does not result in a valid preprocessing token",Severity.minor),
"C5104":OfficialWarningDesc("C5104",r"found 'string1#string2' in macro replacement list, did you mean 'string1""#string2'?",Severity.minor),
"C5105":OfficialWarningDesc("C5105",r"macro expansion producing 'defined' has undefined behavior",Severity.minor),
"C5106":OfficialWarningDesc("C5106",r"macro redefined with different parameter names",Severity.minor),
"C5107":OfficialWarningDesc("C5107",r"missing terminating 'char' character",Severity.minor),
"C5108":OfficialWarningDesc("C5108",r"__VA_OPT__ is reserved for use in variadic macros",Severity.minor),
"C5200":OfficialWarningDesc("C5200",r"feature 'feature-name' requires compiler flag 'option-name'",Severity.minor),
"C5201":OfficialWarningDesc("C5201",r"a module declaration can appear only at the start of a translation unit unless a global module fragment is used",Severity.minor),
"C5202":OfficialWarningDesc("C5202",r"a global module fragment can only contain preprocessor directives",Severity.minor),
"C5203":OfficialWarningDesc("C5203",r"a parenthesized declarator name after 'explicit' will be considered an explicit-specifier in C++20",Severity.minor),
"C5204":OfficialWarningDesc("C5204",r"'type-name': class has virtual functions, but its trivial destructor is not virtual; instances of objects derived from this class may not be destructed correctly",Severity.minor),
"C5205":OfficialWarningDesc("C5205",r"delete of an abstract class 'type-name' that has a non-virtual destructor results in undefined behavior",Severity.minor),
"C5206":OfficialWarningDesc("C5206",r"deduced return types for coroutines is a non-standard extension",Severity.minor),
"C5207":OfficialWarningDesc("C5207",r"the simple requirement asserts the validity of expression 'e->id'. Did you mean '{ e } -> id'? You can suppress the warning using '{ e->id }'",Severity.minor),
"C5208":OfficialWarningDesc("C5208",r"unnamed class used in typedef name cannot declare members other than non-static data members, member enumerations, or member classes",Severity.minor),
"C5209":OfficialWarningDesc("C5209",r"the C++20 syntax for an init-capture has changed to '& ...opt identifier initializer'",Severity.minor),
"C5210":OfficialWarningDesc("C5210",r"'name' is not a valid header unit reference; ignoring",Severity.minor),
"C5212":OfficialWarningDesc("C5212",r"'name' is not a valid named reference; treating as reference to file",Severity.minor),
"C5213":OfficialWarningDesc("C5213",r"'name' named reference is treated as a named partition but the name is not specified; treating as reference to file",Severity.minor),
"C5214":OfficialWarningDesc("C5214",r"applying 'modifier' to an operand with a volatile qualified type is deprecated in C++20",Severity.minor),
"C5215":OfficialWarningDesc("C5215",r"'name' a function parameter with a volatile qualified type is deprecated in C++20",Severity.minor),
"C5216":OfficialWarningDesc("C5216",r"'name' a volatile qualified return type is deprecated in C++20",Severity.minor),
"C5217":OfficialWarningDesc("C5217",r"a structured binding declaration that includes volatile is deprecated in C++20",Severity.minor),
"C5218":OfficialWarningDesc("C5218",r"destroying delete may not behave as intended when non-conforming switches '/Zc:sizedDealloc-' or '/Zc:alignedNew-' are used",Severity.minor),
"C5219":OfficialWarningDesc("C5219",r"implicit conversion from 'type-1' to 'type-2', possible loss of data",Severity.minor),
"C5220":OfficialWarningDesc("C5220",r"'name': a non-static data member with a volatile qualified type no longer implies that compiler generated copy/move constructors and copy/move assignment operators are not trivial",Severity.minor),
"C5221":OfficialWarningDesc("C5221",r"xfg::rename is deprecated.",Severity.minor)
}
#example
#C:\Project\file.h(1061): warning C4267: 'initializing' : conversion from 'size_t' to 'const int', possible loss of data
class VisualStudioLineParser(LineParser):
grammar = pp.SkipTo(pp_defs.POSITIONINFO)("file") + pp_defs.POSITIONINFO("pos") \
+ pp.Literal("warning") + pp.Combine('C' + pp_defs.NUMBERS)("warningid") + pp_defs.COLON + pp.White() \
+ pp.SkipTo(pp_defs.BRACKETED + pp.LineEnd(), include=True)("message")
def setGrammar(self, grammar):
self.grammar = grammar
def setLine(self, rawline):
self.rawline = rawline
def parseLine(self):
try:
self.matches = self.grammar.parseString(self.rawline)
except:
self.matches = None
def getWarningObject(self):
warningobj = None
if (self.matches != None):
warningobj = Warning()
try:
pos = self.matches["pos"]
warningobj.linenumber = int(pos[0])
if len(self.matches["pos"]) == 2:
warningobj.colnumber = int(pos[1])
warningobj.warningid = self.matches["warningid"].strip()
warningobj.warningmessage = self.matches["message"].strip()
warningobj.fullpath = Path(self.matches["file"])
except:
print("Error: Parser failed to match on line: {0}".format(self.rawline))
try:
warningobj.severity = all_warnings[warningobj.warningid].severity
except:
warningobj.severity = Severity.info
return warningobj