clang 19.0.0git
Classes | Public Types | Public Member Functions | Friends | List of all members
clang::DiagnosticsEngine Class Reference

Concrete class used by the front-end to report problems and issues. More...

#include "clang/Basic/Diagnostic.h"

Inheritance diagram for clang::DiagnosticsEngine:
Inheritance graph
[legend]

Public Types

enum  Level {
  Ignored = DiagnosticIDs::Ignored , Note = DiagnosticIDs::Note , Remark = DiagnosticIDs::Remark , Warning = DiagnosticIDs::Warning ,
  Error = DiagnosticIDs::Error , Fatal = DiagnosticIDs::Fatal
}
 The level of the diagnostic, after it has been through mapping. More...
 
enum  ArgumentKind {
  ak_std_string , ak_c_string , ak_sint , ak_uint ,
  ak_tokenkind , ak_identifierinfo , ak_addrspace , ak_qual ,
  ak_qualtype , ak_declarationname , ak_nameddecl , ak_nestednamespec ,
  ak_declcontext , ak_qualtype_pair , ak_attr
}
 
using ArgumentValue = std::pair< ArgumentKind, intptr_t >
 Represents on argument value, which is a union discriminated by ArgumentKind, with a value.
 
using diag_mapping_range = llvm::iterator_range< DiagState::const_iterator >
 

Public Member Functions

 DiagnosticsEngine (IntrusiveRefCntPtr< DiagnosticIDs > Diags, IntrusiveRefCntPtr< DiagnosticOptions > DiagOpts, DiagnosticConsumer *client=nullptr, bool ShouldOwnClient=true)
 
 DiagnosticsEngine (const DiagnosticsEngine &)=delete
 
DiagnosticsEngineoperator= (const DiagnosticsEngine &)=delete
 
 ~DiagnosticsEngine ()
 
LLVM_DUMP_METHOD void dump () const
 
LLVM_DUMP_METHOD void dump (StringRef DiagName) const
 
const IntrusiveRefCntPtr< DiagnosticIDs > & getDiagnosticIDs () const
 
DiagnosticOptionsgetDiagnosticOptions () const
 Retrieve the diagnostic options.
 
diag_mapping_range getDiagnosticMappings () const
 Get the current set of diagnostic mappings.
 
DiagnosticConsumergetClient ()
 
const DiagnosticConsumergetClient () const
 
bool ownsClient () const
 Determine whether this DiagnosticsEngine object own its client.
 
std::unique_ptr< DiagnosticConsumertakeClient ()
 Return the current diagnostic client along with ownership of that client.
 
bool hasSourceManager () const
 
SourceManagergetSourceManager () const
 
void setSourceManager (SourceManager *SrcMgr)
 
void pushMappings (SourceLocation Loc)
 Copies the current DiagMappings and pushes the new copy onto the top of the stack.
 
bool popMappings (SourceLocation Loc)
 Pops the current DiagMappings off the top of the stack, causing the new top of the stack to be the active mappings.
 
void setClient (DiagnosticConsumer *client, bool ShouldOwnClient=true)
 Set the diagnostic client associated with this diagnostic object.
 
void setErrorLimit (unsigned Limit)
 Specify a limit for the number of errors we should emit before giving up.
 
void setTemplateBacktraceLimit (unsigned Limit)
 Specify the maximum number of template instantiation notes to emit along with a given diagnostic.
 
unsigned getTemplateBacktraceLimit () const
 Retrieve the maximum number of template instantiation notes to emit along with a given diagnostic.
 
void setConstexprBacktraceLimit (unsigned Limit)
 Specify the maximum number of constexpr evaluation notes to emit along with a given diagnostic.
 
unsigned getConstexprBacktraceLimit () const
 Retrieve the maximum number of constexpr evaluation notes to emit along with a given diagnostic.
 
void setIgnoreAllWarnings (bool Val)
 When set to true, any unmapped warnings are ignored.
 
bool getIgnoreAllWarnings () const
 
void setEnableAllWarnings (bool Val)
 When set to true, any unmapped ignored warnings are no longer ignored.
 
bool getEnableAllWarnings () const
 
void setWarningsAsErrors (bool Val)
 When set to true, any warnings reported are issued as errors.
 
bool getWarningsAsErrors () const
 
void setErrorsAsFatal (bool Val)
 When set to true, any error reported is made a fatal error.
 
bool getErrorsAsFatal () const
 
void setFatalsAsError (bool Val)
 When set to true, any fatal error reported is made an error.
 
bool getFatalsAsError () const
 
void setSuppressSystemWarnings (bool Val)
 When set to true mask warnings that come from system headers.
 
bool getSuppressSystemWarnings () const
 
void setSuppressAllDiagnostics (bool Val)
 Suppress all diagnostics, to silence the front end when we know that we don't want any more diagnostics to be passed along to the client.
 
bool getSuppressAllDiagnostics () const
 
void setElideType (bool Val)
 Set type eliding, to skip outputting same types occurring in template types.
 
bool getElideType ()
 
void setPrintTemplateTree (bool Val)
 Set tree printing, to outputting the template difference in a tree format.
 
bool getPrintTemplateTree ()
 
void setShowColors (bool Val)
 Set color printing, so the type diffing will inject color markers into the output.
 
bool getShowColors ()
 
void setShowOverloads (OverloadsShown Val)
 Specify which overload candidates to show when overload resolution fails.
 
OverloadsShown getShowOverloads () const
 
unsigned getNumOverloadCandidatesToShow () const
 When a call or operator fails, print out up to this many candidate overloads as suggestions.
 
void overloadCandidatesShown (unsigned N)
 Call this after showing N overload candidates.
 
void setLastDiagnosticIgnored (bool Ignored)
 Pretend that the last diagnostic issued was ignored, so any subsequent notes will be suppressed, or restore a prior ignoring state after ignoring some diagnostics and their notes, possibly in the middle of another diagnostic.
 
bool isLastDiagnosticIgnored () const
 Determine whether the previous diagnostic was ignored.
 
void setExtensionHandlingBehavior (diag::Severity H)
 Controls whether otherwise-unmapped extension diagnostics are mapped onto ignore/warning/error.
 
diag::Severity getExtensionHandlingBehavior () const
 
void IncrementAllExtensionsSilenced ()
 Counter bumped when an extension block is/ encountered.
 
void DecrementAllExtensionsSilenced ()
 
bool hasAllExtensionsSilenced ()
 
