LLVM: include/llvm/IR/DiagnosticInfo.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_IR_DIAGNOSTICINFO_H
15#define LLVM_IR_DIAGNOSTICINFO_H
16
29#include
30#include
31#include
32#include
33#include
34
35namespace llvm {
36
37
48
49
58
59
60
98
99
100
101
102
103
104
105
106
108
109
110
111
112
113
115private:
116
117 const int Kind;
118
120
121 virtual void anchor();
122public:
124 : Kind(Kind), Severity(Severity) {}
125
127
128 int getKind() const { return Kind; }
130
131
132
133
134
135
136
138};
139
141
143 const Twine &MsgStr;
145
146public:
147
148
149
153
158
161
162
164
168};
169
170
171
173private:
174
176
177 const Twine &MsgStr;
178
180
181public:
182
183
184
185
189
190
191
192
193
194
198
202
203
205
209};
210
211
212
214private:
215
217
218 unsigned MetadataVersion;
219
220public:
221
222
226 MetadataVersion(MetadataVersion) {}
227
230
231
233
237};
238
239
242private:
243
245
246public:
247
251
253
254
256
260};
261
262
264public:
269 LineNum(LineNum), Msg(Msg) {}
278
279
281
285
289
290private:
291
293
294
295
296 unsigned LineNum = 0;
297
298
299 const Twine &Msg;
300};
301
302
304public:
309
310
312
316
319
320private:
321
322 const char *FileName;
323
324
325 const Twine &Msg;
326};
327
329 DIFile *File = nullptr;
330 unsigned Line = 0;
331 unsigned Column = 0;
332
333public:
337
338 bool isValid() const { return File; }
339
341
343 unsigned getLine() const { return Line; }
344 unsigned getColumn() const { return Column; }
345};
346
347
349 void anchor() override;
350public:
351
352
358
359
361
362
363
364
365 std::string getLocationStr() const;
366
367
368
370 unsigned &Column) const;
371
372
374
377
378private:
379
381
382
384};
385
388private:
389
390 const Twine &MsgStr;
391
392public:
398 Loc),
399 MsgStr(MsgStr) {}
400
402
404
408};
409
412private:
413
414 const Twine &MsgStr;
415
416public:
417
418
419
425
427
428
430
434};
435
438private:
439
440 const Twine &MsgStr;
441
442public:
443
444
445
449
452
454
455
457
461};
462
463
464
467private:
468
470
471
472 const char *ResourceName;
473
474
476
477
479
480public:
481
482
487
492
493
495
499};
500
502 void anchor() override;
503
504public:
510
513
517};
518
519
520
523public:
524
526
527
528
529
530
532
533
534
559
560
561
562
563
564
565
573
576 void insert(setIsVerbose V);
577 void insert(setExtraArgs EA);
578
579
581
582
583
584
585
586
588
591 std::string getMsg() const;
594
596
598
605
610
615
620
621protected:
622
623
624
626
627
628
629
631
632
633
635
636
638
639
641
642
643
644
646};
647
648
649
650
651template
652decltype(auto)
653operator<<(RemarkT &&R,
655 std::remove_reference_t>,
657 S) {
658 R.insert(S);
659 return std::forward(R);
660}
661
662template
663decltype(auto)
664operator<<(RemarkT &&R,
666 std::remove_reference_t>,
668 A) {
669 R.insert(A);
670 return std::forward(R);
671}
672
673template
674decltype(auto)
675operator<<(RemarkT &&R,
677 std::remove_reference_t>,
679 V) {
680 R.insert(V);
681 return std::forward(R);
682}
683
684template
685decltype(auto)
686operator<<(RemarkT &&R,
688 std::remove_reference_t>,
690 EA) {
691 R.insert(EA);
692 return std::forward(R);
693}
694
695
696
699 void anchor() override;
700public:
701
702
703
704
705
706
707
713 const BasicBlock *CodeRegion = nullptr)
716 CodeRegion(CodeRegion) {}
717
718
719
720
721
722
723
724
731 *this << Prepend;
733 }
734
735
736
737
738
739
740
741
742
748 *this << Msg.str();
749 }
750
752
756
757private:
758
759
760 const BasicBlock *CodeRegion = nullptr;
761};
762
763
765public:
766
767
768
769
770
774
775
776
779
780
781
784
788
789
790 bool isEnabled() const override;
791
792private:
793
794
795
796
797
798
799
800
801
805 Fn, Loc, Msg) {}
806};
807
808
810public:
811
812
813
814
815
819
820
821
824
825
826
829
833
834
835 bool isEnabled() const override;
836
837private:
838
839
840
841
842
843
844
845
846
851};
852
853
856public:
857
858
859
860
861
865
866
867
868
869
870
871
872
876
877
878
881
882
883
886
890
891
892 bool isEnabled() const override;
893
895
897
898protected:
903
908
909private:
910
911
912
913
914
915
916
917
918
923};
924
925
926
929 void anchor() override;
930public:
931
932
933
934
935
936
937
944
948
949private:
950
951
952
953
954
955
956
957
958
959
960
963 const Twine &Msg)
966};
967
968
969
972 void anchor() override;
973public:
974
975
976
977
978
979
980
986
990
991private:
992
993
994
995
996
997
998
999
1000
1001
1002
1005 const Twine &Msg)
1008};
1009
1010
1011
1014
1015public:
1019
1021
1023
1027};
1028
1029
1031 const Twine &Msg;
1032
1033public:
1037
1039
1043};
1044
1045
1047
1049
1050public:
1054
1056
1058
1062};
1063
1064
1066
1067
1070public:
1071
1072
1073
1074
1075
1076
1079 const Twine &Msg)
1081 nullptr, Fn, Loc, Msg) {}
1082
1083
1084
1085
1086
1090
1094
1095
1096 bool isEnabled() const override;
1097};
1098
1099
1102private:
1103 const Twine &Msg;
1104
1105public:
1106
1107
1108
1109
1110
1111
1118
1122
1124
1126};
1127
1128
1130public:
1133
1134
1136
1140
1142
1143private:
1144
1145 const Twine &Msg;
1146};
1147
1149 switch (DK) {
1152 break;
1155 break;
1158 break;
1161 break;
1162 }
1164}
1165
1166
1170
1171
1172 bool InlineAsmDiag;
1174
1175public:
1177 bool InlineAsmDiag = true, uint64_t LocCookie = 0)
1179 Diagnostic(Diagnostic), ModName(ModName), InlineAsmDiag(InlineAsmDiag),
1180 LocCookie(LocCookie) {}
1181
1187
1191};
1192
1194
1199
1200public:
1204 LocCookie(LocCookie) {}
1212};
1213
1214}
1215
1216#endif
MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL
static void print(raw_ostream &Out, object::Archive::Kind Kind, T Val)
static GCRegistry::Add< ErlangGC > A("erlang", "erlang-compatible garbage collector")
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
#define DEFINE_SIMPLE_CONVERSION_FUNCTIONS(ty, ref)
#define LLVM_LIFETIME_BOUND
static llvm::Expected< std::string > getAbsolutePath(StringRef Authority, StringRef Body)
static MemoryLocation getLocation(Instruction *I)
This file defines the SmallVector class.
static const char PassName[]
This class represents an incoming formal argument to a Function.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
LLVM Basic Block Representation.
This class represents a function call, abstracting a target machine's calling convention.
Subprogram description. Uses SubclassData1.
StringRef getNote() const
Definition DiagnosticInfo.h:1206
DiagnosticInfoDontCall(StringRef CalleeName, StringRef Note, DiagnosticSeverity DS, uint64_t LocCookie)
Definition DiagnosticInfo.h:1201
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:1209
uint64_t getLocCookie() const
Definition DiagnosticInfo.h:1207
StringRef getFunctionName() const
Definition DiagnosticInfo.h:1205
const Twine & getMsgStr() const
Definition DiagnosticInfo.h:426
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:431
DiagnosticInfoGenericWithLoc(const Twine &MsgStr, const Function &Fn, const DiagnosticLocation &Loc, DiagnosticSeverity Severity=DS_Error)
MsgStr is the message to be reported to the frontend.
Definition DiagnosticInfo.h:420
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:165
DiagnosticInfoGeneric(const Instruction *I, const Twine &ErrMsg LLVM_LIFETIME_BOUND, DiagnosticSeverity Severity=DS_Error)
Definition DiagnosticInfo.h:154
DiagnosticInfoGeneric(const Twine &MsgStr LLVM_LIFETIME_BOUND, DiagnosticSeverity Severity=DS_Error)
MsgStr is the message to be reported to the frontend.
Definition DiagnosticInfo.h:150
const Twine & getMsgStr() const
Definition DiagnosticInfo.h:159
const Instruction * getInstruction() const
Definition DiagnosticInfo.h:160
Common features for diagnostics dealing with optimization remarks that are used by IR passes.
Definition DiagnosticInfo.h:698
DiagnosticInfoIROptimization(const char *PassName, StringRef Prepend, const DiagnosticInfoIROptimization &Orig)
This is ctor variant allows a pass to build an optimization remark from an existing remark.
Definition DiagnosticInfo.h:725
DiagnosticInfoIROptimization(enum DiagnosticKind Kind, enum DiagnosticSeverity Severity, const char *PassName, StringRef RemarkName, const Function &Fn, const DiagnosticLocation &Loc, const BasicBlock *CodeRegion=nullptr)
PassName is the name of the pass emitting this diagnostic.
Definition DiagnosticInfo.h:708
DiagnosticInfoIROptimization(enum DiagnosticKind Kind, enum DiagnosticSeverity Severity, const char *PassName, const Function &Fn, const DiagnosticLocation &Loc, const Twine &Msg)
Legacy interface.
Definition DiagnosticInfo.h:743
const BasicBlock * getCodeRegion() const
Definition DiagnosticInfo.h:751
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:753
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:1059
const Function & getFunction() const
Definition DiagnosticInfo.h:1055
DiagnosticInfoISelFallback(const Function &Fn, DiagnosticSeverity Severity=DS_Warning)
Definition DiagnosticInfo.h:1051
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:206
DiagnosticInfoInlineAsm(const Instruction &I, const Twine &MsgStr LLVM_LIFETIME_BOUND, DiagnosticSeverity Severity=DS_Error)
Instr gives the original instruction that triggered the diagnostic.
const Instruction * getInstruction() const
Definition DiagnosticInfo.h:201
DiagnosticInfoInlineAsm(uint64_t LocCookie, const Twine &MsgStr LLVM_LIFETIME_BOUND, DiagnosticSeverity Severity=DS_Error)
LocCookie if non-zero gives the line number for this report.
const Twine & getMsgStr() const
Definition DiagnosticInfo.h:200
uint64_t getLocCookie() const
Definition DiagnosticInfo.h:199
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:1040
DiagnosticInfoInstrumentation(const Twine &DiagMsg, DiagnosticSeverity Severity=DS_Warning)
Definition DiagnosticInfo.h:1034
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:405
DiagnosticInfoLegalizationFailure(const Twine &MsgStr LLVM_LIFETIME_BOUND, const Function &Fn, const DiagnosticLocation &Loc, DiagnosticSeverity Severity=DS_Error)
Definition DiagnosticInfo.h:393
const Twine & getMsgStr() const
Definition DiagnosticInfo.h:401
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:1024
DiagnosticInfoMIRParser(DiagnosticSeverity Severity, const SMDiagnostic &Diagnostic)
Definition DiagnosticInfo.h:1016
const SMDiagnostic & getDiagnostic() const
Definition DiagnosticInfo.h:1020
const Twine & getMsg() const
Definition DiagnosticInfo.h:1141
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:1137
DiagnosticInfoMisExpect(const Instruction *Inst, const Twine &Msg LLVM_LIFETIME_BOUND)
Common features for diagnostics dealing with optimization remarks that are used by both IR and MIR pa...
Definition DiagnosticInfo.h:522
bool isMissed() const
Definition DiagnosticInfo.h:611
bool isVerbose() const
Definition DiagnosticInfo.h:595
ArrayRef< Argument > getArgs() const
Definition DiagnosticInfo.h:597
int FirstExtraArgIndex
If positive, the index of the first argument that only appear in the optimization records and not in ...
Definition DiagnosticInfo.h:645
const char * PassName
Name of the pass that triggers this report.
Definition DiagnosticInfo.h:625
StringRef getPassName() const
Definition DiagnosticInfo.h:589
StringRef RemarkName
Textual identifier for the remark (single-word, CamelCase).
Definition DiagnosticInfo.h:630
bool isAnalysis() const
Definition DiagnosticInfo.h:616
bool IsVerbose
The remark is expected to be noisy.
Definition DiagnosticInfo.h:640
bool isPassed() const
Definition DiagnosticInfo.h:606
std::optional< uint64_t > Hotness
If profile information is available, this is the number of times the corresponding code was executed ...
Definition DiagnosticInfo.h:634
SmallVector< Argument, 4 > Args
Arguments collected via the streaming interface.
Definition DiagnosticInfo.h:637
StringRef getRemarkName() const
Definition DiagnosticInfo.h:590
void setHotness(std::optional< uint64_t > H)
Definition DiagnosticInfo.h:593
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:599
DiagnosticInfoOptimizationBase(enum DiagnosticKind Kind, enum DiagnosticSeverity Severity, const char *PassName, StringRef RemarkName, const Function &Fn, const DiagnosticLocation &Loc)
PassName is the name of the pass emitting this diagnostic.
Definition DiagnosticInfo.h:566
virtual bool isEnabled() const =0
Return true if this optimization remark is enabled by one of of the LLVM command line flags (-pass-re...
std::optional< uint64_t > getHotness() const
Definition DiagnosticInfo.h:592
Diagnostic information for optimization failures.
Definition DiagnosticInfo.h:1069
DiagnosticInfoOptimizationFailure(const Function &Fn, const DiagnosticLocation &Loc, const Twine &Msg)
Fn is the function where the diagnostic is being emitted.
Definition DiagnosticInfo.h:1077
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:1091
const char * getFileName() const
Definition DiagnosticInfo.h:317
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:313
DiagnosticInfoPGOProfile(const char *FileName, const Twine &Msg LLVM_LIFETIME_BOUND, DiagnosticSeverity Severity=DS_Error)
Definition DiagnosticInfo.h:305
const Twine & getMsg() const
Definition DiagnosticInfo.h:318
const Twine & getMsgStr() const
Definition DiagnosticInfo.h:453
DiagnosticInfoRegAllocFailure(const Twine &MsgStr, const Function &Fn, const DiagnosticLocation &DL, DiagnosticSeverity Severity=DS_Error)
MsgStr is the message to be reported to the frontend.
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:458
const Function & getFunction() const
Definition DiagnosticInfo.h:488
const char * getResourceName() const
Definition DiagnosticInfo.h:489
uint64_t getResourceLimit() const
Definition DiagnosticInfo.h:491
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:496
uint64_t getResourceSize() const
Definition DiagnosticInfo.h:490
DiagnosticInfoResourceLimit(const Function &Fn, const char *ResourceName, uint64_t ResourceSize, uint64_t ResourceLimit, DiagnosticSeverity Severity=DS_Warning, DiagnosticKind Kind=DK_ResourceLimit)
The function that is concerned by this stack size diagnostic.
DiagnosticInfoSampleProfile(StringRef FileName, const Twine &Msg LLVM_LIFETIME_BOUND, DiagnosticSeverity Severity=DS_Error)
Definition DiagnosticInfo.h:270
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:282
unsigned getLineNum() const
Definition DiagnosticInfo.h:287
DiagnosticInfoSampleProfile(const Twine &Msg LLVM_LIFETIME_BOUND, DiagnosticSeverity Severity=DS_Error)
Definition DiagnosticInfo.h:275
DiagnosticInfoSampleProfile(StringRef FileName, unsigned LineNum, const Twine &Msg LLVM_LIFETIME_BOUND, DiagnosticSeverity Severity=DS_Error)
Definition DiagnosticInfo.h:265
StringRef getFileName() const
Definition DiagnosticInfo.h:286
const Twine & getMsg() const
Definition DiagnosticInfo.h:288
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:1188
const SMDiagnostic & getSMDiag() const
Definition DiagnosticInfo.h:1184
DiagnosticInfoSrcMgr(const SMDiagnostic &Diagnostic, StringRef ModName, bool InlineAsmDiag=true, uint64_t LocCookie=0)
Definition DiagnosticInfo.h:1176
uint64_t getLocCookie() const
Definition DiagnosticInfo.h:1185
bool isInlineAsmDiag() const
Definition DiagnosticInfo.h:1183
StringRef getModuleName() const
Definition DiagnosticInfo.h:1182
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:514
DiagnosticInfoStackSize(const Function &Fn, uint64_t StackSize, uint64_t StackLimit, DiagnosticSeverity Severity=DS_Warning)
Definition DiagnosticInfo.h:505
uint64_t getStackLimit() const
Definition DiagnosticInfo.h:512
uint64_t getStackSize() const
Definition DiagnosticInfo.h:511
const Twine & getMessage() const
Definition DiagnosticInfo.h:1123
DiagnosticInfoUnsupported(const Function &Fn, const Twine &Msg LLVM_LIFETIME_BOUND, const DiagnosticLocation &Loc=DiagnosticLocation(), DiagnosticSeverity Severity=DS_Error)
Fn is the function where the diagnostic is being emitted.
Definition DiagnosticInfo.h:1112
static bool classof(const DiagnosticInfo *DI)
Definition DiagnosticInfo.h:1119
bool isLocationAvailable() const
Return true if location information is available for this diagnostic.
Definition DiagnosticInfo.h:360
const Function & getFunction() const
Definition DiagnosticInfo.h:375
DiagnosticLocation getLocation() const
Definition DiagnosticInfo.h:376
DiagnosticInfoWithLocationBase(enum DiagnosticKind Kind, enum DiagnosticSeverity Severity, const Function &Fn, const DiagnosticLocation &Loc)
Fn is the function where the diagnostic is being emitted.
Definition DiagnosticInfo.h:353
void getLocation(StringRef &RelativePath, unsigned &Line, unsigned &Column) const
Return location information for this diagnostic in three parts: the relative source file path,...
This is the base abstract class for diagnostic reporting in the backend.
Definition DiagnosticInfo.h:114
DiagnosticSeverity getSeverity() const
Definition DiagnosticInfo.h:129
int getKind() const
Definition DiagnosticInfo.h:128
DiagnosticInfo(int Kind, DiagnosticSeverity Severity)
Definition DiagnosticInfo.h:123
virtual ~DiagnosticInfo()=default
virtual void print(DiagnosticPrinter &DP) const =0
Print using the given DP a user-friendly message.
Definition DiagnosticInfo.h:328
unsigned getLine() const
Definition DiagnosticInfo.h:343
bool isValid() const
Definition DiagnosticInfo.h:338
LLVM_ABI std::string getAbsolutePath() const
Return the full path to the file.
LLVM_ABI StringRef getRelativePath() const
Return the file name relative to the compilation directory.
unsigned getColumn() const
Definition DiagnosticInfo.h:344
DiagnosticLocation()=default
Interface for custom diagnostic printing.
A Module instance is used to store all the information related to an LLVM module.
Instances of this class encapsulate one diagnostic report, allowing printing to a raw_ostream as a ca...
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringRef - Represent a constant reference to a string, i.e.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
LLVM_ABI std::string str() const
Return the twine contents as a std::string.
The instances of the Type class are immutable: once they are created, they are never changed.
LLVM Value Representation.
struct LLVMOpaqueDiagnosticInfo * LLVMDiagnosticInfoRef
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
@ C
The default llvm calling convention, compatible with C.
This is an optimization pass for GlobalISel generic memory operations.
std::function< void(const DiagnosticInfo &)> DiagnosticHandlerFunction
Definition DiagnosticInfo.h:140
LLVM_ABI void diagnoseDontCall(const CallInst &CI)
void append_range(Container &C, Range &&R)
Wrapper function to append range R to container C.
DiagnosticKind
Defines the different supported kind of a diagnostic.
Definition DiagnosticInfo.h:61
@ DK_DebugMetadataInvalid
Definition DiagnosticInfo.h:72
@ DK_SrcMgr
Definition DiagnosticInfo.h:92
@ DK_Instrumentation
Definition DiagnosticInfo.h:73
@ DK_OptimizationRemarkAnalysis
Definition DiagnosticInfo.h:78
@ DK_LastMachineRemark
Definition DiagnosticInfo.h:88
@ DK_OptimizationRemarkAnalysisAliasing
Definition DiagnosticInfo.h:80
@ DK_StackSize
Definition DiagnosticInfo.h:67
@ DK_SampleProfile
Definition DiagnosticInfo.h:75
@ DK_MachineOptimizationRemark
Definition DiagnosticInfo.h:84
@ DK_Unsupported
Definition DiagnosticInfo.h:91
@ DK_LastRemark
Definition DiagnosticInfo.h:83
@ DK_OptimizationRemarkMissed
Definition DiagnosticInfo.h:77
@ DK_MIRParser
Definition DiagnosticInfo.h:89
@ DK_GenericWithLoc
Definition DiagnosticInfo.h:63
@ DK_ResourceLimit
Definition DiagnosticInfo.h:66
@ DK_MachineOptimizationRemarkAnalysis
Definition DiagnosticInfo.h:86
@ DK_ISelFallback
Definition DiagnosticInfo.h:74
@ DK_Lowering
Definition DiagnosticInfo.h:69
@ DK_OptimizationRemark
Definition DiagnosticInfo.h:76
@ DK_FirstMachineRemark
Definition DiagnosticInfo.h:87
@ DK_DontCall
Definition DiagnosticInfo.h:93
@ DK_MachineOptimizationRemarkMissed
Definition DiagnosticInfo.h:85
@ DK_PGOProfile
Definition DiagnosticInfo.h:90
@ DK_InlineAsm
Definition DiagnosticInfo.h:64
@ DK_Generic
Definition DiagnosticInfo.h:62
@ DK_DebugMetadataVersion
Definition DiagnosticInfo.h:71
@ DK_OptimizationFailure
Definition DiagnosticInfo.h:81
@ DK_FirstRemark
Definition DiagnosticInfo.h:82
@ DK_MisExpect
Definition DiagnosticInfo.h:94
@ DK_LegalizationFailure
Definition DiagnosticInfo.h:70
@ DK_OptimizationRemarkAnalysisFPCommute
Definition DiagnosticInfo.h:79
@ DK_FirstPluginKind
Definition DiagnosticInfo.h:95
@ DK_RegAllocFailure
Definition DiagnosticInfo.h:65
@ DK_Linker
Definition DiagnosticInfo.h:68
LLVM_ATTRIBUTE_VISIBILITY_DEFAULT AnalysisKey InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... >::Key
LLVM_ABI int getNextAvailablePluginDiagnosticKind()
Get the next available kind ID for a plugin diagnostic.
DiagnosticSeverity
Defines the different supported severity of a diagnostic.
Definition DiagnosticInfo.h:50
@ DS_Remark
Definition DiagnosticInfo.h:53
@ DS_Warning
Definition DiagnosticInfo.h:52
@ DS_Note
Definition DiagnosticInfo.h:56
@ DS_Error
Definition DiagnosticInfo.h:51
static DiagnosticSeverity getDiagnosticSeverity(SourceMgr::DiagKind DK)
Definition DiagnosticInfo.h:1148
Used in the streaming interface as the general argument type.
Definition DiagnosticInfo.h:535
Argument(StringRef Str="")
Definition DiagnosticInfo.h:541
DiagnosticLocation Loc
Definition DiagnosticInfo.h:539
Argument(StringRef Key, const char *S)
Definition DiagnosticInfo.h:545
std::string Val
Definition DiagnosticInfo.h:537
std::string Key
Definition DiagnosticInfo.h:536
Argument(StringRef Key, bool B)
Definition DiagnosticInfo.h:554
Used to set IsVerbose via the stream interface.
Definition DiagnosticInfo.h:525