9#ifndef LLVM_CLANG_BASIC_DIAGNOSTICOPTIONS_H
10#define LLVM_CLANG_BASIC_DIAGNOSTICOPTIONS_H
13#include "llvm/ADT/IntrusiveRefCntPtr.h"
25class DiagnosticsEngine;
49 using UT = std::underlying_type_t<DiagnosticLevelMask>;
55 using UT = std::underlying_type_t<DiagnosticLevelMask>;
57 static_cast<UT
>(LHS) |
static_cast<UT
>(RHS));
62 using UT = std::underlying_type_t<DiagnosticLevelMask>;
64 static_cast<UT
>(LHS) &
static_cast<UT
>(RHS));
93#define DIAGOPT(Name, Bits, Default) unsigned Name : Bits;
94#define ENUM_DIAGOPT(Name, Type, Bits, Default)
95#include "clang/Basic/DiagnosticOptions.def"
100#define DIAGOPT(Name, Bits, Default)
101#define ENUM_DIAGOPT(Name, Type, Bits, Default) unsigned Name : Bits;
102#include "clang/Basic/DiagnosticOptions.def"
133#define DIAGOPT(Name, Bits, Default)
134#define ENUM_DIAGOPT(Name, Type, Bits, Default) \
135 Type get##Name() const { return static_cast<Type>(Name); } \
136 void set##Name(Type Value) { Name = static_cast<unsigned>(Value); }
137#include "clang/Basic/DiagnosticOptions.def"
140#define DIAGOPT(Name, Bits, Default) Name = Default;
141#define ENUM_DIAGOPT(Name, Type, Bits, Default) set##Name(Default);
142#include "clang/Basic/DiagnosticOptions.def"
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
The base class of CompilerInvocation.
Helper class for holding the data necessary to invoke the compiler.
Options for controlling the compiler diagnostics engine.
std::vector< std::string > Remarks
The list of -R... options used to alter the diagnostic mappings, with the prefixes removed.
std::vector< std::string > Warnings
The list of -W... options used to alter the diagnostic mappings, with the prefixes removed.
@ DefaultSpellCheckingLimit
@ DefaultConstexprBacktraceLimit
@ DefaultTemplateBacktraceLimit
@ DefaultMacroBacktraceLimit
@ DefaultSnippetLineLimit
std::string DiagnosticLogFile
The file to log diagnostic output to.
std::vector< std::string > VerifyPrefixes
The prefixes for comment directives sought by -verify ("expected" by default).
std::vector< std::string > UndefPrefixes
The list of prefixes from -Wundef-prefix=... used to generate warnings for undefined macros.
std::vector< std::string > SystemHeaderWarningsModules
The list of -Wsystem-headers-in-module=... options used to override whether -Wsystem-headers is enabl...
std::string DiagnosticSerializationFile
The file to serialize diagnostics to (non-appending).
friend bool ParseDiagnosticArgs(DiagnosticOptions &, llvm::opt::ArgList &, clang::DiagnosticsEngine *, bool)
Fill out Opts based on the options given in Args.
Concrete class used by the front-end to report problems and issues.
The JSON file list parser is used to communicate input to InstallAPI.
DiagnosticLevelMask
A bitmask representing the diagnostic levels used by VerifyDiagnosticConsumer.
DiagnosticLevelMask operator&(DiagnosticLevelMask LHS, DiagnosticLevelMask RHS)
OverloadsShown
Specifies which overload candidates to display when overload resolution fails.
@ Ovl_All
Show all overloads.
@ Ovl_Best
Show just the "best" overload candidates.
DiagnosticLevelMask operator~(DiagnosticLevelMask M)
const StreamingDiagnostic & operator<<(const StreamingDiagnostic &DB, const ASTContext::SectionInfo &Section)
Insertion operator for diagnostics.
DiagnosticLevelMask operator|(DiagnosticLevelMask LHS, DiagnosticLevelMask RHS)
@ None
The alignment was not explicit in code.
Diagnostic wrappers for TextAPI types for error reporting.