void setSeverity (diag::kind Diag, diag::Severity Map, SourceLocation Loc)
 This allows the client to specify that certain warnings are ignored.
 
bool setSeverityForGroup (diag::Flavor Flavor, StringRef Group, diag::Severity Map, SourceLocation Loc=SourceLocation())
 Change an entire diagnostic group (e.g.
 
bool setSeverityForGroup (diag::Flavor Flavor, diag::Group Group, diag::Severity Map, SourceLocation Loc=SourceLocation())
 
bool setDiagnosticGroupWarningAsError (StringRef Group, bool Enabled)
 Set the warning-as-error flag for the given diagnostic group.
 
bool setDiagnosticGroupErrorAsFatal (StringRef Group, bool Enabled)
 Set the error-as-fatal flag for the given diagnostic group.
 
void setSeverityForAll (diag::Flavor Flavor, diag::Severity Map, SourceLocation Loc=SourceLocation())
 Add the specified mapping to all diagnostics of the specified flavor.
 
bool hasErrorOccurred () const
 
bool hasUncompilableErrorOccurred () const
 Errors that actually prevent compilation, not those that are upgraded from a warning by -Werror.
 
bool hasFatalErrorOccurred () const
 
bool hasUnrecoverableErrorOccurred () const
 Determine whether any kind of unrecoverable error has occurred.
 
unsigned getNumErrors () const
 
unsigned getNumWarnings () const
 
void setNumWarnings (unsigned NumWarnings)
 
template<unsigned N>
unsigned getCustomDiagID (Level L, const char(&FormatString)[N])
 Return an ID for a diagnostic with the specified format string and level.
 
void ConvertArgToString (ArgumentKind Kind, intptr_t Val, StringRef Modifier, StringRef Argument, ArrayRef< ArgumentValue > PrevArgs, SmallVectorImpl< char > &Output, ArrayRef< intptr_t > QualTypeVals) const
 Converts a diagnostic argument (as an intptr_t) into the string that represents it.
 
void SetArgToStringFn (ArgToStringFnTy Fn, void *Cookie)
 
void notePriorDiagnosticFrom (const DiagnosticsEngine &Other)
 Note that the prior diagnostic was emitted by some other DiagnosticsEngine, and we may be attaching a note to that diagnostic.
 
void Reset (bool soft=false)
 Reset the state of the diagnostic object to its initial configuration.
 
bool isIgnored (unsigned DiagID, SourceLocation Loc) const
 Determine whether the diagnostic is known to be ignored.
 
Level getDiagnosticLevel (unsigned DiagID, SourceLocation Loc) const
 Based on the way the client configured the DiagnosticsEngine object, classify the specified diagnostic ID into a Level, consumable by the DiagnosticConsumer.
 
DiagnosticBuilder Report (SourceLocation Loc, unsigned DiagID)
 Issue the message to the client.
 
DiagnosticBuilder Report (unsigned DiagID)
 
void Report (const StoredDiagnostic &storedDiag)
 
bool isDiagnosticInFlight () const
 Determine whethere there is already a diagnostic in flight.
 
void SetDelayedDiagnostic (unsigned DiagID, StringRef Arg1="", StringRef Arg2="", StringRef Arg3="")
 Set the "delayed" diagnostic that will be emitted once the current diagnostic completes.
 
void Clear ()
 Clear out the current diagnostic.
 
StringRef getFlagValue () const
 Return the value associated with this diagnostic flag.
 

Friends

class Diagnostic
 
class DiagnosticBuilder
 
class DiagnosticErrorTrap
 
class DiagnosticIDs
 
class PartialDiagnostic
 
void DiagnosticsTestHelper (DiagnosticsEngine &)
 

Diagnostic Emission

class ASTReader
 
class ASTWriter
 
class Sema
 
bool EmitCurrentDiagnostic (bool Force=false)
 Emit the current diagnostic and clear the diagnostic state.
 
unsigned getCurrentDiagID () const
 
SourceLocation getCurrentDiagLoc () const
 

Detailed Description

Concrete class used by the front-end to report problems and issues.

This massages the diagnostics (e.g. handling things like "report warnings as errors" and passes them off to the DiagnosticConsumer for reporting to the user. DiagnosticsEngine is tied to one translation unit and one SourceManager.

Definition at line 192 of file Diagnostic.h.

Member Typedef Documentation

◆ ArgumentValue

Represents on argument value, which is a union discriminated by ArgumentKind, with a value.

Definition at line 253 of file Diagnostic.h.

◆ diag_mapping_range

using clang::DiagnosticsEngine::diag_mapping_range = llvm::iterator_range<DiagState::const_iterator>

Definition at line 564 of file Diagnostic.h.

Member Enumeration Documentation

◆ ArgumentKind

Enumerator
ak_std_string 

std::string

ak_c_string 

const char *

ak_sint 

int

ak_uint 

unsigned

ak_tokenkind 

enum TokenKind : unsigned

ak_identifierinfo 

IdentifierInfo.

ak_addrspace 

address space

ak_qual 

Qualifiers.

ak_qualtype 

QualType.

ak_declarationname 

DeclarationName.

ak_nameddecl 

NamedDecl *.

ak_nestednamespec 

NestedNameSpecifier *.

ak_declcontext 

DeclContext *.

ak_qualtype_pair 

pair<QualType, QualType>

ak_attr 

Attr *.

Definition at line 204 of file Diagnostic.h.

◆ Level

The level of the diagnostic, after it has been through mapping.

Enumerator
Ignored 
Note 
Remark 
Warning 
Error 
Fatal 

Definition at line 195 of file Diagnostic.h.

Constructor & Destructor Documentation

◆ DiagnosticsEngine() [1/2]

DiagnosticsEngine::DiagnosticsEngine ( IntrusiveRefCntPtr< DiagnosticIDs Diags,
IntrusiveRefCntPtr< DiagnosticOptions DiagOpts,
DiagnosticConsumer client = nullptr,
bool  ShouldOwnClient = true 
)
explicit

Definition at line 71 of file Diagnostic.cpp.

References DummyArgToStringFn(), Reset(), and setClient().

◆ DiagnosticsEngine() [2/2]

clang::DiagnosticsEngine::DiagnosticsEngine ( const DiagnosticsEngine )
delete

◆ ~DiagnosticsEngine()

DiagnosticsEngine::~DiagnosticsEngine ( )

Definition at line 82 of file Diagnostic.cpp.

References setClient().

Member Function Documentation

◆ Clear()

void clang::DiagnosticsEngine::Clear ( )
inline

◆ ConvertArgToString()

void clang::DiagnosticsEngine::ConvertArgToString ( ArgumentKind  Kind,
intptr_t  Val,
StringRef  Modifier,
StringRef  Argument,
ArrayRef< ArgumentValue PrevArgs,
SmallVectorImpl< char > &  Output,
ArrayRef< intptr_t QualTypeVals 
) const
inline

Converts a diagnostic argument (as an intptr_t) into the string that represents it.

Definition at line 880 of file Diagnostic.h.

Referenced by clang::Diagnostic::FormatDiagnostic().

◆ DecrementAllExtensionsSilenced()

void clang::DiagnosticsEngine::DecrementAllExtensionsSilenced ( )
inline

Definition at line 790 of file Diagnostic.h.

Referenced by clang::ExtensionRAIIObject::~ExtensionRAIIObject().

◆ dump() [1/2]

void DiagnosticsEngine::dump ( ) const

Definition at line 88 of file Diagnostic.cpp.

◆ dump() [2/2]

void DiagnosticsEngine::dump ( StringRef  DiagName) const

Definition at line 92 of file Diagnostic.cpp.

◆ EmitCurrentDiagnostic()

bool DiagnosticsEngine::EmitCurrentDiagnostic ( bool  Force = false)
protected

Emit the current diagnostic and clear the diagnostic state.

Parameters
ForceEmit the diagnostic regardless of suppression settings.

Definition at line 526 of file Diagnostic.cpp.

References Clear(), getClient(), clang::Diagnostic::getID(), clang::Diagnostic::getLocation(), and clang::DiagnosticIDs::Ignored.

Referenced by clang::DiagnosticBuilder::Emit(), and clang::Sema::EmitCurrentDiagnostic().

◆ getClient() [1/2]

DiagnosticConsumer * clang::DiagnosticsEngine::getClient ( )
inline

◆ getClient() [2/2]

const DiagnosticConsumer * clang::DiagnosticsEngine::getClient ( ) const
inline

Definition at line 573 of file Diagnostic.h.

◆ getConstexprBacktraceLimit()

unsigned clang::DiagnosticsEngine::getConstexprBacktraceLimit ( ) const
inline

Retrieve the maximum number of constexpr evaluation notes to emit along with a given diagnostic.

Definition at line 643 of file Diagnostic.h.

◆ getCurrentDiagID()

unsigned clang::DiagnosticsEngine::getCurrentDiagID ( ) const
inlineprotected

Definition at line 1062 of file Diagnostic.h.

Referenced by clang::Sema::EmitCurrentDiagnostic().

◆ getCurrentDiagLoc()

SourceLocation clang::DiagnosticsEngine::getCurrentDiagLoc ( ) const
inlineprotected

Definition at line 1064 of file Diagnostic.h.

Referenced by clang::Sema::EmitCurrentDiagnostic().

◆ getCustomDiagID()

template<unsigned N>
unsigned clang::DiagnosticsEngine::getCustomDiagID ( Level  L,
const char(&)  FormatString[N] 
)
inline

◆ getDiagnosticIDs()

const IntrusiveRefCntPtr< DiagnosticIDs > & clang::DiagnosticsEngine::getDiagnosticIDs ( ) const
inline

◆ getDiagnosticLevel()

Level clang::DiagnosticsEngine::getDiagnosticLevel ( unsigned  DiagID,
SourceLocation  Loc 
) const
inline

Based on the way the client configured the DiagnosticsEngine object, classify the specified diagnostic ID into a Level, consumable by the DiagnosticConsumer.

To preserve invariant assumptions, this function should not be used to influence parse or semantic analysis actions. Instead consider using isIgnored().

Parameters
LocThe source location we are interested in finding out the diagnostic state. Can be null in order to query the latest state.

Definition at line 931 of file Diagnostic.h.

Referenced by checkDiagnosticGroupMappings(), clang::Sema::ImplicitlyDefineFunction(), clang::CompilerInstance::loadModuleFile(), clang::driver::Driver::ParseArgStrings(), and clang::Sema::SemaDiagnosticBuilder::~SemaDiagnosticBuilder().

◆ getDiagnosticMappings()

diag_mapping_range clang::DiagnosticsEngine::getDiagnosticMappings ( ) const
inline

Get the current set of diagnostic mappings.

Definition at line 567 of file Diagnostic.h.

◆ getDiagnosticOptions()

DiagnosticOptions & clang::DiagnosticsEngine::getDiagnosticOptions ( ) const
inline

◆ getElideType()

bool clang::DiagnosticsEngine::getElideType ( )
inline

Definition at line 703 of file Diagnostic.h.

◆ getEnableAllWarnings()

bool clang::DiagnosticsEngine::getEnableAllWarnings ( ) const
inline

Definition at line 664 of file Diagnostic.h.

Referenced by checkDiagnosticMappings().

◆ getErrorsAsFatal()

bool clang::DiagnosticsEngine::getErrorsAsFatal ( ) const
inline

Definition at line 678 of file Diagnostic.h.

◆ getExtensionHandlingBehavior()

diag::Severity clang::DiagnosticsEngine::getExtensionHandlingBehavior ( ) const
inline

Definition at line 781 of file Diagnostic.h.

Referenced by HasExtension(), and isExtHandlingFromDiagsError().

◆ getFatalsAsError()

bool clang::DiagnosticsEngine::getFatalsAsError ( ) const
inline

Definition at line 684 of file Diagnostic.h.

◆ getFlagValue()

StringRef clang::DiagnosticsEngine::getFlagValue ( ) const
inline

Return the value associated with this diagnostic flag.

Definition at line 985 of file Diagnostic.h.

Referenced by printDiagnosticOptions().

◆ getIgnoreAllWarnings()

bool clang::DiagnosticsEngine::getIgnoreAllWarnings ( ) const
inline

Definition at line 653 of file Diagnostic.h.

Referenced by clang::sema::AnalysisBasedWarnings::IssueWarnings().

◆ getNumErrors()

unsigned clang::DiagnosticsEngine::getNumErrors ( ) const
inline

◆ getNumOverloadCandidatesToShow()

unsigned clang::DiagnosticsEngine::getNumOverloadCandidatesToShow ( ) const
inline

When a call or operator fails, print out up to this many candidate overloads as suggestions.

With Ovl_Best, we set a high limit for the first nontrivial overload set we print, and a lower limit for later sets. This way the user has a chance of diagnosing at least one callsite in their program without having to recompile with -fshow-overloads=all.

Definition at line 731 of file Diagnostic.h.

References getShowOverloads(), clang::Ovl_All, and clang::Ovl_Best.

Referenced by clang::ImplicitConversionSequence::DiagnoseAmbiguousConversion(), clang::OverloadCandidateSet::NoteCandidates(), and noteOverloads().

◆ getNumWarnings()

unsigned clang::DiagnosticsEngine::getNumWarnings ( ) const
inline

Definition at line 858 of file Diagnostic.h.

Referenced by RoundTrip().

◆ getPrintTemplateTree()

bool clang::DiagnosticsEngine::getPrintTemplateTree ( )
inline

Definition at line 708 of file Diagnostic.h.

◆ getShowColors()

bool clang::DiagnosticsEngine::getShowColors ( )
inline

◆ getShowOverloads()

OverloadsShown clang::DiagnosticsEngine::getShowOverloads ( ) const
inline

◆ getSourceManager()

SourceManager & clang::DiagnosticsEngine::getSourceManager ( ) const
inline

◆ getSuppressAllDiagnostics()

bool clang::DiagnosticsEngine::getSuppressAllDiagnostics ( ) const
inline

Definition at line 698 of file Diagnostic.h.

◆ getSuppressSystemWarnings()

bool clang::DiagnosticsEngine::getSuppressSystemWarnings ( ) const
inline

◆ getTemplateBacktraceLimit()

unsigned clang::DiagnosticsEngine::getTemplateBacktraceLimit ( ) const
inline

Retrieve the maximum number of template instantiation notes to emit along with a given diagnostic.

Definition at line 631 of file Diagnostic.h.

Referenced by clang::Sema::PrintInstantiationStack().

◆ getWarningsAsErrors()

bool clang::DiagnosticsEngine::getWarningsAsErrors ( ) const
inline

Definition at line 672 of file Diagnostic.h.

Referenced by checkDiagnosticMappings(), and isExtHandlingFromDiagsError().

◆ hasAllExtensionsSilenced()

bool clang::DiagnosticsEngine::hasAllExtensionsSilenced ( )
inline

Definition at line 791 of file Diagnostic.h.

◆ hasErrorOccurred()

bool clang::DiagnosticsEngine::hasErrorOccurred ( ) const
inline

◆ hasFatalErrorOccurred()

bool clang::DiagnosticsEngine::hasFatalErrorOccurred ( ) const
inline

Definition at line 850 of file Diagnostic.h.

Referenced by emitCallStackNotes().

◆ hasSourceManager()

bool clang::DiagnosticsEngine::hasSourceManager ( ) const
inline

◆ hasUncompilableErrorOccurred()

bool clang::DiagnosticsEngine::hasUncompilableErrorOccurred ( ) const
inline

Errors that actually prevent compilation, not those that are upgraded from a warning by -Werror.

Definition at line 847 of file Diagnostic.h.

Referenced by clang::ASTWriter::WriteAST().

◆ hasUnrecoverableErrorOccurred()

bool clang::DiagnosticsEngine::hasUnrecoverableErrorOccurred ( ) const
inline

Determine whether any kind of unrecoverable error has occurred.

Definition at line 853 of file Diagnostic.h.

Referenced by clang::arcmt::TransformActions::hasReportedErrors().

◆ IncrementAllExtensionsSilenced()

void clang::DiagnosticsEngine::IncrementAllExtensionsSilenced ( )
inline

Counter bumped when an extension block is/ encountered.

When non-zero, all extension diagnostics are entirely silenced, no matter how they are mapped.

Definition at line 789 of file Diagnostic.h.

Referenced by clang::ExtensionRAIIObject::ExtensionRAIIObject().

◆ isDiagnosticInFlight()

bool clang::DiagnosticsEngine::isDiagnosticInFlight ( ) const
inline

Determine whethere there is already a diagnostic in flight.

Definition at line 949 of file Diagnostic.h.

◆ isIgnored()

bool clang::DiagnosticsEngine::isIgnored ( unsigned  DiagID,
SourceLocation  Loc 
) const
inline

Determine whether the diagnostic is known to be ignored.

This can be used to opportunistically avoid expensive checks when it's known for certain that the diagnostic has been suppressed at the specified location Loc.

Parameters
LocThe source location we are interested in finding out the diagnostic state. Can be null in order to query the latest state.

Definition at line 916 of file Diagnostic.h.

References clang::diag::Ignored.

Referenced by clang::Sema::ActOnCompoundStmt(), clang::Sema::ActOnCXXMemberDeclarator(), clang::Sema::ActOnDocumentableDecls(), clang::Sema::ActOnDoStmt(), clang::Sema::ActOnEndOfTranslationUnit(), clang::Sema::ActOnForStmt(), clang::Sema::ActOnIfStmt(), clang::Sema::ActOnWhileStmt(), clang::Sema::AddInitializerToDecl(), applyCocoaAPICheck(), clang::Sema::BuildDeclRefExpr(), clang::Sema::BuildInstanceMessage(), clang::Sema::BuildIvarRefExpr(), clang::Sema::BuildResolvedCallExpr(), clang::Sema::CheckAssignmentOperands(), CheckCommaOperands(), clang::Sema::CheckCompatibleReinterpretCast(), CheckConditionalOperator(), CheckCXX98CompatAccessibleCopy(), CheckForDuplicateEnumValues(), clang::Sema::checkInitializerLifetime(), checkNullabilityConsistency(), checkPointerTypesForAssignment(), CheckProtocolMethodDefs(), clang::Sema::CheckShadow(), clang::Sema::checkUnsafeExprAssigns(), clang::Sema::DiagnoseAbsenceOfOverrideControl(), clang::Sema::DiagnoseAssignmentEnum(), DiagnoseBaseOrMemInitializerOrder(), clang::Sema::DiagnoseEmptyLoopBody(), DiagnoseForRangeVariableCopies(), clang::Sema::DiagnoseHiddenVirtualMethods(), DiagnoseMismatchedSelectors(), clang::Sema::DiagnoseMultipleMethodInGlobalPool(), DiagnoseNullConversion(), clang::Sema::DiagnoseSelfMove(), clang::Sema::DiagnoseUnusedBackingIvarInAccessor(), clang::Sema::diagnoseZeroToNullptrConversion(), clang::Sema::EvaluateStaticAssertMessageAsString(), EvaluateValue(), clang::Sema::isAcceptableTagRedeclaration(), isEnabled(), clang::sema::AnalysisBasedWarnings::IssueWarnings(), clang::HeaderSearch::LookupFile(), LookupMemberExpr(), maybeDiagnoseIDCharCompat(), and shouldWarnIfShadowedDecl().

◆ isLastDiagnosticIgnored()

bool clang::DiagnosticsEngine::isLastDiagnosticIgnored ( ) const
inline

Determine whether the previous diagnostic was ignored.

This can be used by clients that want to determine whether notes attached to a diagnostic will be suppressed.

Definition at line 770 of file Diagnostic.h.

References clang::DiagnosticIDs::Ignored.

Referenced by clang::Sema::DiagnoseAbstractType().

◆ notePriorDiagnosticFrom()

void clang::DiagnosticsEngine::notePriorDiagnosticFrom ( const DiagnosticsEngine Other)
inline

Note that the prior diagnostic was emitted by some other DiagnosticsEngine, and we may be attaching a note to that diagnostic.

Definition at line 896 of file Diagnostic.h.

References clang::Other.

Referenced by clang::StructuralEquivalenceContext::Diag1(), clang::StructuralEquivalenceContext::Diag2(), clang::ASTImporter::FromDiag(), and clang::ASTImporter::ToDiag().

◆ operator=()

DiagnosticsEngine & clang::DiagnosticsEngine::operator= ( const DiagnosticsEngine )
delete

◆ overloadCandidatesShown()

void clang::DiagnosticsEngine::overloadCandidatesShown ( unsigned  N)
inline

Call this after showing N overload candidates.

This influences the value returned by later calls to getNumOverloadCandidatesToShow().

Definition at line 746 of file Diagnostic.h.

Referenced by clang::ImplicitConversionSequence::DiagnoseAmbiguousConversion(), clang::OverloadCandidateSet::NoteCandidates(), and noteOverloads().

◆ ownsClient()

bool clang::DiagnosticsEngine::ownsClient ( ) const
inline

Determine whether this DiagnosticsEngine object own its client.

Definition at line 576 of file Diagnostic.h.

Referenced by SetUpDiagnosticLog(), SetupSerializedDiagnostics(), and clang::VerifyDiagnosticConsumer::~VerifyDiagnosticConsumer().

◆ popMappings()

bool DiagnosticsEngine::popMappings ( SourceLocation  Loc)

Pops the current DiagMappings off the top of the stack, causing the new top of the stack to be the active mappings.

Returns
true if the pop happens, false if there is only one DiagMapping on the stack.

Definition at line 106 of file Diagnostic.cpp.

◆ pushMappings()

void DiagnosticsEngine::pushMappings ( SourceLocation  Loc)

Copies the current DiagMappings and pushes the new copy onto the top of the stack.

Definition at line 102 of file Diagnostic.cpp.

◆ Report() [1/3]

void DiagnosticsEngine::Report ( const StoredDiagnostic storedDiag)

◆ Report() [2/3]

DiagnosticBuilder clang::DiagnosticsEngine::Report ( SourceLocation  Loc,
unsigned  DiagID 
)
inline

Issue the message to the client.

This actually returns an instance of DiagnosticBuilder which emits the diagnostics (through ProcessDiag) when it is destroyed.

Parameters
DiagIDA member of the diag::kind enum.
LocRepresents the source location associated with the diagnostic, which can be an invalid location if no position information is available.

Definition at line 1547 of file Diagnostic.h.

References DiagnosticBuilder.

Referenced by clang::Sema::ActOnIfStmt(), clang::TargetInfo::adjust(), clang::ASTReader::ASTReader(), clang::AttachHeaderIncludeGen(), clang::FrontendAction::BeginSourceFile(), clang::driver::Driver::BuildCompilation(), checkAliasedGlobal(), checkAliasForTocData(), CheckAtomicAlignment(), clang::TargetInfo::checkCFProtectionBranchSupported(), clang::TargetInfo::checkCFProtectionReturnSupported(), checkDiagnosticGroupMappings(), checkDiagnosticMappings(), clang::ento::CheckerRegistry::CheckerRegistry(), checkHeaderSearchOptions(), checkLanguageOptions(), clang::Preprocessor::checkModuleIsAvailable(), checkMSVCHeaderSearch(), checkPreprocessorOptions(), checkPrivateAPINotesName(), checkTargetOptions(), checkVerifyPrefixes(), clang::CompilerInstance::clearOutputFiles(), compileModuleAndReadASTBehindLock(), compileModuleAndReadASTImpl(), clang::GeneratePCHAction::ComputeASTConsumerArguments(), clang::driver::tools::Flang::ConstructJob(), clang::TestModuleFileExtension::createExtensionReader(), clang::CreateFrontendBaseAction(), clang::CompilerInstance::createModuleFromSource(), clang::CodeGen::CGOpenMPRuntime::createOffloadEntriesAndInfoMetadata(), clang::CompilerInstance::createOutputFile(), clang::CompilerInstance::createTarget(), clang::TargetInfo::CreateTargetInfo(), clang::createVFSFromOverlayFiles(), DefineBuiltinMacro(), Diag(), clang::Parser::Diag(), clang::FixItRewriter::Diag(), clang::Preprocessor::Diag(), clang::ASTReader::Diag(), clang::driver::Driver::Diag(), clang::StructuralEquivalenceContext::Diag1(), clang::StructuralEquivalenceContext::Diag2(), diagnoseExtensionInIdentifier(), clang::OpenCLOptions::diagnoseFeatureExtensionDifferences(), diagnoseFrameworkInclude(), clang::ModuleMap::diagnoseHeaderInclusion(), diagnoseInvalidUnicodeCodepointInIdentifier(), diagnoseSubMismatchMethodParameters(), clang::OpenCLOptions::diagnoseUnsupportedFeatureDependencies(), clang::BackendConsumer::DiagnosticHandlerImpl(), clang::BackendConsumer::DontCallDiagHandler(), clang::EmbedObject(), emitAArch64DeclareSimdFunction(), EmitAsmStores(), clang::EmitBackendOutput(), emitCallStackNotes(), emitCommonOMPTargetDirective(), clang::cross_tu::CrossTranslationUnitContext::emitCrossTUDiagnostics(), clang::BackendConsumer::EmitOptimizationMessage(), clang::PartialDiagnostic::EmitToString(), EmitUnknownDiagWarning(), EnableCodeCompletion(), clang::CodeGen::CodeGenModule::Error(), clang::CodeGen::CodeGenModule::ErrorUnsupported(), clang::CodeGen::CGCXXABI::ErrorUnsupportedABI(), clang::CompilerInstance::ExecuteAction(), clang::VerifyDiagnosticConsumer::MarkerTracker::finalize(), FixupInvocation(), clang::TextDiagnosticBuffer::FlushDiagnostics(), forEachDriverJob(), clang::ASTImporter::FromDiag(), clang::BackendConsumer::getBestLocationFromDebugLoc(), clang::tooling::getCC1Arguments(), getInputBufferForModule(), getObjCEncodingForPrimitiveType(), clang::CodeGen::CodeGenModule::GetOrCreateLLVMGlobal(), clang::ASTReader::getOriginalSourceFile(), getPrivateModuleMap(), getUnionInitName(), clang::SourceMgrAdapter::handleDiag(), clang::targets::ARMTargetInfo::handleTargetFeatures(), clang::targets::RISCVTargetInfo::handleTargetFeatures(), clang::targets::X86TargetInfo::handleTargetFeatures(), clang::ReducedBMIGenerator::HandleTranslationUnit(), clang::driver::toolchains::HIPAMDToolChain::HIPAMDToolChain(), clang::targets::PPCTargetInfo::initFeatureMap(), clang::targets::RISCVTargetInfo::initFeatureMap(), clang::targets::X86TargetInfo::initFeatureMap(), clang::TargetInfo::initFeatureMap(), clang::targets::AMDGPUTargetInfo::initFeatureMap(), InitializeFileRemapping(), clang::CompilerInstance::InitializeSourceManager(), initOption(), initTargetOptions(), clang::BackendConsumer::InlineAsmDiagHandler(), insertAndValidate(), isOptionContainedIn(), clang::CompilerInstance::loadModule(), clang::CompilerInstance::loadModuleFile(), clang::CompilerInstance::LoadRequestedPlugins(), clang::HeaderSearch::lookupModuleMapFile(), maybeDiagnoseIDCharCompat(), maybeDiagnoseUTF8Homoglyph(), clang::driver::Driver::maybeGenerateCompilationDiagnostics(), clang::RecordDecl::mayInsertExtraPadding(), clang::BackendConsumer::MisExpectDiagHandler(), normalizeSimpleEnum(), normalizeStringIntegral(), clang::NumericLiteralParser::NumericLiteralParser(), ParseAnalyzerArgs(), parseAnalyzerConfigs(), ParseAPINotesArgs(), clang::driver::Driver::ParseArgStrings(), ParseDependencyOutputArgs(), parseDiagnosticLevelMask(), ParseDirective(), ParseFrontendArgs(), clang::ModuleMapParser::parseModuleMapFile(), ParseOptimizationRemark(), ParsePreprocessorArgs(), parseSanitizerKinds(), ParseTargetArgs(), parseXRayInstrumentationBundle(), ppcUserFeaturesCheck(), prepareToBuildModule(), PrintExpected(), clang::Sema::PrintInstantiationStack(), clang::Sema::PrintPragmaAttributeInstantiationPoint(), PrintUnexpected(), clang::ProcessWarningOptions(), readASTAfterCompileModule(), clang::BackendConsumer::ReloadModules(), clang::arcmt::TransformActions::report(), Report(), clang::arcmt::CapturedDiagList::reportDiagnostics(), clang::CodeGen::InstrProfStats::reportDiagnostics(), clang::ento::CheckerManager::reportInvalidCheckerOptionValue(), clang::reportOptRecordError(), clang::BackendConsumer::ResourceLimitDiagHandler(), rewriteToNumericBoxedExpression(), RoundTrip(), selectBestPath(), clang::Sema::SemaDiagnosticBuilder::SemaDiagnosticBuilder(), clang::CodeGen::CodeGenModule::setGlobalVisibility(), setPGOUseInstrumentor(), SetUpDiagnosticLog(), clang::BackendConsumer::SrcMgrDiagHandler(), clang::BackendConsumer::StackSizeDiagHandler(), clang::CodeGen::CodeGenModule::stopAutoInit(), clang::ASTImporter::ToDiag(), clang::BackendConsumer::UnsupportedDiagHandler(), clang::ento::CheckerRegistry::validateCheckerOptions(), clang::TargetInfo::validateOpenCLTarget(), clang::targets::MipsTargetInfo::validateTarget(), and clang::FixItRewriter::WriteFixedFiles().

◆ Report() [3/3]

DiagnosticBuilder clang::DiagnosticsEngine::Report ( unsigned  DiagID)
inline

Definition at line 1560 of file Diagnostic.h.

References Report().

◆ Reset()

void DiagnosticsEngine::Reset ( bool  soft = false)

Reset the state of the diagnostic object to its initial configuration.

Parameters
[in]soft- if true, doesn't reset the diagnostic mappings and state

Definition at line 118 of file Diagnostic.cpp.

References clang::DiagnosticIDs::Ignored.

Referenced by clang::FixItRecompile::BeginInvocation(), clang::PrecompiledPreamble::Build(), DiagnosticsEngine(), and clang::ASTUnit::Reparse().

◆ SetArgToStringFn()

void clang::DiagnosticsEngine::SetArgToStringFn ( ArgToStringFnTy  Fn,
void *  Cookie 
)
inline

Definition at line 889 of file Diagnostic.h.

Referenced by clang::ASTMergeAction::ExecuteAction(), and clang::Sema::Sema().

◆ setClient()

void DiagnosticsEngine::setClient ( DiagnosticConsumer client,
bool  ShouldOwnClient = true 
)

Set the diagnostic client associated with this diagnostic object.

Parameters
ShouldOwnClienttrue if the diagnostic object should take ownership of client.

Definition at line 96 of file Diagnostic.cpp.

Referenced by clang::FixItRewriter::Diag(), DiagnosticsEngine(), clang::FixItRewriter::FixItRewriter(), RoundTrip(), SetUpDiagnosticLog(), SetupSerializedDiagnostics(), ~DiagnosticsEngine(), and clang::FixItRewriter::~FixItRewriter().

◆ setConstexprBacktraceLimit()

void clang::DiagnosticsEngine::setConstexprBacktraceLimit ( unsigned  Limit)
inline

Specify the maximum number of constexpr evaluation notes to emit along with a given diagnostic.

Definition at line 637 of file Diagnostic.h.

Referenced by clang::ProcessWarningOptions().

◆ SetDelayedDiagnostic()

void DiagnosticsEngine::SetDelayedDiagnostic ( unsigned  DiagID,
StringRef  Arg1 = "",
StringRef  Arg2 = "",
StringRef  Arg3 = "" 
)

Set the "delayed" diagnostic that will be emitted once the current diagnostic completes.

If a diagnostic is already in-flight but the front end must report a problem (e.g., with an inconsistent file system state), this routine sets a "delayed" diagnostic that will be emitted after the current diagnostic completes. This should only be used for fatal errors detected at inconvenient times. If emitting a delayed diagnostic causes a second delayed diagnostic to be introduced, that second delayed diagnostic will be ignored.

Parameters
DiagIDThe ID of the diagnostic being delayed.
Arg1A string argument that will be provided to the diagnostic. A copy of this string will be stored in the DiagnosticsEngine object itself.
Arg2A string argument that will be provided to the diagnostic. A copy of this string will be stored in the DiagnosticsEngine object itself.
Arg3A string argument that will be provided to the diagnostic. A copy of this string will be stored in the DiagnosticsEngine object itself.

Definition at line 146 of file Diagnostic.cpp.

◆ setDiagnosticGroupErrorAsFatal()

bool DiagnosticsEngine::setDiagnosticGroupErrorAsFatal ( StringRef  Group,
bool  Enabled 
)

Set the error-as-fatal flag for the given diagnostic group.

This function always only operates on the current diagnostic state.

Returns
True if the given group is unknown, false otherwise.

Definition at line 455 of file Diagnostic.cpp.

References Diag(), clang::diag::Error, clang::diag::Fatal, clang::DiagnosticMapping::getSeverity(), clang::DiagnosticMapping::setNoErrorAsFatal(), clang::DiagnosticMapping::setSeverity(), setSeverityForGroup(), and clang::diag::WarningOrError.

Referenced by clang::ProcessWarningOptions().

◆ setDiagnosticGroupWarningAsError()

bool DiagnosticsEngine::setDiagnosticGroupWarningAsError ( StringRef  Group,
bool  Enabled 
)

Set the warning-as-error flag for the given diagnostic group.

This function always only operates on the current diagnostic state.

Returns
True if the given group is unknown, false otherwise.

Definition at line 424 of file Diagnostic.cpp.

References Diag(), clang::diag::Error, clang::diag::Fatal, clang::DiagnosticMapping::getSeverity(), clang::DiagnosticMapping::setNoWarningAsError(), clang::DiagnosticMapping::setSeverity(), setSeverityForGroup(), clang::diag::Warning, and clang::diag::WarningOrError.

Referenced by clang::ProcessWarningOptions().

◆ setElideType()

void clang::DiagnosticsEngine::setElideType ( bool  Val)
inline

Set type eliding, to skip outputting same types occurring in template types.

Definition at line 702 of file Diagnostic.h.

Referenced by clang::ProcessWarningOptions().

◆ setEnableAllWarnings()

void clang::DiagnosticsEngine::setEnableAllWarnings ( bool  Val)
inline

When set to true, any unmapped ignored warnings are no longer ignored.

If this and IgnoreAllWarnings are both set, then that one wins.

Definition at line 661 of file Diagnostic.h.

Referenced by clang::ProcessWarningOptions().

◆ setErrorLimit()

void clang::DiagnosticsEngine::setErrorLimit ( unsigned  Limit)
inline

Specify a limit for the number of errors we should emit before giving up.

Zero disables the limit.

Definition at line 621 of file Diagnostic.h.

Referenced by clang::ProcessWarningOptions().

◆ setErrorsAsFatal()

void clang::DiagnosticsEngine::setErrorsAsFatal ( bool  Val)
inline

When set to true, any error reported is made a fatal error.

Definition at line 677 of file Diagnostic.h.

Referenced by clang::ProcessWarningOptions().

◆ setExtensionHandlingBehavior()

void clang::DiagnosticsEngine::setExtensionHandlingBehavior ( diag::Severity  H)
inline

Controls whether otherwise-unmapped extension diagnostics are mapped onto ignore/warning/error.

This corresponds to the GCC -pedantic and -pedantic-errors option.

Definition at line 778 of file Diagnostic.h.

Referenced by clang::ProcessWarningOptions().

◆ setFatalsAsError()

void clang::DiagnosticsEngine::setFatalsAsError ( bool  Val)
inline

When set to true, any fatal error reported is made an error.

This setting takes precedence over the setErrorsAsFatal setting above.

Definition at line 683 of file Diagnostic.h.

◆ setIgnoreAllWarnings()

void clang::DiagnosticsEngine::setIgnoreAllWarnings ( bool  Val)
inline

When set to true, any unmapped warnings are ignored.

If this and WarningsAsErrors are both set, then this one wins.

Definition at line 650 of file Diagnostic.h.

Referenced by clang::arcmt::CheckAction::BeginInvocation(), clang::arcmt::MigrateSourceAction::BeginInvocation(), clang::arcmt::MigrateAction::BeginInvocation(), clang::arcmt::ObjCMigrateAction::BeginInvocation(), and clang::ProcessWarningOptions().

◆ setLastDiagnosticIgnored()

void clang::DiagnosticsEngine::setLastDiagnosticIgnored ( bool  Ignored)
inline

Pretend that the last diagnostic issued was ignored, so any subsequent notes will be suppressed, or restore a prior ignoring state after ignoring some diagnostics and their notes, possibly in the middle of another diagnostic.

This can be used by clients who suppress diagnostics themselves.

Definition at line 761 of file Diagnostic.h.

References clang::DiagnosticIDs::Fatal, Ignored, clang::DiagnosticIDs::Ignored, and clang::DiagnosticIDs::Warning.

Referenced by clang::Sema::EmitCurrentDiagnostic(), clang::driver::Driver::maybeGenerateCompilationDiagnostics(), and clang::Sema::SFINAETrap::~SFINAETrap().

◆ setNumWarnings()

void clang::DiagnosticsEngine::setNumWarnings ( unsigned  NumWarnings)
inline

Definition at line 860 of file Diagnostic.h.

Referenced by clang::ASTUnit::Reparse().

◆ setPrintTemplateTree()

void clang::DiagnosticsEngine::setPrintTemplateTree ( bool  Val)
inline

Set tree printing, to outputting the template difference in a tree format.

Definition at line 707 of file Diagnostic.h.

Referenced by clang::ProcessWarningOptions().

◆ setSeverity()

void DiagnosticsEngine::setSeverity ( diag::kind  Diag,
diag::Severity  Map,
SourceLocation  Loc 
)

This allows the client to specify that certain warnings are ignored.

Notes can never be mapped, errors can only be mapped to fatal, and WARNINGs and EXTENSIONs can be mapped arbitrarily.

Parameters
LocThe source location that this change of diagnostic state should take affect. It can be null if we are setting the latest state.

Definition at line 354 of file Diagnostic.cpp.

References Diag(), clang::diag::DIAG_UPPER_LIMIT, clang::diag::Error, clang::diag::Fatal, clang::DiagnosticMapping::getSeverity(), clang::DiagnosticMapping::hasNoWarningAsError(), clang::SourceLocation::isInvalid(), clang::DiagnosticMapping::setNoWarningAsError(), clang::DiagnosticMapping::setUpgradedFromWarning(), and clang::diag::Warning.

Referenced by clang::Interpreter::Parse(), setSeverityForAll(), and setSeverityForGroup().

◆ setSeverityForAll()

void DiagnosticsEngine::setSeverityForAll ( diag::Flavor  Flavor,
diag::Severity  Map,
SourceLocation  Loc = SourceLocation() 
)

Add the specified mapping to all diagnostics of the specified flavor.

Mainly to be used by -Wno-everything to disable all warnings but allow subsequent -W options to enable specific warnings.

Definition at line 485 of file Diagnostic.cpp.

References Diag(), clang::DiagnosticIDs::getAllDiagnostics(), and setSeverity().

Referenced by clang::ProcessWarningOptions().

◆ setSeverityForGroup() [1/2]

bool DiagnosticsEngine::setSeverityForGroup ( diag::Flavor  Flavor,
diag::Group  Group,
diag::Severity  Map,
SourceLocation  Loc = SourceLocation() 
)

Definition at line 416 of file Diagnostic.cpp.

References setSeverityForGroup().

◆ setSeverityForGroup() [2/2]

bool DiagnosticsEngine::setSeverityForGroup ( diag::Flavor  Flavor,
StringRef  Group,
diag::Severity  Map,
SourceLocation  Loc = SourceLocation() 
)

Change an entire diagnostic group (e.g.

"unknown-pragmas") to have the specified mapping.

Returns
true (and ignores the request) if "Group" was unknown, false otherwise.
Parameters
FlavorThe flavor of group to affect. -Rfoo does not affect the state of the -Wfoo group and vice versa.
LocThe source location that this change of diagnostic state should take affect. It can be null if we are setting the state from command-line.

Definition at line 401 of file Diagnostic.cpp.

References Diag(), and setSeverity().

Referenced by clang::ProcessWarningOptions(), setDiagnosticGroupErrorAsFatal(), setDiagnosticGroupWarningAsError(), and setSeverityForGroup().

◆ setShowColors()

void clang::DiagnosticsEngine::setShowColors ( bool  Val)
inline

Set color printing, so the type diffing will inject color markers into the output.

Definition at line 712 of file Diagnostic.h.

References ShowColors.

Referenced by clang::ProcessWarningOptions().

◆ setShowOverloads()

void clang::DiagnosticsEngine::setShowOverloads ( OverloadsShown  Val)
inline

Specify which overload candidates to show when overload resolution fails.

By default, we show all candidates.

Definition at line 719 of file Diagnostic.h.

Referenced by clang::ProcessWarningOptions().

◆ setSourceManager()

void clang::DiagnosticsEngine::setSourceManager ( SourceManager SrcMgr)
inline

Definition at line 589 of file Diagnostic.h.

Referenced by clang::SourceManager::SourceManager().

◆ setSuppressAllDiagnostics()

void clang::DiagnosticsEngine::setSuppressAllDiagnostics ( bool  Val)
inline

Suppress all diagnostics, to silence the front end when we know that we don't want any more diagnostics to be passed along to the client.

Definition at line 697 of file Diagnostic.h.

Referenced by clang::PrintDependencyDirectivesSourceMinimizerAction::ExecuteAction(), and clang::Preprocessor::setCodeCompletionReached().

◆ setSuppressSystemWarnings()

void clang::DiagnosticsEngine::setSuppressSystemWarnings ( bool  Val)
inline

When set to true mask warnings that come from system headers.

Definition at line 687 of file Diagnostic.h.

Referenced by DoEmitAvailabilityWarning(), and clang::ProcessWarningOptions().

◆ setTemplateBacktraceLimit()

void clang::DiagnosticsEngine::setTemplateBacktraceLimit ( unsigned  Limit)
inline

Specify the maximum number of template instantiation notes to emit along with a given diagnostic.

Definition at line 625 of file Diagnostic.h.

Referenced by clang::ProcessWarningOptions().

◆ setWarningsAsErrors()

void clang::DiagnosticsEngine::setWarningsAsErrors ( bool  Val)
inline

When set to true, any warnings reported are issued as errors.

Definition at line 669 of file Diagnostic.h.

Referenced by clang::ento::CreateAnalysisConsumer(), and clang::ProcessWarningOptions().

◆ takeClient()

std::unique_ptr< DiagnosticConsumer > clang::DiagnosticsEngine::takeClient ( )
inline

Return the current diagnostic client along with ownership of that client.

Definition at line 580 of file Diagnostic.h.

Referenced by clang::FixItRewriter::FixItRewriter(), SetUpDiagnosticLog(), and SetupSerializedDiagnostics().

Friends And Related Function Documentation

◆ ASTReader

friend class ASTReader
friend

Definition at line 1048 of file Diagnostic.h.

◆ ASTWriter

friend class ASTWriter
friend

Definition at line 1049 of file Diagnostic.h.

◆ Diagnostic

friend class Diagnostic
friend

Definition at line 994 of file Diagnostic.h.

◆ DiagnosticBuilder

friend class DiagnosticBuilder
friend

Definition at line 995 of file Diagnostic.h.

Referenced by Report().

◆ DiagnosticErrorTrap

friend class DiagnosticErrorTrap
friend

Definition at line 996 of file Diagnostic.h.

◆ DiagnosticIDs

friend class DiagnosticIDs
friend

Definition at line 997 of file Diagnostic.h.

◆ DiagnosticsTestHelper

void DiagnosticsTestHelper ( DiagnosticsEngine )
friend

◆ PartialDiagnostic

friend class PartialDiagnostic
friend

Definition at line 998 of file Diagnostic.h.

◆ Sema

friend class Sema
friend

Definition at line 1055 of file Diagnostic.h.


The documentation for this class was generated from the following files: