This commit is contained in:
nephacks
2025-06-04 03:22:50 +02:00
parent f234f23848
commit f12416cffd
14243 changed files with 6446499 additions and 26 deletions

View File

@@ -0,0 +1,995 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*Attribute dumper *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
switch (A->getKind()) {
default:
llvm_unreachable("Unknown attribute kind!");
break;
case attr::AcquiredAfter: {
const AcquiredAfterAttr *SA = cast<AcquiredAfterAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
for (AcquiredAfterAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I) {
if (I + 1 == E)
lastChild();
dumpStmt(*I);
}
setMoreChildren(OldMoreChildren);
break;
}
case attr::AcquiredBefore: {
const AcquiredBeforeAttr *SA = cast<AcquiredBeforeAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
for (AcquiredBeforeAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I) {
if (I + 1 == E)
lastChild();
dumpStmt(*I);
}
setMoreChildren(OldMoreChildren);
break;
}
case attr::Alias: {
const AliasAttr *SA = cast<AliasAttr>(A);
OS << " \"" << SA->getAliasee() << "\"";
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::AlignMac68k: {
break;
}
case attr::Aligned: {
const AlignedAttr *SA = cast<AlignedAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
if (SA->isAlignmentExpr()) {
lastChild();
dumpStmt(SA->getAlignmentExpr());
} else
dumpType(SA->getAlignmentType()->getType());
setMoreChildren(OldMoreChildren);
break;
}
case attr::AllocSize: {
const AllocSizeAttr *SA = cast<AllocSizeAttr>(A);
for (AllocSizeAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I)
OS << " " << *I;
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::AlwaysInline: {
break;
}
case attr::AnalyzerNoReturn: {
break;
}
case attr::Annotate: {
const AnnotateAttr *SA = cast<AnnotateAttr>(A);
OS << " \"" << SA->getAnnotation() << "\"";
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::ArcWeakrefUnavailable: {
break;
}
case attr::ArgumentWithTypeTag: {
const ArgumentWithTypeTagAttr *SA = cast<ArgumentWithTypeTagAttr>(A);
OS << " " << SA->getArgumentKind()->getName();
OS << " " << SA->getArgumentIdx();
OS << " " << SA->getTypeTagIdx();
if (SA->getIsPointer()) OS << " IsPointer";
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || false || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::AsmLabel: {
const AsmLabelAttr *SA = cast<AsmLabelAttr>(A);
OS << " \"" << SA->getLabel() << "\"";
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::Availability: {
const AvailabilityAttr *SA = cast<AvailabilityAttr>(A);
OS << " " << SA->getPlatform()->getName();
OS << " " << SA->getIntroduced();
OS << " " << SA->getDeprecated();
OS << " " << SA->getObsoleted();
if (SA->getUnavailable()) OS << " Unavailable";
OS << " \"" << SA->getMessage() << "\"";
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || false || false || false || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false || false || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::Blocks: {
const BlocksAttr *SA = cast<BlocksAttr>(A);
switch(SA->getType()) {
case BlocksAttr::ByRef:
OS << " ByRef";
break;
}
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::C11NoReturn: {
break;
}
case attr::CDecl: {
break;
}
case attr::CFAuditedTransfer: {
break;
}
case attr::CFConsumed: {
break;
}
case attr::CFReturnsNotRetained: {
break;
}
case attr::CFReturnsRetained: {
break;
}
case attr::CFUnknownTransfer: {
break;
}
case attr::CUDAConstant: {
break;
}
case attr::CUDADevice: {
break;
}
case attr::CUDAGlobal: {
break;
}
case attr::CUDAHost: {
break;
}
case attr::CUDALaunchBounds: {
const CUDALaunchBoundsAttr *SA = cast<CUDALaunchBoundsAttr>(A);
OS << " " << SA->getMaxThreads();
OS << " " << SA->getMinBlocks();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::CUDAShared: {
break;
}
case attr::CXX11NoReturn: {
break;
}
case attr::CarriesDependency: {
break;
}
case attr::Cleanup: {
const CleanupAttr *SA = cast<CleanupAttr>(A);
OS << " ";
dumpBareDeclRef(SA->getFunctionDecl());
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::Cold: {
break;
}
case attr::Common: {
break;
}
case attr::Const: {
break;
}
case attr::Constructor: {
const ConstructorAttr *SA = cast<ConstructorAttr>(A);
OS << " " << SA->getPriority();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::DLLExport: {
break;
}
case attr::DLLImport: {
break;
}
case attr::Deprecated: {
const DeprecatedAttr *SA = cast<DeprecatedAttr>(A);
OS << " \"" << SA->getMessage() << "\"";
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::Destructor: {
const DestructorAttr *SA = cast<DestructorAttr>(A);
OS << " " << SA->getPriority();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::Endian: {
const EndianAttr *SA = cast<EndianAttr>(A);
OS << " " << SA->getPlatform()->getName();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::ExclusiveLockFunction: {
const ExclusiveLockFunctionAttr *SA = cast<ExclusiveLockFunctionAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
for (ExclusiveLockFunctionAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I) {
if (I + 1 == E)
lastChild();
dumpStmt(*I);
}
setMoreChildren(OldMoreChildren);
break;
}
case attr::ExclusiveLocksRequired: {
const ExclusiveLocksRequiredAttr *SA = cast<ExclusiveLocksRequiredAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
for (ExclusiveLocksRequiredAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I) {
if (I + 1 == E)
lastChild();
dumpStmt(*I);
}
setMoreChildren(OldMoreChildren);
break;
}
case attr::ExclusiveTrylockFunction: {
const ExclusiveTrylockFunctionAttr *SA = cast<ExclusiveTrylockFunctionAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || SA->args_begin() != SA->args_end();
setMoreChildren(MoreChildren);
lastChild();
dumpStmt(SA->getSuccessValue());
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
for (ExclusiveTrylockFunctionAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I) {
if (I + 1 == E)
lastChild();
dumpStmt(*I);
}
setMoreChildren(OldMoreChildren);
break;
}
case attr::FallThrough: {
break;
}
case attr::FastCall: {
break;
}
case attr::Final: {
break;
}
case attr::ForceInline: {
break;
}
case attr::Format: {
const FormatAttr *SA = cast<FormatAttr>(A);
OS << " \"" << SA->getType() << "\"";
OS << " " << SA->getFormatIdx();
OS << " " << SA->getFirstArg();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::FormatArg: {
const FormatArgAttr *SA = cast<FormatArgAttr>(A);
OS << " " << SA->getFormatIdx();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::GNUInline: {
break;
}
case attr::GuardedBy: {
const GuardedByAttr *SA = cast<GuardedByAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
lastChild();
dumpStmt(SA->getArg());
setMoreChildren(OldMoreChildren);
break;
}
case attr::GuardedVar: {
break;
}
case attr::Hot: {
break;
}
case attr::IBAction: {
break;
}
case attr::IBOutlet: {
break;
}
case attr::IBOutletCollection: {
const IBOutletCollectionAttr *SA = cast<IBOutletCollectionAttr>(A);
OS << " " << SA->getInterface().getAsString();
OS << " ";
SA->getInterfaceLoc().print(OS, *SM);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::InitPriority: {
const InitPriorityAttr *SA = cast<InitPriorityAttr>(A);
OS << " " << SA->getPriority();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::IntelOclBicc: {
break;
}
case attr::LockReturned: {
const LockReturnedAttr *SA = cast<LockReturnedAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
lastChild();
dumpStmt(SA->getArg());
setMoreChildren(OldMoreChildren);
break;
}
case attr::Lockable: {
break;
}
case attr::LocksExcluded: {
const LocksExcludedAttr *SA = cast<LocksExcludedAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
for (LocksExcludedAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I) {
if (I + 1 == E)
lastChild();
dumpStmt(*I);
}
setMoreChildren(OldMoreChildren);
break;
}
case attr::MBlazeInterruptHandler: {
break;
}
case attr::MBlazeSaveVolatiles: {
break;
}
case attr::MSP430Interrupt: {
const MSP430InterruptAttr *SA = cast<MSP430InterruptAttr>(A);
OS << " " << SA->getNumber();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::Malloc: {
break;
}
case attr::MaxFieldAlignment: {
const MaxFieldAlignmentAttr *SA = cast<MaxFieldAlignmentAttr>(A);
OS << " " << SA->getAlignment();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::MayAlias: {
break;
}
case attr::MinSize: {
break;
}
case attr::Mips16: {
break;
}
case attr::MsProperty: {
break;
}
case attr::MsStruct: {
break;
}
case attr::MultipleInheritance: {
break;
}
case attr::NSBridged: {
const NSBridgedAttr *SA = cast<NSBridgedAttr>(A);
OS << " " << SA->getBridgedType()->getName();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::NSConsumed: {
break;
}
case attr::NSConsumesSelf: {
break;
}
case attr::NSReturnsAutoreleased: {
break;
}
case attr::NSReturnsNotRetained: {
break;
}
case attr::NSReturnsRetained: {
break;
}
case attr::Naked: {
break;
}
case attr::NoCommon: {
break;
}
case attr::NoDebug: {
break;
}
case attr::NoInline: {
break;
}
case attr::NoInstrumentFunction: {
break;
}
case attr::NoMips16: {
break;
}
case attr::NoReturn: {
break;
}
case attr::NoSanitizeAddress: {
break;
}
case attr::NoSanitizeMemory: {
break;
}
case attr::NoSanitizeThread: {
break;
}
case attr::NoThreadSafetyAnalysis: {
break;
}
case attr::NoThrow: {
break;
}
case attr::NonNull: {
const NonNullAttr *SA = cast<NonNullAttr>(A);
for (NonNullAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I)
OS << " " << *I;
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::ObjCException: {
break;
}
case attr::ObjCMethodFamily: {
const ObjCMethodFamilyAttr *SA = cast<ObjCMethodFamilyAttr>(A);
switch(SA->getFamily()) {
case ObjCMethodFamilyAttr::OMF_None:
OS << " OMF_None";
break;
case ObjCMethodFamilyAttr::OMF_alloc:
OS << " OMF_alloc";
break;
case ObjCMethodFamilyAttr::OMF_copy:
OS << " OMF_copy";
break;
case ObjCMethodFamilyAttr::OMF_init:
OS << " OMF_init";
break;
case ObjCMethodFamilyAttr::OMF_mutableCopy:
OS << " OMF_mutableCopy";
break;
case ObjCMethodFamilyAttr::OMF_new:
OS << " OMF_new";
break;
}
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::ObjCNSObject: {
break;
}
case attr::ObjCPreciseLifetime: {
break;
}
case attr::ObjCRequiresPropertyDefs: {
break;
}
case attr::ObjCRequiresSuper: {
break;
}
case attr::ObjCReturnsInnerPointer: {
break;
}
case attr::ObjCRootClass: {
break;
}
case attr::OpenCLImageAccess: {
const OpenCLImageAccessAttr *SA = cast<OpenCLImageAccessAttr>(A);
OS << " " << SA->getAccess();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::OpenCLKernel: {
break;
}
case attr::Overloadable: {
break;
}
case attr::Override: {
break;
}
case attr::Ownership: {
const OwnershipAttr *SA = cast<OwnershipAttr>(A);
switch(SA->getOwnKind()) {
case OwnershipAttr::Holds:
OS << " Holds";
break;
case OwnershipAttr::Returns:
OS << " Returns";
break;
case OwnershipAttr::Takes:
OS << " Takes";
break;
}
OS << " \"" << SA->getModule() << "\"";
for (OwnershipAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I)
OS << " " << *I;
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::Packed: {
break;
}
case attr::Pascal: {
break;
}
case attr::Pcs: {
const PcsAttr *SA = cast<PcsAttr>(A);
switch(SA->getPCS()) {
case PcsAttr::AAPCS:
OS << " AAPCS";
break;
case PcsAttr::AAPCS_VFP:
OS << " AAPCS_VFP";
break;
}
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::PnaclCall: {
break;
}
case attr::PtGuardedBy: {
const PtGuardedByAttr *SA = cast<PtGuardedByAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
lastChild();
dumpStmt(SA->getArg());
setMoreChildren(OldMoreChildren);
break;
}
case attr::PtGuardedVar: {
break;
}
case attr::Ptr32: {
break;
}
case attr::Ptr64: {
break;
}
case attr::Pure: {
break;
}
case attr::Regparm: {
const RegparmAttr *SA = cast<RegparmAttr>(A);
OS << " " << SA->getNumParams();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::ReqdWorkGroupSize: {
const ReqdWorkGroupSizeAttr *SA = cast<ReqdWorkGroupSizeAttr>(A);
OS << " " << SA->getXDim();
OS << " " << SA->getYDim();
OS << " " << SA->getZDim();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::ReturnsTwice: {
break;
}
case attr::ScopedLockable: {
break;
}
case attr::Section: {
const SectionAttr *SA = cast<SectionAttr>(A);
OS << " \"" << SA->getName() << "\"";
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::Sentinel: {
const SentinelAttr *SA = cast<SentinelAttr>(A);
OS << " " << SA->getSentinel();
OS << " " << SA->getNullPos();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::SharedLockFunction: {
const SharedLockFunctionAttr *SA = cast<SharedLockFunctionAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
for (SharedLockFunctionAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I) {
if (I + 1 == E)
lastChild();
dumpStmt(*I);
}
setMoreChildren(OldMoreChildren);
break;
}
case attr::SharedLocksRequired: {
const SharedLocksRequiredAttr *SA = cast<SharedLocksRequiredAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
for (SharedLocksRequiredAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I) {
if (I + 1 == E)
lastChild();
dumpStmt(*I);
}
setMoreChildren(OldMoreChildren);
break;
}
case attr::SharedTrylockFunction: {
const SharedTrylockFunctionAttr *SA = cast<SharedTrylockFunctionAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || SA->args_begin() != SA->args_end();
setMoreChildren(MoreChildren);
lastChild();
dumpStmt(SA->getSuccessValue());
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
for (SharedTrylockFunctionAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I) {
if (I + 1 == E)
lastChild();
dumpStmt(*I);
}
setMoreChildren(OldMoreChildren);
break;
}
case attr::SingleInheritance: {
break;
}
case attr::StdCall: {
break;
}
case attr::TLSModel: {
const TLSModelAttr *SA = cast<TLSModelAttr>(A);
OS << " \"" << SA->getModel() << "\"";
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::ThisCall: {
break;
}
case attr::TransparentUnion: {
break;
}
case attr::TypeTagForDatatype: {
const TypeTagForDatatypeAttr *SA = cast<TypeTagForDatatypeAttr>(A);
OS << " " << SA->getArgumentKind()->getName();
OS << " " << SA->getMatchingCType().getAsString();
if (SA->getLayoutCompatible()) OS << " LayoutCompatible";
if (SA->getMustBeNull()) OS << " MustBeNull";
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || false || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::TypeVisibility: {
const TypeVisibilityAttr *SA = cast<TypeVisibilityAttr>(A);
switch(SA->getVisibility()) {
case TypeVisibilityAttr::Default:
OS << " Default";
break;
case TypeVisibilityAttr::Hidden:
OS << " Hidden";
break;
case TypeVisibilityAttr::Protected:
OS << " Protected";
break;
}
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::Unavailable: {
const UnavailableAttr *SA = cast<UnavailableAttr>(A);
OS << " \"" << SA->getMessage() << "\"";
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::UnlockFunction: {
const UnlockFunctionAttr *SA = cast<UnlockFunctionAttr>(A);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
for (UnlockFunctionAttr::args_iterator I = SA->args_begin(), E = SA->args_end(); I != E; ++I) {
if (I + 1 == E)
lastChild();
dumpStmt(*I);
}
setMoreChildren(OldMoreChildren);
break;
}
case attr::UnspecifiedInheritance: {
break;
}
case attr::Unused: {
break;
}
case attr::Used: {
break;
}
case attr::Uuid: {
const UuidAttr *SA = cast<UuidAttr>(A);
OS << " \"" << SA->getGuid() << "\"";
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::VecReturn: {
break;
}
case attr::VecTypeHint: {
const VecTypeHintAttr *SA = cast<VecTypeHintAttr>(A);
OS << " " << SA->getTypeHint().getAsString();
OS << " ";
SA->getTypeLoc().print(OS, *SM);
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::VirtualInheritance: {
break;
}
case attr::Visibility: {
const VisibilityAttr *SA = cast<VisibilityAttr>(A);
switch(SA->getVisibility()) {
case VisibilityAttr::Default:
OS << " Default";
break;
case VisibilityAttr::Hidden:
OS << " Hidden";
break;
case VisibilityAttr::Protected:
OS << " Protected";
break;
}
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::WarnUnusedResult: {
break;
}
case attr::Weak: {
break;
}
case attr::WeakImport: {
break;
}
case attr::WeakRef: {
break;
}
case attr::Win64: {
break;
}
case attr::WorkGroupSizeHint: {
const WorkGroupSizeHintAttr *SA = cast<WorkGroupSizeHintAttr>(A);
OS << " " << SA->getXDim();
OS << " " << SA->getYDim();
OS << " " << SA->getZDim();
bool OldMoreChildren = hasMoreChildren();
bool MoreChildren = OldMoreChildren;
MoreChildren = OldMoreChildren || false || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren || false;
setMoreChildren(MoreChildren);
MoreChildren = OldMoreChildren;
setMoreChildren(MoreChildren);
setMoreChildren(OldMoreChildren);
break;
}
case attr::X86ForceAlignArgPointer: {
break;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,740 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*A list of commands useable in documentation comments *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
namespace {
const CommandInfo Commands[] = {
{ "a", "", 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "abstract", "", 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "addtogroup", "", 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "arg", "", 3, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "attention", "", 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "author", "", 5, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "authors", "", 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "b", "", 7, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "brief", "", 8, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "bug", "", 9, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "c", "", 10, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "callback", "", 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },
{ "category", "", 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ "class", "", 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },
{ "classdesign", "", 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
{ "coclass", "", 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
{ "code", "endcode", 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "endcode", "", 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "const", "", 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ "constant", "", 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ "copyright", "", 20, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "date", "", 21, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "defgroup", "", 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "dependency", "", 23, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
{ "deprecated", "", 24, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "details", "", 25, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "discussion", "", 26, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "dot", "enddot", 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "enddot", "", 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "e", "", 29, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "em", "", 30, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "enum", "", 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ "f{", "f}", 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "f}", "", 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "f[", "f]", 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "f]", "", 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "f$", "f$", 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "fn", "", 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ "function", "", 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },
{ "functiongroup", "", 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },
{ "headerfile", "", 40, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "helper", "", 41, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
{ "helperclass", "", 42, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
{ "helps", "", 43, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
{ "htmlonly", "endhtmlonly", 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "endhtmlonly", "", 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "ingroup", "", 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "instancesize", "", 47, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
{ "interface", "", 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },
{ "invariant", "", 49, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "latexonly", "endlatexonly", 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "endlatexonly", "", 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "li", "", 52, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "link", "/link", 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "/link", "", 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "mainpage", "", 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "manonly", "endmanonly", 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "endmanonly", "", 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "method", "", 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },
{ "methodgroup", "", 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0 },
{ "msc", "endmsc", 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "endmsc", "", 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "name", "", 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "namespace", "", 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ "note", "", 64, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "overload", "", 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ "ownership", "", 66, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
{ "p", "", 67, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "par", "", 68, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "paragraph", "", 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "param", "", 70, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "performance", "", 71, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
{ "post", "", 72, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "pre", "", 73, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "property", "", 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ "protocol", "", 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },
{ "ref", "", 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "remark", "", 77, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "remarks", "", 78, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "result", "", 79, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "return", "", 80, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "returns", "", 81, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "rtfonly", "endrtfonly", 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "endrtfonly", "", 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "sa", "", 84, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "section", "", 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "security", "", 86, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
{ "see", "", 87, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "seealso", "", 88, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "short", "", 89, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "since", "", 90, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "struct", "", 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },
{ "subpage", "", 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "subsection", "", 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "subsubsection", "", 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "superclass", "", 95, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
{ "template", "", 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ "templatefield", "", 97, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "textblock", "/textblock", 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "/textblock", "", 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "todo", "", 100, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "tparam", "", 101, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "typedef", "", 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ "union", "", 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0 },
{ "var", "", 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
{ "verbatim", "endverbatim", 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "endverbatim", "", 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
{ "version", "", 107, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "warning", "", 108, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ "weakgroup", "", 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 },
{ "xmlonly", "endxmlonly", 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
{ "endxmlonly", "", 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }
};
} // unnamed namespace
const CommandInfo *CommandTraits::getBuiltinCommandInfo(
StringRef Name) {
switch (Name.size()) {
default: break;
case 1: // 5 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
return &Commands[0]; // "a"
case 'b': // 1 string to match.
return &Commands[7]; // "b"
case 'c': // 1 string to match.
return &Commands[10]; // "c"
case 'e': // 1 string to match.
return &Commands[29]; // "e"
case 'p': // 1 string to match.
return &Commands[67]; // "p"
}
break;
case 2: // 9 strings to match.
switch (Name[0]) {
default: break;
case 'e': // 1 string to match.
if (Name[1] != 'm')
break;
return &Commands[30]; // "em"
case 'f': // 6 strings to match.
switch (Name[1]) {
default: break;
case '$': // 1 string to match.
return &Commands[36]; // "f$"
case '[': // 1 string to match.
return &Commands[34]; // "f["
case ']': // 1 string to match.
return &Commands[35]; // "f]"
case 'n': // 1 string to match.
return &Commands[37]; // "fn"
case '{': // 1 string to match.
return &Commands[32]; // "f{"
case '}': // 1 string to match.
return &Commands[33]; // "f}"
}
break;
case 'l': // 1 string to match.
if (Name[1] != 'i')
break;
return &Commands[52]; // "li"
case 's': // 1 string to match.
if (Name[1] != 'a')
break;
return &Commands[84]; // "sa"
}
break;
case 3: // 9 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "rg", 2))
break;
return &Commands[3]; // "arg"
case 'b': // 1 string to match.
if (memcmp(Name.data()+1, "ug", 2))
break;
return &Commands[9]; // "bug"
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "ot", 2))
break;
return &Commands[27]; // "dot"
case 'm': // 1 string to match.
if (memcmp(Name.data()+1, "sc", 2))
break;
return &Commands[60]; // "msc"
case 'p': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (Name[2] != 'r')
break;
return &Commands[68]; // "par"
case 'r': // 1 string to match.
if (Name[2] != 'e')
break;
return &Commands[73]; // "pre"
}
break;
case 'r': // 1 string to match.
if (memcmp(Name.data()+1, "ef", 2))
break;
return &Commands[76]; // "ref"
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "ee", 2))
break;
return &Commands[87]; // "see"
case 'v': // 1 string to match.
if (memcmp(Name.data()+1, "ar", 2))
break;
return &Commands[104]; // "var"
}
break;
case 4: // 8 strings to match.
switch (Name[0]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "ode", 3))
break;
return &Commands[16]; // "code"
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "ate", 3))
break;
return &Commands[21]; // "date"
case 'e': // 1 string to match.
if (memcmp(Name.data()+1, "num", 3))
break;
return &Commands[31]; // "enum"
case 'l': // 1 string to match.
if (memcmp(Name.data()+1, "ink", 3))
break;
return &Commands[53]; // "link"
case 'n': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "me", 2))
break;
return &Commands[62]; // "name"
case 'o': // 1 string to match.
if (memcmp(Name.data()+2, "te", 2))
break;
return &Commands[64]; // "note"
}
break;
case 'p': // 1 string to match.
if (memcmp(Name.data()+1, "ost", 3))
break;
return &Commands[72]; // "post"
case 't': // 1 string to match.
if (memcmp(Name.data()+1, "odo", 3))
break;
return &Commands[100]; // "todo"
}
break;
case 5: // 9 strings to match.
switch (Name[0]) {
default: break;
case '/': // 1 string to match.
if (memcmp(Name.data()+1, "link", 4))
break;
return &Commands[54]; // "/link"
case 'b': // 1 string to match.
if (memcmp(Name.data()+1, "rief", 4))
break;
return &Commands[8]; // "brief"
case 'c': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+2, "ass", 3))
break;
return &Commands[13]; // "class"
case 'o': // 1 string to match.
if (memcmp(Name.data()+2, "nst", 3))
break;
return &Commands[18]; // "const"
}
break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+1, "elps", 4))
break;
return &Commands[43]; // "helps"
case 'p': // 1 string to match.
if (memcmp(Name.data()+1, "aram", 4))
break;
return &Commands[70]; // "param"
case 's': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+2, "ort", 3))
break;
return &Commands[89]; // "short"
case 'i': // 1 string to match.
if (memcmp(Name.data()+2, "nce", 3))
break;
return &Commands[90]; // "since"
}
break;
case 'u': // 1 string to match.
if (memcmp(Name.data()+1, "nion", 4))
break;
return &Commands[103]; // "union"
}
break;
case 6: // 10 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "uthor", 5))
break;
return &Commands[5]; // "author"
case 'e': // 2 strings to match.
if (memcmp(Name.data()+1, "nd", 2))
break;
switch (Name[3]) {
default: break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+4, "ot", 2))
break;
return &Commands[28]; // "enddot"
case 'm': // 1 string to match.
if (memcmp(Name.data()+4, "sc", 2))
break;
return &Commands[61]; // "endmsc"
}
break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+1, "elper", 5))
break;
return &Commands[41]; // "helper"
case 'm': // 1 string to match.
if (memcmp(Name.data()+1, "ethod", 5))
break;
return &Commands[58]; // "method"
case 'r': // 3 strings to match.
if (Name[1] != 'e')
break;
switch (Name[2]) {
default: break;
case 'm': // 1 string to match.
if (memcmp(Name.data()+3, "ark", 3))
break;
return &Commands[77]; // "remark"
case 's': // 1 string to match.
if (memcmp(Name.data()+3, "ult", 3))
break;
return &Commands[79]; // "result"
case 't': // 1 string to match.
if (memcmp(Name.data()+3, "urn", 3))
break;
return &Commands[80]; // "return"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "truct", 5))
break;
return &Commands[91]; // "struct"
case 't': // 1 string to match.
if (memcmp(Name.data()+1, "param", 5))
break;
return &Commands[101]; // "tparam"
}
break;
case 7: // 16 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "uthors", 6))
break;
return &Commands[6]; // "authors"
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "oclass", 6))
break;
return &Commands[15]; // "coclass"
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "etails", 6))
break;
return &Commands[25]; // "details"
case 'e': // 1 string to match.
if (memcmp(Name.data()+1, "ndcode", 6))
break;
return &Commands[17]; // "endcode"
case 'i': // 1 string to match.
if (memcmp(Name.data()+1, "ngroup", 6))
break;
return &Commands[46]; // "ingroup"
case 'm': // 1 string to match.
if (memcmp(Name.data()+1, "anonly", 6))
break;
return &Commands[56]; // "manonly"
case 'r': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 2 strings to match.
switch (Name[2]) {
default: break;
case 'm': // 1 string to match.
if (memcmp(Name.data()+3, "arks", 4))
break;
return &Commands[78]; // "remarks"
case 't': // 1 string to match.
if (memcmp(Name.data()+3, "urns", 4))
break;
return &Commands[81]; // "returns"
}
break;
case 't': // 1 string to match.
if (memcmp(Name.data()+2, "fonly", 5))
break;
return &Commands[82]; // "rtfonly"
}
break;
case 's': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 2 strings to match.
switch (Name[2]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+3, "tion", 4))
break;
return &Commands[85]; // "section"
case 'e': // 1 string to match.
if (memcmp(Name.data()+3, "also", 4))
break;
return &Commands[88]; // "seealso"
}
break;
case 'u': // 1 string to match.
if (memcmp(Name.data()+2, "bpage", 5))
break;
return &Commands[92]; // "subpage"
}
break;
case 't': // 1 string to match.
if (memcmp(Name.data()+1, "ypedef", 6))
break;
return &Commands[102]; // "typedef"
case 'v': // 1 string to match.
if (memcmp(Name.data()+1, "ersion", 6))
break;
return &Commands[107]; // "version"
case 'w': // 1 string to match.
if (memcmp(Name.data()+1, "arning", 6))
break;
return &Commands[108]; // "warning"
case 'x': // 1 string to match.
if (memcmp(Name.data()+1, "mlonly", 6))
break;
return &Commands[110]; // "xmlonly"
}
break;
case 8: // 14 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "bstract", 7))
break;
return &Commands[1]; // "abstract"
case 'c': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 2 strings to match.
switch (Name[2]) {
default: break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+3, "lback", 5))
break;
return &Commands[11]; // "callback"
case 't': // 1 string to match.
if (memcmp(Name.data()+3, "egory", 5))
break;
return &Commands[12]; // "category"
}
break;
case 'o': // 1 string to match.
if (memcmp(Name.data()+2, "nstant", 6))
break;
return &Commands[19]; // "constant"
}
break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "efgroup", 7))
break;
return &Commands[22]; // "defgroup"
case 'f': // 1 string to match.
if (memcmp(Name.data()+1, "unction", 7))
break;
return &Commands[38]; // "function"
case 'h': // 1 string to match.
if (memcmp(Name.data()+1, "tmlonly", 7))
break;
return &Commands[44]; // "htmlonly"
case 'm': // 1 string to match.
if (memcmp(Name.data()+1, "ainpage", 7))
break;
return &Commands[55]; // "mainpage"
case 'o': // 1 string to match.
if (memcmp(Name.data()+1, "verload", 7))
break;
return &Commands[65]; // "overload"
case 'p': // 2 strings to match.
if (memcmp(Name.data()+1, "ro", 2))
break;
switch (Name[3]) {
default: break;
case 'p': // 1 string to match.
if (memcmp(Name.data()+4, "erty", 4))
break;
return &Commands[74]; // "property"
case 't': // 1 string to match.
if (memcmp(Name.data()+4, "ocol", 4))
break;
return &Commands[75]; // "protocol"
}
break;
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "ecurity", 7))
break;
return &Commands[86]; // "security"
case 't': // 1 string to match.
if (memcmp(Name.data()+1, "emplate", 7))
break;
return &Commands[96]; // "template"
case 'v': // 1 string to match.
if (memcmp(Name.data()+1, "erbatim", 7))
break;
return &Commands[105]; // "verbatim"
}
break;
case 9: // 10 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "ttention", 8))
break;
return &Commands[4]; // "attention"
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "opyright", 8))
break;
return &Commands[20]; // "copyright"
case 'i': // 2 strings to match.
if (Name[1] != 'n')
break;
switch (Name[2]) {
default: break;
case 't': // 1 string to match.
if (memcmp(Name.data()+3, "erface", 6))
break;
return &Commands[48]; // "interface"
case 'v': // 1 string to match.
if (memcmp(Name.data()+3, "ariant", 6))
break;
return &Commands[49]; // "invariant"
}
break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+1, "atexonly", 8))
break;
return &Commands[50]; // "latexonly"
case 'n': // 1 string to match.
if (memcmp(Name.data()+1, "amespace", 8))
break;
return &Commands[63]; // "namespace"
case 'o': // 1 string to match.
if (memcmp(Name.data()+1, "wnership", 8))
break;
return &Commands[66]; // "ownership"
case 'p': // 1 string to match.
if (memcmp(Name.data()+1, "aragraph", 8))
break;
return &Commands[69]; // "paragraph"
case 't': // 1 string to match.
if (memcmp(Name.data()+1, "extblock", 8))
break;
return &Commands[98]; // "textblock"
case 'w': // 1 string to match.
if (memcmp(Name.data()+1, "eakgroup", 8))
break;
return &Commands[109]; // "weakgroup"
}
break;
case 10: // 11 strings to match.
switch (Name[0]) {
default: break;
case '/': // 1 string to match.
if (memcmp(Name.data()+1, "textblock", 9))
break;
return &Commands[99]; // "/textblock"
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "ddtogroup", 9))
break;
return &Commands[2]; // "addtogroup"
case 'd': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 2 strings to match.
if (Name[2] != 'p')
break;
switch (Name[3]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+4, "ndency", 6))
break;
return &Commands[23]; // "dependency"
case 'r': // 1 string to match.
if (memcmp(Name.data()+4, "ecated", 6))
break;
return &Commands[24]; // "deprecated"
}
break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+2, "scussion", 8))
break;
return &Commands[26]; // "discussion"
}
break;
case 'e': // 3 strings to match.
if (memcmp(Name.data()+1, "nd", 2))
break;
switch (Name[3]) {
default: break;
case 'm': // 1 string to match.
if (memcmp(Name.data()+4, "anonly", 6))
break;
return &Commands[57]; // "endmanonly"
case 'r': // 1 string to match.
if (memcmp(Name.data()+4, "tfonly", 6))
break;
return &Commands[83]; // "endrtfonly"
case 'x': // 1 string to match.
if (memcmp(Name.data()+4, "mlonly", 6))
break;
return &Commands[111]; // "endxmlonly"
}
break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+1, "eaderfile", 9))
break;
return &Commands[40]; // "headerfile"
case 's': // 2 strings to match.
if (Name[1] != 'u')
break;
switch (Name[2]) {
default: break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+3, "section", 7))
break;
return &Commands[93]; // "subsection"
case 'p': // 1 string to match.
if (memcmp(Name.data()+3, "erclass", 7))
break;
return &Commands[95]; // "superclass"
}
break;
}
break;
case 11: // 6 strings to match.
switch (Name[0]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "lassdesign", 10))
break;
return &Commands[14]; // "classdesign"
case 'e': // 2 strings to match.
if (memcmp(Name.data()+1, "nd", 2))
break;
switch (Name[3]) {
default: break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+4, "tmlonly", 7))
break;
return &Commands[45]; // "endhtmlonly"
case 'v': // 1 string to match.
if (memcmp(Name.data()+4, "erbatim", 7))
break;
return &Commands[106]; // "endverbatim"
}
break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+1, "elperclass", 10))
break;
return &Commands[42]; // "helperclass"
case 'm': // 1 string to match.
if (memcmp(Name.data()+1, "ethodgroup", 10))
break;
return &Commands[59]; // "methodgroup"
case 'p': // 1 string to match.
if (memcmp(Name.data()+1, "erformance", 10))
break;
return &Commands[71]; // "performance"
}
break;
case 12: // 2 strings to match.
switch (Name[0]) {
default: break;
case 'e': // 1 string to match.
if (memcmp(Name.data()+1, "ndlatexonly", 11))
break;
return &Commands[51]; // "endlatexonly"
case 'i': // 1 string to match.
if (memcmp(Name.data()+1, "nstancesize", 11))
break;
return &Commands[47]; // "instancesize"
}
break;
case 13: // 3 strings to match.
switch (Name[0]) {
default: break;
case 'f': // 1 string to match.
if (memcmp(Name.data()+1, "unctiongroup", 12))
break;
return &Commands[39]; // "functiongroup"
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "ubsubsection", 12))
break;
return &Commands[94]; // "subsubsection"
case 't': // 1 string to match.
if (memcmp(Name.data()+1, "emplatefield", 12))
break;
return &Commands[97]; // "templatefield"
}
break;
}
return NULL;
}

View File

@@ -0,0 +1,123 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*A list of commands useable in documentation comments *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef COMMENT_COMMAND
# define COMMENT_COMMAND(NAME)
#endif
COMMENT_COMMAND(a)
COMMENT_COMMAND(abstract)
COMMENT_COMMAND(addtogroup)
COMMENT_COMMAND(arg)
COMMENT_COMMAND(attention)
COMMENT_COMMAND(author)
COMMENT_COMMAND(authors)
COMMENT_COMMAND(b)
COMMENT_COMMAND(brief)
COMMENT_COMMAND(bug)
COMMENT_COMMAND(c)
COMMENT_COMMAND(callback)
COMMENT_COMMAND(category)
COMMENT_COMMAND(class)
COMMENT_COMMAND(classdesign)
COMMENT_COMMAND(coclass)
COMMENT_COMMAND(code)
COMMENT_COMMAND(endcode)
COMMENT_COMMAND(const)
COMMENT_COMMAND(constant)
COMMENT_COMMAND(copyright)
COMMENT_COMMAND(date)
COMMENT_COMMAND(defgroup)
COMMENT_COMMAND(dependency)
COMMENT_COMMAND(deprecated)
COMMENT_COMMAND(details)
COMMENT_COMMAND(discussion)
COMMENT_COMMAND(dot)
COMMENT_COMMAND(enddot)
COMMENT_COMMAND(e)
COMMENT_COMMAND(em)
COMMENT_COMMAND(enum)
COMMENT_COMMAND(flbrace)
COMMENT_COMMAND(frbrace)
COMMENT_COMMAND(flsquare)
COMMENT_COMMAND(frsquare)
COMMENT_COMMAND(fdollar)
COMMENT_COMMAND(fn)
COMMENT_COMMAND(function)
COMMENT_COMMAND(functiongroup)
COMMENT_COMMAND(headerfile)
COMMENT_COMMAND(helper)
COMMENT_COMMAND(helperclass)
COMMENT_COMMAND(helps)
COMMENT_COMMAND(htmlonly)
COMMENT_COMMAND(endhtmlonly)
COMMENT_COMMAND(ingroup)
COMMENT_COMMAND(instancesize)
COMMENT_COMMAND(interface)
COMMENT_COMMAND(invariant)
COMMENT_COMMAND(latexonly)
COMMENT_COMMAND(endlatexonly)
COMMENT_COMMAND(li)
COMMENT_COMMAND(link)
COMMENT_COMMAND(slashlink)
COMMENT_COMMAND(mainpage)
COMMENT_COMMAND(manonly)
COMMENT_COMMAND(endmanonly)
COMMENT_COMMAND(method)
COMMENT_COMMAND(methodgroup)
COMMENT_COMMAND(msc)
COMMENT_COMMAND(endmsc)
COMMENT_COMMAND(name)
COMMENT_COMMAND(namespace)
COMMENT_COMMAND(note)
COMMENT_COMMAND(overload)
COMMENT_COMMAND(ownership)
COMMENT_COMMAND(p)
COMMENT_COMMAND(par)
COMMENT_COMMAND(paragraph)
COMMENT_COMMAND(param)
COMMENT_COMMAND(performance)
COMMENT_COMMAND(post)
COMMENT_COMMAND(pre)
COMMENT_COMMAND(property)
COMMENT_COMMAND(protocol)
COMMENT_COMMAND(ref)
COMMENT_COMMAND(remark)
COMMENT_COMMAND(remarks)
COMMENT_COMMAND(result)
COMMENT_COMMAND(return)
COMMENT_COMMAND(returns)
COMMENT_COMMAND(rtfonly)
COMMENT_COMMAND(endrtfonly)
COMMENT_COMMAND(sa)
COMMENT_COMMAND(section)
COMMENT_COMMAND(security)
COMMENT_COMMAND(see)
COMMENT_COMMAND(seealso)
COMMENT_COMMAND(short)
COMMENT_COMMAND(since)
COMMENT_COMMAND(struct)
COMMENT_COMMAND(subpage)
COMMENT_COMMAND(subsection)
COMMENT_COMMAND(subsubsection)
COMMENT_COMMAND(superclass)
COMMENT_COMMAND(template)
COMMENT_COMMAND(templatefield)
COMMENT_COMMAND(textblock)
COMMENT_COMMAND(slashtextblock)
COMMENT_COMMAND(todo)
COMMENT_COMMAND(tparam)
COMMENT_COMMAND(typedef)
COMMENT_COMMAND(union)
COMMENT_COMMAND(var)
COMMENT_COMMAND(verbatim)
COMMENT_COMMAND(endverbatim)
COMMENT_COMMAND(version)
COMMENT_COMMAND(warning)
COMMENT_COMMAND(weakgroup)
COMMENT_COMMAND(xmlonly)
COMMENT_COMMAND(endxmlonly)

View File

@@ -0,0 +1,815 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*HTML named character reference to UTF-8 translation *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
StringRef translateHTMLNamedCharacterReferenceToUTF8(
StringRef Name) {
switch (Name.size()) {
default: break;
case 2: // 15 strings to match.
switch (Name[0]) {
default: break;
case 'G': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'T': // 1 string to match.
return "\x3e"; // "GT"
case 't': // 1 string to match.
return "\x3e"; // "Gt"
}
break;
case 'L': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'T': // 1 string to match.
return "\x3c"; // "LT"
case 't': // 1 string to match.
return "\x3c"; // "Lt"
}
break;
case 'P': // 1 string to match.
if (Name[1] != 'i')
break;
return "\xce\xa0"; // "Pi"
case 'X': // 1 string to match.
if (Name[1] != 'i')
break;
return "\xce\x9e"; // "Xi"
case 'g': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 1 string to match.
return "\xe2\x89\xa5"; // "ge"
case 't': // 1 string to match.
return "\x3e"; // "gt"
}
break;
case 'l': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 1 string to match.
return "\xe2\x89\xa4"; // "le"
case 't': // 1 string to match.
return "\x3c"; // "lt"
}
break;
case 'm': // 1 string to match.
if (Name[1] != 'u')
break;
return "\xce\xbc"; // "mu"
case 'n': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 1 string to match.
return "\xe2\x89\xa0"; // "ne"
case 'u': // 1 string to match.
return "\xce\xbd"; // "nu"
}
break;
case 'p': // 1 string to match.
if (Name[1] != 'i')
break;
return "\xcf\x80"; // "pi"
case 'x': // 1 string to match.
if (Name[1] != 'i')
break;
return "\xce\xbe"; // "xi"
}
break;
case 3: // 16 strings to match.
switch (Name[0]) {
default: break;
case 'A': // 1 string to match.
if (memcmp(Name.data()+1, "MP", 2))
break;
return "\x26"; // "AMP"
case 'P': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'h': // 1 string to match.
if (Name[2] != 'i')
break;
return "\xce\xa6"; // "Phi"
case 's': // 1 string to match.
if (Name[2] != 'i')
break;
return "\xce\xa8"; // "Psi"
}
break;
case 'R': // 1 string to match.
if (memcmp(Name.data()+1, "EG", 2))
break;
return "\xc2\xae"; // "REG"
case 'a': // 1 string to match.
if (memcmp(Name.data()+1, "mp", 2))
break;
return "\x26"; // "amp"
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "hi", 2))
break;
return "\xcf\x87"; // "chi"
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "eg", 2))
break;
return "\xc2\xb0"; // "deg"
case 'e': // 1 string to match.
if (memcmp(Name.data()+1, "ta", 2))
break;
return "\xce\xb7"; // "eta"
case 'i': // 1 string to match.
if (memcmp(Name.data()+1, "nt", 2))
break;
return "\xe2\x88\xab"; // "int"
case 'p': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'h': // 1 string to match.
if (Name[2] != 'i')
break;
return "\xcf\x86"; // "phi"
case 's': // 1 string to match.
if (Name[2] != 'i')
break;
return "\xcf\x88"; // "psi"
}
break;
case 'r': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 1 string to match.
if (Name[2] != 'g')
break;
return "\xc2\xae"; // "reg"
case 'h': // 1 string to match.
if (Name[2] != 'o')
break;
return "\xcf\x81"; // "rho"
}
break;
case 's': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'i': // 1 string to match.
if (Name[2] != 'm')
break;
return "\xe2\x88\xbc"; // "sim"
case 'u': // 1 string to match.
if (Name[2] != 'm')
break;
return "\xe2\x88\x91"; // "sum"
}
break;
case 't': // 1 string to match.
if (memcmp(Name.data()+1, "au", 2))
break;
return "\xcf\x84"; // "tau"
}
break;
case 4: // 30 strings to match.
switch (Name[0]) {
default: break;
case 'A': // 1 string to match.
if (memcmp(Name.data()+1, "uml", 3))
break;
return "\xc3\x84"; // "Auml"
case 'C': // 1 string to match.
if (memcmp(Name.data()+1, "OPY", 3))
break;
return "\xc2\xa9"; // "COPY"
case 'E': // 1 string to match.
if (memcmp(Name.data()+1, "uml", 3))
break;
return "\xc3\x8b"; // "Euml"
case 'I': // 1 string to match.
if (memcmp(Name.data()+1, "uml", 3))
break;
return "\xc3\x8f"; // "Iuml"
case 'O': // 1 string to match.
if (memcmp(Name.data()+1, "uml", 3))
break;
return "\xc3\x96"; // "Ouml"
case 'Q': // 1 string to match.
if (memcmp(Name.data()+1, "UOT", 3))
break;
return "\x22"; // "QUOT"
case 'U': // 1 string to match.
if (memcmp(Name.data()+1, "uml", 3))
break;
return "\xc3\x9c"; // "Uuml"
case 'Y': // 1 string to match.
if (memcmp(Name.data()+1, "uml", 3))
break;
return "\xc5\xb8"; // "Yuml"
case 'a': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'p': // 1 string to match.
if (memcmp(Name.data()+2, "os", 2))
break;
return "\x27"; // "apos"
case 'u': // 1 string to match.
if (memcmp(Name.data()+2, "ml", 2))
break;
return "\xc3\xa4"; // "auml"
}
break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+1, "eta", 3))
break;
return "\xce\xb2"; // "beta"
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "opy", 3))
break;
return "\xc2\xa9"; // "copy"
case 'e': // 1 string to match.
if (memcmp(Name.data()+1, "uml", 3))
break;
return "\xc3\xab"; // "euml"
case 'i': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'o': // 1 string to match.
if (memcmp(Name.data()+2, "ta", 2))
break;
return "\xce\xb9"; // "iota"
case 's': // 1 string to match.
if (memcmp(Name.data()+2, "in", 2))
break;
return "\xe2\x88\x88"; // "isin"
case 'u': // 1 string to match.
if (memcmp(Name.data()+2, "ml", 2))
break;
return "\xc3\xaf"; // "iuml"
}
break;
case 'l': // 1 string to match.
if (memcmp(Name.data()+1, "arr", 3))
break;
return "\xe2\x86\x90"; // "larr"
case 'n': // 1 string to match.
if (memcmp(Name.data()+1, "bsp", 3))
break;
return "\xc2\xa0"; // "nbsp"
case 'o': // 1 string to match.
if (memcmp(Name.data()+1, "uml", 3))
break;
return "\xc3\xb6"; // "ouml"
case 'p': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "rt", 2))
break;
return "\xe2\x88\x82"; // "part"
case 'e': // 1 string to match.
if (memcmp(Name.data()+2, "rp", 2))
break;
return "\xe2\x8a\xa5"; // "perp"
case 'r': // 2 strings to match.
if (Name[2] != 'o')
break;
switch (Name[3]) {
default: break;
case 'd': // 1 string to match.
return "\xe2\x88\x8f"; // "prod"
case 'p': // 1 string to match.
return "\xe2\x88\x9d"; // "prop"
}
break;
}
break;
case 'q': // 1 string to match.
if (memcmp(Name.data()+1, "uot", 3))
break;
return "\x22"; // "quot"
case 'r': // 1 string to match.
if (memcmp(Name.data()+1, "arr", 3))
break;
return "\xe2\x86\x92"; // "rarr"
case 's': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+2, "ot", 2))
break;
return "\xe2\x8b\x85"; // "sdot"
case 'e': // 1 string to match.
if (memcmp(Name.data()+2, "ct", 2))
break;
return "\xc2\xa7"; // "sect"
}
break;
case 'u': // 1 string to match.
if (memcmp(Name.data()+1, "uml", 3))
break;
return "\xc3\xbc"; // "uuml"
case 'y': // 1 string to match.
if (memcmp(Name.data()+1, "uml", 3))
break;
return "\xc3\xbf"; // "yuml"
case 'z': // 1 string to match.
if (memcmp(Name.data()+1, "eta", 3))
break;
return "\xce\xb6"; // "zeta"
}
break;
case 5: // 48 strings to match.
switch (Name[0]) {
default: break;
case 'A': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+2, "irc", 3))
break;
return "\xc3\x82"; // "Acirc"
case 'r': // 1 string to match.
if (memcmp(Name.data()+2, "ing", 3))
break;
return "\xc3\x85"; // "Aring"
}
break;
case 'D': // 1 string to match.
if (memcmp(Name.data()+1, "elta", 4))
break;
return "\xce\x94"; // "Delta"
case 'E': // 1 string to match.
if (memcmp(Name.data()+1, "circ", 4))
break;
return "\xc3\x8a"; // "Ecirc"
case 'G': // 1 string to match.
if (memcmp(Name.data()+1, "amma", 4))
break;
return "\xce\x93"; // "Gamma"
case 'I': // 1 string to match.
if (memcmp(Name.data()+1, "circ", 4))
break;
return "\xc3\x8e"; // "Icirc"
case 'O': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+2, "irc", 3))
break;
return "\xc3\x94"; // "Ocirc"
case 'm': // 1 string to match.
if (memcmp(Name.data()+2, "ega", 3))
break;
return "\xce\xa9"; // "Omega"
}
break;
case 'P': // 1 string to match.
if (memcmp(Name.data()+1, "rime", 4))
break;
return "\xe2\x80\xb3"; // "Prime"
case 'S': // 1 string to match.
if (memcmp(Name.data()+1, "igma", 4))
break;
return "\xce\xa3"; // "Sigma"
case 'T': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'R': // 1 string to match.
if (memcmp(Name.data()+2, "ADE", 3))
break;
return "\xe2\x84\xa2"; // "TRADE"
case 'h': // 1 string to match.
if (memcmp(Name.data()+2, "eta", 3))
break;
return "\xce\x98"; // "Theta"
}
break;
case 'U': // 1 string to match.
if (memcmp(Name.data()+1, "circ", 4))
break;
return "\xc3\x9b"; // "Ucirc"
case 'Y': // 1 string to match.
if (memcmp(Name.data()+1, "circ", 4))
break;
return "\xc5\xb6"; // "Ycirc"
case 'a': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+2, "irc", 3))
break;
return "\xc3\xa2"; // "acirc"
case 'l': // 1 string to match.
if (memcmp(Name.data()+2, "pha", 3))
break;
return "\xce\xb1"; // "alpha"
case 'r': // 1 string to match.
if (memcmp(Name.data()+2, "ing", 3))
break;
return "\xc3\xa5"; // "aring"
case 's': // 1 string to match.
if (memcmp(Name.data()+2, "ymp", 3))
break;
return "\xe2\x89\x88"; // "asymp"
}
break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+1, "elta", 4))
break;
return "\xce\xb4"; // "delta"
case 'e': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+2, "irc", 3))
break;
return "\xc3\xaa"; // "ecirc"
case 'm': // 1 string to match.
if (memcmp(Name.data()+2, "pty", 3))
break;
return "\xe2\x88\x85"; // "empty"
case 'q': // 1 string to match.
if (memcmp(Name.data()+2, "uiv", 3))
break;
return "\xe2\x89\xa1"; // "equiv"
}
break;
case 'g': // 1 string to match.
if (memcmp(Name.data()+1, "amma", 4))
break;
return "\xce\xb3"; // "gamma"
case 'i': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+2, "irc", 3))
break;
return "\xc3\xae"; // "icirc"
case 'n': // 1 string to match.
if (memcmp(Name.data()+2, "fin", 3))
break;
return "\xe2\x88\x9e"; // "infin"
}
break;
case 'k': // 1 string to match.
if (memcmp(Name.data()+1, "appa", 4))
break;
return "\xce\xba"; // "kappa"
case 'l': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+2, "eil", 3))
break;
return "\xe2\x8c\x88"; // "lceil"
case 'd': // 1 string to match.
if (memcmp(Name.data()+2, "quo", 3))
break;
return "\xe2\x80\x9c"; // "ldquo"
case 's': // 1 string to match.
if (memcmp(Name.data()+2, "quo", 3))
break;
return "\xe2\x80\x98"; // "lsquo"
}
break;
case 'm': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'd': // 1 string to match.
if (memcmp(Name.data()+2, "ash", 3))
break;
return "\xe2\x80\x94"; // "mdash"
case 'i': // 1 string to match.
if (memcmp(Name.data()+2, "nus", 3))
break;
return "\xe2\x88\x92"; // "minus"
}
break;
case 'n': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "bla", 3))
break;
return "\xe2\x88\x87"; // "nabla"
case 'd': // 1 string to match.
if (memcmp(Name.data()+2, "ash", 3))
break;
return "\xe2\x80\x93"; // "ndash"
case 'o': // 1 string to match.
if (memcmp(Name.data()+2, "tin", 3))
break;
return "\xe2\x88\x89"; // "notin"
}
break;
case 'o': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+2, "irc", 3))
break;
return "\xc3\xb4"; // "ocirc"
case 'm': // 1 string to match.
if (memcmp(Name.data()+2, "ega", 3))
break;
return "\xcf\x89"; // "omega"
}
break;
case 'p': // 1 string to match.
if (memcmp(Name.data()+1, "rime", 4))
break;
return "\xe2\x80\xb2"; // "prime"
case 'r': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "dic", 3))
break;
return "\xe2\x88\x9a"; // "radic"
case 'c': // 1 string to match.
if (memcmp(Name.data()+2, "eil", 3))
break;
return "\xe2\x8c\x89"; // "rceil"
case 'd': // 1 string to match.
if (memcmp(Name.data()+2, "quo", 3))
break;
return "\xe2\x80\x9d"; // "rdquo"
case 's': // 1 string to match.
if (memcmp(Name.data()+2, "quo", 3))
break;
return "\xe2\x80\x99"; // "rsquo"
}
break;
case 's': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+2, "gma", 3))
break;
return "\xcf\x83"; // "sigma"
case 'z': // 1 string to match.
if (memcmp(Name.data()+2, "lig", 3))
break;
return "\xc3\x9f"; // "szlig"
}
break;
case 't': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'h': // 1 string to match.
if (memcmp(Name.data()+2, "eta", 3))
break;
return "\xce\xb8"; // "theta"
case 'i': // 1 string to match.
if (memcmp(Name.data()+2, "mes", 3))
break;
return "\xc3\x97"; // "times"
case 'r': // 1 string to match.
if (memcmp(Name.data()+2, "ade", 3))
break;
return "\xe2\x84\xa2"; // "trade"
}
break;
case 'u': // 1 string to match.
if (memcmp(Name.data()+1, "circ", 4))
break;
return "\xc3\xbb"; // "ucirc"
case 'y': // 1 string to match.
if (memcmp(Name.data()+1, "circ", 4))
break;
return "\xc5\xb7"; // "ycirc"
}
break;
case 6: // 37 strings to match.
switch (Name[0]) {
default: break;
case 'A': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "cute", 4))
break;
return "\xc3\x81"; // "Aacute"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "rave", 4))
break;
return "\xc3\x80"; // "Agrave"
case 't': // 1 string to match.
if (memcmp(Name.data()+2, "ilde", 4))
break;
return "\xc3\x83"; // "Atilde"
}
break;
case 'C': // 1 string to match.
if (memcmp(Name.data()+1, "cedil", 5))
break;
return "\xc3\x87"; // "Ccedil"
case 'E': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "cute", 4))
break;
return "\xc3\x89"; // "Eacute"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "rave", 4))
break;
return "\xc3\x88"; // "Egrave"
}
break;
case 'I': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "cute", 4))
break;
return "\xc3\x8d"; // "Iacute"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "rave", 4))
break;
return "\xc3\x8c"; // "Igrave"
}
break;
case 'L': // 1 string to match.
if (memcmp(Name.data()+1, "ambda", 5))
break;
return "\xce\x9b"; // "Lambda"
case 'N': // 1 string to match.
if (memcmp(Name.data()+1, "tilde", 5))
break;
return "\xc3\x91"; // "Ntilde"
case 'O': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "cute", 4))
break;
return "\xc3\x93"; // "Oacute"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "rave", 4))
break;
return "\xc3\x92"; // "Ograve"
case 't': // 1 string to match.
if (memcmp(Name.data()+2, "ilde", 4))
break;
return "\xc3\x95"; // "Otilde"
}
break;
case 'U': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "cute", 4))
break;
return "\xc3\x9a"; // "Uacute"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "rave", 4))
break;
return "\xc3\x99"; // "Ugrave"
}
break;
case 'Y': // 1 string to match.
if (memcmp(Name.data()+1, "acute", 5))
break;
return "\xc3\x9d"; // "Yacute"
case 'a': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "cute", 4))
break;
return "\xc3\xa1"; // "aacute"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "rave", 4))
break;
return "\xc3\xa0"; // "agrave"
case 't': // 1 string to match.
if (memcmp(Name.data()+2, "ilde", 4))
break;
return "\xc3\xa3"; // "atilde"
}
break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "cedil", 5))
break;
return "\xc3\xa7"; // "ccedil"
case 'e': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "cute", 4))
break;
return "\xc3\xa9"; // "eacute"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "rave", 4))
break;
return "\xc3\xa8"; // "egrave"
}
break;
case 'i': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "cute", 4))
break;
return "\xc3\xad"; // "iacute"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "rave", 4))
break;
return "\xc3\xac"; // "igrave"
}
break;
case 'l': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "mbda", 4))
break;
return "\xce\xbb"; // "lambda"
case 'f': // 1 string to match.
if (memcmp(Name.data()+2, "loor", 4))
break;
return "\xe2\x8c\x8a"; // "lfloor"
}
break;
case 'n': // 1 string to match.
if (memcmp(Name.data()+1, "tilde", 5))
break;
return "\xc3\xb1"; // "ntilde"
case 'o': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "cute", 4))
break;
return "\xc3\xb3"; // "oacute"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "rave", 4))
break;
return "\xc3\xb2"; // "ograve"
case 't': // 1 string to match.
if (memcmp(Name.data()+2, "ilde", 4))
break;
return "\xc3\xb5"; // "otilde"
}
break;
case 'p': // 1 string to match.
if (memcmp(Name.data()+1, "lusmn", 5))
break;
return "\xc2\xb1"; // "plusmn"
case 'r': // 1 string to match.
if (memcmp(Name.data()+1, "floor", 5))
break;
return "\xe2\x8c\x8b"; // "rfloor"
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "igmaf", 5))
break;
return "\xcf\x82"; // "sigmaf"
case 'u': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "cute", 4))
break;
return "\xc3\xba"; // "uacute"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "rave", 4))
break;
return "\xc3\xb9"; // "ugrave"
}
break;
case 'y': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "cute", 4))
break;
return "\xc3\xbd"; // "yacute"
case 'g': // 1 string to match.
if (memcmp(Name.data()+2, "rave", 4))
break;
return "\xe1\xbb\xb3"; // "ygrave"
}
break;
}
break;
case 7: // 3 strings to match.
switch (Name[0]) {
default: break;
case 'U': // 1 string to match.
if (memcmp(Name.data()+1, "psilon", 6))
break;
return "\xce\xa5"; // "Upsilon"
case 'e': // 1 string to match.
if (memcmp(Name.data()+1, "psilon", 6))
break;
return "\xce\xb5"; // "epsilon"
case 'u': // 1 string to match.
if (memcmp(Name.data()+1, "psilon", 6))
break;
return "\xcf\x85"; // "upsilon"
}
break;
}
return StringRef();
}

View File

@@ -0,0 +1,228 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*HTML tag name matcher *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
bool isHTMLTagName(StringRef Name) {
switch (Name.size()) {
default: break;
case 1: // 6 strings to match.
switch (Name[0]) {
default: break;
case 'a': // 1 string to match.
return true; // "a"
case 'b': // 1 string to match.
return true; // "b"
case 'i': // 1 string to match.
return true; // "i"
case 'p': // 1 string to match.
return true; // "p"
case 's': // 1 string to match.
return true; // "s"
case 'u': // 1 string to match.
return true; // "u"
}
break;
case 2: // 19 strings to match.
switch (Name[0]) {
default: break;
case 'b': // 1 string to match.
if (Name[1] != 'r')
break;
return true; // "br"
case 'd': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'd': // 1 string to match.
return true; // "dd"
case 'l': // 1 string to match.
return true; // "dl"
case 't': // 1 string to match.
return true; // "dt"
}
break;
case 'e': // 1 string to match.
if (Name[1] != 'm')
break;
return true; // "em"
case 'h': // 7 strings to match.
switch (Name[1]) {
default: break;
case '1': // 1 string to match.
return true; // "h1"
case '2': // 1 string to match.
return true; // "h2"
case '3': // 1 string to match.
return true; // "h3"
case '4': // 1 string to match.
return true; // "h4"
case '5': // 1 string to match.
return true; // "h5"
case '6': // 1 string to match.
return true; // "h6"
case 'r': // 1 string to match.
return true; // "hr"
}
break;
case 'l': // 1 string to match.
if (Name[1] != 'i')
break;
return true; // "li"
case 'o': // 1 string to match.
if (Name[1] != 'l')
break;
return true; // "ol"
case 't': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'd': // 1 string to match.
return true; // "td"
case 'h': // 1 string to match.
return true; // "th"
case 'r': // 1 string to match.
return true; // "tr"
case 't': // 1 string to match.
return true; // "tt"
}
break;
case 'u': // 1 string to match.
if (Name[1] != 'l')
break;
return true; // "ul"
}
break;
case 3: // 9 strings to match.
switch (Name[0]) {
default: break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+1, "ig", 2))
break;
return true; // "big"
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "ol", 2))
break;
return true; // "col"
case 'd': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'e': // 1 string to match.
if (Name[2] != 'l')
break;
return true; // "del"
case 'i': // 1 string to match.
if (Name[2] != 'v')
break;
return true; // "div"
}
break;
case 'i': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'm': // 1 string to match.
if (Name[2] != 'g')
break;
return true; // "img"
case 'n': // 1 string to match.
if (Name[2] != 's')
break;
return true; // "ins"
}
break;
case 'p': // 1 string to match.
if (memcmp(Name.data()+1, "re", 2))
break;
return true; // "pre"
case 's': // 2 strings to match.
if (Name[1] != 'u')
break;
switch (Name[2]) {
default: break;
case 'b': // 1 string to match.
return true; // "sub"
case 'p': // 1 string to match.
return true; // "sup"
}
break;
}
break;
case 4: // 3 strings to match.
switch (Name[0]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "ode", 3))
break;
return true; // "code"
case 'f': // 1 string to match.
if (memcmp(Name.data()+1, "ont", 3))
break;
return true; // "font"
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "pan", 3))
break;
return true; // "span"
}
break;
case 5: // 5 strings to match.
switch (Name[0]) {
default: break;
case 's': // 1 string to match.
if (memcmp(Name.data()+1, "mall", 4))
break;
return true; // "small"
case 't': // 4 strings to match.
switch (Name[1]) {
default: break;
case 'a': // 1 string to match.
if (memcmp(Name.data()+2, "ble", 3))
break;
return true; // "table"
case 'b': // 1 string to match.
if (memcmp(Name.data()+2, "ody", 3))
break;
return true; // "tbody"
case 'f': // 1 string to match.
if (memcmp(Name.data()+2, "oot", 3))
break;
return true; // "tfoot"
case 'h': // 1 string to match.
if (memcmp(Name.data()+2, "ead", 3))
break;
return true; // "thead"
}
break;
}
break;
case 6: // 2 strings to match.
if (memcmp(Name.data()+0, "str", 3))
break;
switch (Name[3]) {
default: break;
case 'i': // 1 string to match.
if (memcmp(Name.data()+4, "ke", 2))
break;
return true; // "strike"
case 'o': // 1 string to match.
if (memcmp(Name.data()+4, "ng", 2))
break;
return true; // "strong"
}
break;
case 7: // 1 string to match.
if (memcmp(Name.data()+0, "caption", 7))
break;
return true; // "caption"
case 8: // 1 string to match.
if (memcmp(Name.data()+0, "colgroup", 8))
break;
return true; // "colgroup"
case 10: // 1 string to match.
if (memcmp(Name.data()+0, "blockquote", 10))
break;
return true; // "blockquote"
}
return false;
}

View File

@@ -0,0 +1,104 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*HTML tag properties *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
bool isHTMLEndTagOptional(StringRef Name) {
switch (Name.size()) {
default: break;
case 1: // 1 string to match.
if (Name[0] != 'p')
break;
return true; // "p"
case 2: // 6 strings to match.
switch (Name[0]) {
default: break;
case 'd': // 2 strings to match.
switch (Name[1]) {
default: break;
case 'd': // 1 string to match.
return true; // "dd"
case 't': // 1 string to match.
return true; // "dt"
}
break;
case 'l': // 1 string to match.
if (Name[1] != 'i')
break;
return true; // "li"
case 't': // 3 strings to match.
switch (Name[1]) {
default: break;
case 'd': // 1 string to match.
return true; // "td"
case 'h': // 1 string to match.
return true; // "th"
case 'r': // 1 string to match.
return true; // "tr"
}
break;
}
break;
case 5: // 3 strings to match.
if (Name[0] != 't')
break;
switch (Name[1]) {
default: break;
case 'b': // 1 string to match.
if (memcmp(Name.data()+2, "ody", 3))
break;
return true; // "tbody"
case 'f': // 1 string to match.
if (memcmp(Name.data()+2, "oot", 3))
break;
return true; // "tfoot"
case 'h': // 1 string to match.
if (memcmp(Name.data()+2, "ead", 3))
break;
return true; // "thead"
}
break;
case 8: // 1 string to match.
if (memcmp(Name.data()+0, "colgroup", 8))
break;
return true; // "colgroup"
}
return false;
}
bool isHTMLEndTagForbidden(StringRef Name) {
switch (Name.size()) {
default: break;
case 2: // 2 strings to match.
switch (Name[0]) {
default: break;
case 'b': // 1 string to match.
if (Name[1] != 'r')
break;
return true; // "br"
case 'h': // 1 string to match.
if (Name[1] != 'r')
break;
return true; // "hr"
}
break;
case 3: // 2 strings to match.
switch (Name[0]) {
default: break;
case 'c': // 1 string to match.
if (memcmp(Name.data()+1, "ol", 2))
break;
return true; // "col"
case 'i': // 1 string to match.
if (memcmp(Name.data()+1, "mg", 2))
break;
return true; // "img"
}
break;
}
return false;
}

View File

@@ -0,0 +1,123 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*List of AST nodes of a particular kind *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef ABSTRACT_COMMENT
# define ABSTRACT_COMMENT(Type) Type
#endif
#ifndef COMMENT_RANGE
# define COMMENT_RANGE(Base, First, Last)
#endif
#ifndef LAST_COMMENT_RANGE
# define LAST_COMMENT_RANGE(Base, First, Last) COMMENT_RANGE(Base, First, Last)
#endif
#ifndef BLOCKCONTENTCOMMENT
# define BLOCKCONTENTCOMMENT(Type, Base) COMMENT(Type, Base)
#endif
ABSTRACT_COMMENT(BLOCKCONTENTCOMMENT(BlockContentComment, Comment))
#ifndef BLOCKCOMMANDCOMMENT
# define BLOCKCOMMANDCOMMENT(Type, Base) BLOCKCONTENTCOMMENT(Type, Base)
#endif
BLOCKCOMMANDCOMMENT(BlockCommandComment, BlockContentComment)
#ifndef PARAMCOMMANDCOMMENT
# define PARAMCOMMANDCOMMENT(Type, Base) BLOCKCOMMANDCOMMENT(Type, Base)
#endif
PARAMCOMMANDCOMMENT(ParamCommandComment, BlockCommandComment)
#undef PARAMCOMMANDCOMMENT
#ifndef TPARAMCOMMANDCOMMENT
# define TPARAMCOMMANDCOMMENT(Type, Base) BLOCKCOMMANDCOMMENT(Type, Base)
#endif
TPARAMCOMMANDCOMMENT(TParamCommandComment, BlockCommandComment)
#undef TPARAMCOMMANDCOMMENT
#ifndef VERBATIMBLOCKCOMMENT
# define VERBATIMBLOCKCOMMENT(Type, Base) BLOCKCOMMANDCOMMENT(Type, Base)
#endif
VERBATIMBLOCKCOMMENT(VerbatimBlockComment, BlockCommandComment)
#undef VERBATIMBLOCKCOMMENT
#ifndef VERBATIMLINECOMMENT
# define VERBATIMLINECOMMENT(Type, Base) BLOCKCOMMANDCOMMENT(Type, Base)
#endif
VERBATIMLINECOMMENT(VerbatimLineComment, BlockCommandComment)
#undef VERBATIMLINECOMMENT
COMMENT_RANGE(BlockCommandComment, BlockCommandComment, VerbatimLineComment)
#undef BLOCKCOMMANDCOMMENT
#ifndef PARAGRAPHCOMMENT
# define PARAGRAPHCOMMENT(Type, Base) BLOCKCONTENTCOMMENT(Type, Base)
#endif
PARAGRAPHCOMMENT(ParagraphComment, BlockContentComment)
#undef PARAGRAPHCOMMENT
COMMENT_RANGE(BlockContentComment, BlockCommandComment, ParagraphComment)
#undef BLOCKCONTENTCOMMENT
#ifndef FULLCOMMENT
# define FULLCOMMENT(Type, Base) COMMENT(Type, Base)
#endif
FULLCOMMENT(FullComment, Comment)
#undef FULLCOMMENT
#ifndef INLINECONTENTCOMMENT
# define INLINECONTENTCOMMENT(Type, Base) COMMENT(Type, Base)
#endif
ABSTRACT_COMMENT(INLINECONTENTCOMMENT(InlineContentComment, Comment))
#ifndef HTMLTAGCOMMENT
# define HTMLTAGCOMMENT(Type, Base) INLINECONTENTCOMMENT(Type, Base)
#endif
ABSTRACT_COMMENT(HTMLTAGCOMMENT(HTMLTagComment, InlineContentComment))
#ifndef HTMLENDTAGCOMMENT
# define HTMLENDTAGCOMMENT(Type, Base) HTMLTAGCOMMENT(Type, Base)
#endif
HTMLENDTAGCOMMENT(HTMLEndTagComment, HTMLTagComment)
#undef HTMLENDTAGCOMMENT
#ifndef HTMLSTARTTAGCOMMENT
# define HTMLSTARTTAGCOMMENT(Type, Base) HTMLTAGCOMMENT(Type, Base)
#endif
HTMLSTARTTAGCOMMENT(HTMLStartTagComment, HTMLTagComment)
#undef HTMLSTARTTAGCOMMENT
COMMENT_RANGE(HTMLTagComment, HTMLEndTagComment, HTMLStartTagComment)
#undef HTMLTAGCOMMENT
#ifndef INLINECOMMANDCOMMENT
# define INLINECOMMANDCOMMENT(Type, Base) INLINECONTENTCOMMENT(Type, Base)
#endif
INLINECOMMANDCOMMENT(InlineCommandComment, InlineContentComment)
#undef INLINECOMMANDCOMMENT
#ifndef TEXTCOMMENT
# define TEXTCOMMENT(Type, Base) INLINECONTENTCOMMENT(Type, Base)
#endif
TEXTCOMMENT(TextComment, InlineContentComment)
#undef TEXTCOMMENT
COMMENT_RANGE(InlineContentComment, HTMLEndTagComment, TextComment)
#undef INLINECONTENTCOMMENT
#ifndef VERBATIMBLOCKLINECOMMENT
# define VERBATIMBLOCKLINECOMMENT(Type, Base) COMMENT(Type, Base)
#endif
VERBATIMBLOCKLINECOMMENT(VerbatimBlockLineComment, Comment)
#undef VERBATIMBLOCKLINECOMMENT
LAST_COMMENT_RANGE(Comment, BlockCommandComment, VerbatimBlockLineComment)
#undef COMMENT
#undef COMMENT_RANGE
#undef LAST_COMMENT_RANGE
#undef ABSTRACT_COMMENT

View File

@@ -0,0 +1,486 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*List of AST nodes of a particular kind *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef ABSTRACT_DECL
# define ABSTRACT_DECL(Type) Type
#endif
#ifndef DECL_RANGE
# define DECL_RANGE(Base, First, Last)
#endif
#ifndef LAST_DECL_RANGE
# define LAST_DECL_RANGE(Base, First, Last) DECL_RANGE(Base, First, Last)
#endif
#ifndef ACCESSSPEC
# define ACCESSSPEC(Type, Base) DECL(Type, Base)
#endif
ACCESSSPEC(AccessSpec, Decl)
#undef ACCESSSPEC
#ifndef BLOCK
# define BLOCK(Type, Base) DECL(Type, Base)
#endif
BLOCK(Block, Decl)
#undef BLOCK
#ifndef CAPTURED
# define CAPTURED(Type, Base) DECL(Type, Base)
#endif
CAPTURED(Captured, Decl)
#undef CAPTURED
#ifndef CLASSSCOPEFUNCTIONSPECIALIZATION
# define CLASSSCOPEFUNCTIONSPECIALIZATION(Type, Base) DECL(Type, Base)
#endif
CLASSSCOPEFUNCTIONSPECIALIZATION(ClassScopeFunctionSpecialization, Decl)
#undef CLASSSCOPEFUNCTIONSPECIALIZATION
#ifndef EMPTY
# define EMPTY(Type, Base) DECL(Type, Base)
#endif
EMPTY(Empty, Decl)
#undef EMPTY
#ifndef FILESCOPEASM
# define FILESCOPEASM(Type, Base) DECL(Type, Base)
#endif
FILESCOPEASM(FileScopeAsm, Decl)
#undef FILESCOPEASM
#ifndef FRIEND
# define FRIEND(Type, Base) DECL(Type, Base)
#endif
FRIEND(Friend, Decl)
#undef FRIEND
#ifndef FRIENDTEMPLATE
# define FRIENDTEMPLATE(Type, Base) DECL(Type, Base)
#endif
FRIENDTEMPLATE(FriendTemplate, Decl)
#undef FRIENDTEMPLATE
#ifndef IMPORT
# define IMPORT(Type, Base) DECL(Type, Base)
#endif
IMPORT(Import, Decl)
#undef IMPORT
#ifndef LINKAGESPEC
# define LINKAGESPEC(Type, Base) DECL(Type, Base)
#endif
LINKAGESPEC(LinkageSpec, Decl)
#undef LINKAGESPEC
#ifndef NAMED
# define NAMED(Type, Base) DECL(Type, Base)
#endif
ABSTRACT_DECL(NAMED(Named, Decl))
#ifndef LABEL
# define LABEL(Type, Base) NAMED(Type, Base)
#endif
LABEL(Label, NamedDecl)
#undef LABEL
#ifndef NAMESPACE
# define NAMESPACE(Type, Base) NAMED(Type, Base)
#endif
NAMESPACE(Namespace, NamedDecl)
#undef NAMESPACE
#ifndef NAMESPACEALIAS
# define NAMESPACEALIAS(Type, Base) NAMED(Type, Base)
#endif
NAMESPACEALIAS(NamespaceAlias, NamedDecl)
#undef NAMESPACEALIAS
#ifndef OBJCCOMPATIBLEALIAS
# define OBJCCOMPATIBLEALIAS(Type, Base) NAMED(Type, Base)
#endif
OBJCCOMPATIBLEALIAS(ObjCCompatibleAlias, NamedDecl)
#undef OBJCCOMPATIBLEALIAS
#ifndef OBJCCONTAINER
# define OBJCCONTAINER(Type, Base) NAMED(Type, Base)
#endif
ABSTRACT_DECL(OBJCCONTAINER(ObjCContainer, NamedDecl))
#ifndef OBJCCATEGORY
# define OBJCCATEGORY(Type, Base) OBJCCONTAINER(Type, Base)
#endif
OBJCCATEGORY(ObjCCategory, ObjCContainerDecl)
#undef OBJCCATEGORY
#ifndef OBJCIMPL
# define OBJCIMPL(Type, Base) OBJCCONTAINER(Type, Base)
#endif
ABSTRACT_DECL(OBJCIMPL(ObjCImpl, ObjCContainerDecl))
#ifndef OBJCCATEGORYIMPL
# define OBJCCATEGORYIMPL(Type, Base) OBJCIMPL(Type, Base)
#endif
OBJCCATEGORYIMPL(ObjCCategoryImpl, ObjCImplDecl)
#undef OBJCCATEGORYIMPL
#ifndef OBJCIMPLEMENTATION
# define OBJCIMPLEMENTATION(Type, Base) OBJCIMPL(Type, Base)
#endif
OBJCIMPLEMENTATION(ObjCImplementation, ObjCImplDecl)
#undef OBJCIMPLEMENTATION
DECL_RANGE(ObjCImpl, ObjCCategoryImpl, ObjCImplementation)
#undef OBJCIMPL
#ifndef OBJCINTERFACE
# define OBJCINTERFACE(Type, Base) OBJCCONTAINER(Type, Base)
#endif
OBJCINTERFACE(ObjCInterface, ObjCContainerDecl)
#undef OBJCINTERFACE
#ifndef OBJCPROTOCOL
# define OBJCPROTOCOL(Type, Base) OBJCCONTAINER(Type, Base)
#endif
OBJCPROTOCOL(ObjCProtocol, ObjCContainerDecl)
#undef OBJCPROTOCOL
DECL_RANGE(ObjCContainer, ObjCCategory, ObjCProtocol)
#undef OBJCCONTAINER
#ifndef OBJCMETHOD
# define OBJCMETHOD(Type, Base) NAMED(Type, Base)
#endif
OBJCMETHOD(ObjCMethod, NamedDecl)
#undef OBJCMETHOD
#ifndef OBJCPROPERTY
# define OBJCPROPERTY(Type, Base) NAMED(Type, Base)
#endif
OBJCPROPERTY(ObjCProperty, NamedDecl)
#undef OBJCPROPERTY
#ifndef TEMPLATE
# define TEMPLATE(Type, Base) NAMED(Type, Base)
#endif
ABSTRACT_DECL(TEMPLATE(Template, NamedDecl))
#ifndef REDECLARABLETEMPLATE
# define REDECLARABLETEMPLATE(Type, Base) TEMPLATE(Type, Base)
#endif
ABSTRACT_DECL(REDECLARABLETEMPLATE(RedeclarableTemplate, TemplateDecl))
#ifndef CLASSTEMPLATE
# define CLASSTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base)
#endif
CLASSTEMPLATE(ClassTemplate, RedeclarableTemplateDecl)
#undef CLASSTEMPLATE
#ifndef FUNCTIONTEMPLATE
# define FUNCTIONTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base)
#endif
FUNCTIONTEMPLATE(FunctionTemplate, RedeclarableTemplateDecl)
#undef FUNCTIONTEMPLATE
#ifndef TYPEALIASTEMPLATE
# define TYPEALIASTEMPLATE(Type, Base) REDECLARABLETEMPLATE(Type, Base)
#endif
TYPEALIASTEMPLATE(TypeAliasTemplate, RedeclarableTemplateDecl)
#undef TYPEALIASTEMPLATE
DECL_RANGE(RedeclarableTemplate, ClassTemplate, TypeAliasTemplate)
#undef REDECLARABLETEMPLATE
#ifndef TEMPLATETEMPLATEPARM
# define TEMPLATETEMPLATEPARM(Type, Base) TEMPLATE(Type, Base)
#endif
TEMPLATETEMPLATEPARM(TemplateTemplateParm, TemplateDecl)
#undef TEMPLATETEMPLATEPARM
DECL_RANGE(Template, ClassTemplate, TemplateTemplateParm)
#undef TEMPLATE
#ifndef TYPE
# define TYPE(Type, Base) NAMED(Type, Base)
#endif
ABSTRACT_DECL(TYPE(Type, NamedDecl))
#ifndef TAG
# define TAG(Type, Base) TYPE(Type, Base)
#endif
ABSTRACT_DECL(TAG(Tag, TypeDecl))
#ifndef ENUM
# define ENUM(Type, Base) TAG(Type, Base)
#endif
ENUM(Enum, TagDecl)
#undef ENUM
#ifndef RECORD
# define RECORD(Type, Base) TAG(Type, Base)
#endif
RECORD(Record, TagDecl)
#ifndef CXXRECORD
# define CXXRECORD(Type, Base) RECORD(Type, Base)
#endif
CXXRECORD(CXXRecord, RecordDecl)
#ifndef CLASSTEMPLATESPECIALIZATION
# define CLASSTEMPLATESPECIALIZATION(Type, Base) CXXRECORD(Type, Base)
#endif
CLASSTEMPLATESPECIALIZATION(ClassTemplateSpecialization, CXXRecordDecl)
#ifndef CLASSTEMPLATEPARTIALSPECIALIZATION
# define CLASSTEMPLATEPARTIALSPECIALIZATION(Type, Base) CLASSTEMPLATESPECIALIZATION(Type, Base)
#endif
CLASSTEMPLATEPARTIALSPECIALIZATION(ClassTemplatePartialSpecialization, ClassTemplateSpecializationDecl)
#undef CLASSTEMPLATEPARTIALSPECIALIZATION
DECL_RANGE(ClassTemplateSpecialization, ClassTemplateSpecialization, ClassTemplatePartialSpecialization)
#undef CLASSTEMPLATESPECIALIZATION
DECL_RANGE(CXXRecord, CXXRecord, ClassTemplatePartialSpecialization)
#undef CXXRECORD
DECL_RANGE(Record, Record, ClassTemplatePartialSpecialization)
#undef RECORD
DECL_RANGE(Tag, Enum, ClassTemplatePartialSpecialization)
#undef TAG
#ifndef TEMPLATETYPEPARM
# define TEMPLATETYPEPARM(Type, Base) TYPE(Type, Base)
#endif
TEMPLATETYPEPARM(TemplateTypeParm, TypeDecl)
#undef TEMPLATETYPEPARM
#ifndef TYPEDEFNAME
# define TYPEDEFNAME(Type, Base) TYPE(Type, Base)
#endif
ABSTRACT_DECL(TYPEDEFNAME(TypedefName, TypeDecl))
#ifndef TYPEALIAS
# define TYPEALIAS(Type, Base) TYPEDEFNAME(Type, Base)
#endif
TYPEALIAS(TypeAlias, TypedefNameDecl)
#undef TYPEALIAS
#ifndef TYPEDEF
# define TYPEDEF(Type, Base) TYPEDEFNAME(Type, Base)
#endif
TYPEDEF(Typedef, TypedefNameDecl)
#undef TYPEDEF
DECL_RANGE(TypedefName, TypeAlias, Typedef)
#undef TYPEDEFNAME
#ifndef UNRESOLVEDUSINGTYPENAME
# define UNRESOLVEDUSINGTYPENAME(Type, Base) TYPE(Type, Base)
#endif
UNRESOLVEDUSINGTYPENAME(UnresolvedUsingTypename, TypeDecl)
#undef UNRESOLVEDUSINGTYPENAME
DECL_RANGE(Type, Enum, UnresolvedUsingTypename)
#undef TYPE
#ifndef USING
# define USING(Type, Base) NAMED(Type, Base)
#endif
USING(Using, NamedDecl)
#undef USING
#ifndef USINGDIRECTIVE
# define USINGDIRECTIVE(Type, Base) NAMED(Type, Base)
#endif
USINGDIRECTIVE(UsingDirective, NamedDecl)
#undef USINGDIRECTIVE
#ifndef USINGSHADOW
# define USINGSHADOW(Type, Base) NAMED(Type, Base)
#endif
USINGSHADOW(UsingShadow, NamedDecl)
#undef USINGSHADOW
#ifndef VALUE
# define VALUE(Type, Base) NAMED(Type, Base)
#endif
ABSTRACT_DECL(VALUE(Value, NamedDecl))
#ifndef DECLARATOR
# define DECLARATOR(Type, Base) VALUE(Type, Base)
#endif
ABSTRACT_DECL(DECLARATOR(Declarator, ValueDecl))
#ifndef FIELD
# define FIELD(Type, Base) DECLARATOR(Type, Base)
#endif
FIELD(Field, DeclaratorDecl)
#ifndef OBJCATDEFSFIELD
# define OBJCATDEFSFIELD(Type, Base) FIELD(Type, Base)
#endif
OBJCATDEFSFIELD(ObjCAtDefsField, FieldDecl)
#undef OBJCATDEFSFIELD
#ifndef OBJCIVAR
# define OBJCIVAR(Type, Base) FIELD(Type, Base)
#endif
OBJCIVAR(ObjCIvar, FieldDecl)
#undef OBJCIVAR
DECL_RANGE(Field, Field, ObjCIvar)
#undef FIELD
#ifndef FUNCTION
# define FUNCTION(Type, Base) DECLARATOR(Type, Base)
#endif
FUNCTION(Function, DeclaratorDecl)
#ifndef CXXMETHOD
# define CXXMETHOD(Type, Base) FUNCTION(Type, Base)
#endif
CXXMETHOD(CXXMethod, FunctionDecl)
#ifndef CXXCONSTRUCTOR
# define CXXCONSTRUCTOR(Type, Base) CXXMETHOD(Type, Base)
#endif
CXXCONSTRUCTOR(CXXConstructor, CXXMethodDecl)
#undef CXXCONSTRUCTOR
#ifndef CXXCONVERSION
# define CXXCONVERSION(Type, Base) CXXMETHOD(Type, Base)
#endif
CXXCONVERSION(CXXConversion, CXXMethodDecl)
#undef CXXCONVERSION
#ifndef CXXDESTRUCTOR
# define CXXDESTRUCTOR(Type, Base) CXXMETHOD(Type, Base)
#endif
CXXDESTRUCTOR(CXXDestructor, CXXMethodDecl)
#undef CXXDESTRUCTOR
DECL_RANGE(CXXMethod, CXXMethod, CXXDestructor)
#undef CXXMETHOD
DECL_RANGE(Function, Function, CXXDestructor)
#undef FUNCTION
#ifndef MSPROPERTY
# define MSPROPERTY(Type, Base) DECLARATOR(Type, Base)
#endif
MSPROPERTY(MSProperty, DeclaratorDecl)
#undef MSPROPERTY
#ifndef NONTYPETEMPLATEPARM
# define NONTYPETEMPLATEPARM(Type, Base) DECLARATOR(Type, Base)
#endif
NONTYPETEMPLATEPARM(NonTypeTemplateParm, DeclaratorDecl)
#undef NONTYPETEMPLATEPARM
#ifndef VAR
# define VAR(Type, Base) DECLARATOR(Type, Base)
#endif
VAR(Var, DeclaratorDecl)
#ifndef IMPLICITPARAM
# define IMPLICITPARAM(Type, Base) VAR(Type, Base)
#endif
IMPLICITPARAM(ImplicitParam, VarDecl)
#undef IMPLICITPARAM
#ifndef PARMVAR
# define PARMVAR(Type, Base) VAR(Type, Base)
#endif
PARMVAR(ParmVar, VarDecl)
#undef PARMVAR
DECL_RANGE(Var, Var, ParmVar)
#undef VAR
DECL_RANGE(Declarator, Field, ParmVar)
#undef DECLARATOR
#ifndef ENUMCONSTANT
# define ENUMCONSTANT(Type, Base) VALUE(Type, Base)
#endif
ENUMCONSTANT(EnumConstant, ValueDecl)
#undef ENUMCONSTANT
#ifndef INDIRECTFIELD
# define INDIRECTFIELD(Type, Base) VALUE(Type, Base)
#endif
INDIRECTFIELD(IndirectField, ValueDecl)
#undef INDIRECTFIELD
#ifndef UNRESOLVEDUSINGVALUE
# define UNRESOLVEDUSINGVALUE(Type, Base) VALUE(Type, Base)
#endif
UNRESOLVEDUSINGVALUE(UnresolvedUsingValue, ValueDecl)
#undef UNRESOLVEDUSINGVALUE
DECL_RANGE(Value, Field, UnresolvedUsingValue)
#undef VALUE
DECL_RANGE(Named, Label, UnresolvedUsingValue)
#undef NAMED
#ifndef OMPTHREADPRIVATE
# define OMPTHREADPRIVATE(Type, Base) DECL(Type, Base)
#endif
OMPTHREADPRIVATE(OMPThreadPrivate, Decl)
#undef OMPTHREADPRIVATE
#ifndef OBJCPROPERTYIMPL
# define OBJCPROPERTYIMPL(Type, Base) DECL(Type, Base)
#endif
OBJCPROPERTYIMPL(ObjCPropertyImpl, Decl)
#undef OBJCPROPERTYIMPL
#ifndef STATICASSERT
# define STATICASSERT(Type, Base) DECL(Type, Base)
#endif
STATICASSERT(StaticAssert, Decl)
#undef STATICASSERT
#ifndef TRANSLATIONUNIT
# define TRANSLATIONUNIT(Type, Base) DECL(Type, Base)
#endif
TRANSLATIONUNIT(TranslationUnit, Decl)
#undef TRANSLATIONUNIT
LAST_DECL_RANGE(Decl, AccessSpec, TranslationUnit)
#undef DECL
#undef DECL_RANGE
#undef LAST_DECL_RANGE
#undef ABSTRACT_DECL
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*List of AST Decl nodes *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef DECL_CONTEXT
# define DECL_CONTEXT(DECL)
#endif
#ifndef DECL_CONTEXT_BASE
# define DECL_CONTEXT_BASE(DECL) DECL_CONTEXT(DECL)
#endif
DECL_CONTEXT_BASE(Function)
DECL_CONTEXT_BASE(Tag)
DECL_CONTEXT_BASE(ObjCContainer)
DECL_CONTEXT(Block)
DECL_CONTEXT(Captured)
DECL_CONTEXT(LinkageSpec)
DECL_CONTEXT(Namespace)
DECL_CONTEXT(ObjCMethod)
DECL_CONTEXT(TranslationUnit)
#undef DECL_CONTEXT
#undef DECL_CONTEXT_BASE

View File

@@ -0,0 +1,881 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*List of AST nodes of a particular kind *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef ABSTRACT_STMT
# define ABSTRACT_STMT(Type) Type
#endif
#ifndef STMT_RANGE
# define STMT_RANGE(Base, First, Last)
#endif
#ifndef LAST_STMT_RANGE
# define LAST_STMT_RANGE(Base, First, Last) STMT_RANGE(Base, First, Last)
#endif
#ifndef ASMSTMT
# define ASMSTMT(Type, Base) STMT(Type, Base)
#endif
ABSTRACT_STMT(ASMSTMT(AsmStmt, Stmt))
#ifndef GCCASMSTMT
# define GCCASMSTMT(Type, Base) ASMSTMT(Type, Base)
#endif
GCCASMSTMT(GCCAsmStmt, AsmStmt)
#undef GCCASMSTMT
#ifndef MSASMSTMT
# define MSASMSTMT(Type, Base) ASMSTMT(Type, Base)
#endif
MSASMSTMT(MSAsmStmt, AsmStmt)
#undef MSASMSTMT
STMT_RANGE(AsmStmt, GCCAsmStmt, MSAsmStmt)
#undef ASMSTMT
#ifndef ATTRIBUTEDSTMT
# define ATTRIBUTEDSTMT(Type, Base) STMT(Type, Base)
#endif
ATTRIBUTEDSTMT(AttributedStmt, Stmt)
#undef ATTRIBUTEDSTMT
#ifndef BREAKSTMT
# define BREAKSTMT(Type, Base) STMT(Type, Base)
#endif
BREAKSTMT(BreakStmt, Stmt)
#undef BREAKSTMT
#ifndef CXXCATCHSTMT
# define CXXCATCHSTMT(Type, Base) STMT(Type, Base)
#endif
CXXCATCHSTMT(CXXCatchStmt, Stmt)
#undef CXXCATCHSTMT
#ifndef CXXFORRANGESTMT
# define CXXFORRANGESTMT(Type, Base) STMT(Type, Base)
#endif
CXXFORRANGESTMT(CXXForRangeStmt, Stmt)
#undef CXXFORRANGESTMT
#ifndef CXXTRYSTMT
# define CXXTRYSTMT(Type, Base) STMT(Type, Base)
#endif
CXXTRYSTMT(CXXTryStmt, Stmt)
#undef CXXTRYSTMT
#ifndef CAPTUREDSTMT
# define CAPTUREDSTMT(Type, Base) STMT(Type, Base)
#endif
CAPTUREDSTMT(CapturedStmt, Stmt)
#undef CAPTUREDSTMT
#ifndef COMPOUNDSTMT
# define COMPOUNDSTMT(Type, Base) STMT(Type, Base)
#endif
COMPOUNDSTMT(CompoundStmt, Stmt)
#undef COMPOUNDSTMT
#ifndef CONTINUESTMT
# define CONTINUESTMT(Type, Base) STMT(Type, Base)
#endif
CONTINUESTMT(ContinueStmt, Stmt)
#undef CONTINUESTMT
#ifndef DECLSTMT
# define DECLSTMT(Type, Base) STMT(Type, Base)
#endif
DECLSTMT(DeclStmt, Stmt)
#undef DECLSTMT
#ifndef DOSTMT
# define DOSTMT(Type, Base) STMT(Type, Base)
#endif
DOSTMT(DoStmt, Stmt)
#undef DOSTMT
#ifndef EXPR
# define EXPR(Type, Base) STMT(Type, Base)
#endif
ABSTRACT_STMT(EXPR(Expr, Stmt))
#ifndef ABSTRACTCONDITIONALOPERATOR
# define ABSTRACTCONDITIONALOPERATOR(Type, Base) EXPR(Type, Base)
#endif
ABSTRACT_STMT(ABSTRACTCONDITIONALOPERATOR(AbstractConditionalOperator, Expr))
#ifndef BINARYCONDITIONALOPERATOR
# define BINARYCONDITIONALOPERATOR(Type, Base) ABSTRACTCONDITIONALOPERATOR(Type, Base)
#endif
BINARYCONDITIONALOPERATOR(BinaryConditionalOperator, AbstractConditionalOperator)
#undef BINARYCONDITIONALOPERATOR
#ifndef CONDITIONALOPERATOR
# define CONDITIONALOPERATOR(Type, Base) ABSTRACTCONDITIONALOPERATOR(Type, Base)
#endif
CONDITIONALOPERATOR(ConditionalOperator, AbstractConditionalOperator)
#undef CONDITIONALOPERATOR
STMT_RANGE(AbstractConditionalOperator, BinaryConditionalOperator, ConditionalOperator)
#undef ABSTRACTCONDITIONALOPERATOR
#ifndef ADDRLABELEXPR
# define ADDRLABELEXPR(Type, Base) EXPR(Type, Base)
#endif
ADDRLABELEXPR(AddrLabelExpr, Expr)
#undef ADDRLABELEXPR
#ifndef ARRAYSUBSCRIPTEXPR
# define ARRAYSUBSCRIPTEXPR(Type, Base) EXPR(Type, Base)
#endif
ARRAYSUBSCRIPTEXPR(ArraySubscriptExpr, Expr)
#undef ARRAYSUBSCRIPTEXPR
#ifndef ARRAYTYPETRAITEXPR
# define ARRAYTYPETRAITEXPR(Type, Base) EXPR(Type, Base)
#endif
ARRAYTYPETRAITEXPR(ArrayTypeTraitExpr, Expr)
#undef ARRAYTYPETRAITEXPR
#ifndef ASTYPEEXPR
# define ASTYPEEXPR(Type, Base) EXPR(Type, Base)
#endif
ASTYPEEXPR(AsTypeExpr, Expr)
#undef ASTYPEEXPR
#ifndef ATOMICEXPR
# define ATOMICEXPR(Type, Base) EXPR(Type, Base)
#endif
ATOMICEXPR(AtomicExpr, Expr)
#undef ATOMICEXPR
#ifndef BINARYOPERATOR
# define BINARYOPERATOR(Type, Base) EXPR(Type, Base)
#endif
BINARYOPERATOR(BinaryOperator, Expr)
#ifndef COMPOUNDASSIGNOPERATOR
# define COMPOUNDASSIGNOPERATOR(Type, Base) BINARYOPERATOR(Type, Base)
#endif
COMPOUNDASSIGNOPERATOR(CompoundAssignOperator, BinaryOperator)
#undef COMPOUNDASSIGNOPERATOR
STMT_RANGE(BinaryOperator, BinaryOperator, CompoundAssignOperator)
#undef BINARYOPERATOR
#ifndef BINARYTYPETRAITEXPR
# define BINARYTYPETRAITEXPR(Type, Base) EXPR(Type, Base)
#endif
BINARYTYPETRAITEXPR(BinaryTypeTraitExpr, Expr)
#undef BINARYTYPETRAITEXPR
#ifndef BLOCKEXPR
# define BLOCKEXPR(Type, Base) EXPR(Type, Base)
#endif
BLOCKEXPR(BlockExpr, Expr)
#undef BLOCKEXPR
#ifndef CXXBINDTEMPORARYEXPR
# define CXXBINDTEMPORARYEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXBINDTEMPORARYEXPR(CXXBindTemporaryExpr, Expr)
#undef CXXBINDTEMPORARYEXPR
#ifndef CXXBOOLLITERALEXPR
# define CXXBOOLLITERALEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXBOOLLITERALEXPR(CXXBoolLiteralExpr, Expr)
#undef CXXBOOLLITERALEXPR
#ifndef CXXCONSTRUCTEXPR
# define CXXCONSTRUCTEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXCONSTRUCTEXPR(CXXConstructExpr, Expr)
#ifndef CXXTEMPORARYOBJECTEXPR
# define CXXTEMPORARYOBJECTEXPR(Type, Base) CXXCONSTRUCTEXPR(Type, Base)
#endif
CXXTEMPORARYOBJECTEXPR(CXXTemporaryObjectExpr, CXXConstructExpr)
#undef CXXTEMPORARYOBJECTEXPR
STMT_RANGE(CXXConstructExpr, CXXConstructExpr, CXXTemporaryObjectExpr)
#undef CXXCONSTRUCTEXPR
#ifndef CXXDEFAULTARGEXPR
# define CXXDEFAULTARGEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXDEFAULTARGEXPR(CXXDefaultArgExpr, Expr)
#undef CXXDEFAULTARGEXPR
#ifndef CXXDEFAULTINITEXPR
# define CXXDEFAULTINITEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXDEFAULTINITEXPR(CXXDefaultInitExpr, Expr)
#undef CXXDEFAULTINITEXPR
#ifndef CXXDELETEEXPR
# define CXXDELETEEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXDELETEEXPR(CXXDeleteExpr, Expr)
#undef CXXDELETEEXPR
#ifndef CXXDEPENDENTSCOPEMEMBEREXPR
# define CXXDEPENDENTSCOPEMEMBEREXPR(Type, Base) EXPR(Type, Base)
#endif
CXXDEPENDENTSCOPEMEMBEREXPR(CXXDependentScopeMemberExpr, Expr)
#undef CXXDEPENDENTSCOPEMEMBEREXPR
#ifndef CXXNEWEXPR
# define CXXNEWEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXNEWEXPR(CXXNewExpr, Expr)
#undef CXXNEWEXPR
#ifndef CXXNOEXCEPTEXPR
# define CXXNOEXCEPTEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXNOEXCEPTEXPR(CXXNoexceptExpr, Expr)
#undef CXXNOEXCEPTEXPR
#ifndef CXXNULLPTRLITERALEXPR
# define CXXNULLPTRLITERALEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXNULLPTRLITERALEXPR(CXXNullPtrLiteralExpr, Expr)
#undef CXXNULLPTRLITERALEXPR
#ifndef CXXPSEUDODESTRUCTOREXPR
# define CXXPSEUDODESTRUCTOREXPR(Type, Base) EXPR(Type, Base)
#endif
CXXPSEUDODESTRUCTOREXPR(CXXPseudoDestructorExpr, Expr)
#undef CXXPSEUDODESTRUCTOREXPR
#ifndef CXXSCALARVALUEINITEXPR
# define CXXSCALARVALUEINITEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXSCALARVALUEINITEXPR(CXXScalarValueInitExpr, Expr)
#undef CXXSCALARVALUEINITEXPR
#ifndef CXXTHISEXPR
# define CXXTHISEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXTHISEXPR(CXXThisExpr, Expr)
#undef CXXTHISEXPR
#ifndef CXXTHROWEXPR
# define CXXTHROWEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXTHROWEXPR(CXXThrowExpr, Expr)
#undef CXXTHROWEXPR
#ifndef CXXTYPEIDEXPR
# define CXXTYPEIDEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXTYPEIDEXPR(CXXTypeidExpr, Expr)
#undef CXXTYPEIDEXPR
#ifndef CXXUNRESOLVEDCONSTRUCTEXPR
# define CXXUNRESOLVEDCONSTRUCTEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXUNRESOLVEDCONSTRUCTEXPR(CXXUnresolvedConstructExpr, Expr)
#undef CXXUNRESOLVEDCONSTRUCTEXPR
#ifndef CXXUUIDOFEXPR
# define CXXUUIDOFEXPR(Type, Base) EXPR(Type, Base)
#endif
CXXUUIDOFEXPR(CXXUuidofExpr, Expr)
#undef CXXUUIDOFEXPR
#ifndef CALLEXPR
# define CALLEXPR(Type, Base) EXPR(Type, Base)
#endif
CALLEXPR(CallExpr, Expr)
#ifndef CUDAKERNELCALLEXPR
# define CUDAKERNELCALLEXPR(Type, Base) CALLEXPR(Type, Base)
#endif
CUDAKERNELCALLEXPR(CUDAKernelCallExpr, CallExpr)
#undef CUDAKERNELCALLEXPR
#ifndef CXXMEMBERCALLEXPR
# define CXXMEMBERCALLEXPR(Type, Base) CALLEXPR(Type, Base)
#endif
CXXMEMBERCALLEXPR(CXXMemberCallExpr, CallExpr)
#undef CXXMEMBERCALLEXPR
#ifndef CXXOPERATORCALLEXPR
# define CXXOPERATORCALLEXPR(Type, Base) CALLEXPR(Type, Base)
#endif
CXXOPERATORCALLEXPR(CXXOperatorCallExpr, CallExpr)
#undef CXXOPERATORCALLEXPR
#ifndef USERDEFINEDLITERAL
# define USERDEFINEDLITERAL(Type, Base) CALLEXPR(Type, Base)
#endif
USERDEFINEDLITERAL(UserDefinedLiteral, CallExpr)
#undef USERDEFINEDLITERAL
STMT_RANGE(CallExpr, CallExpr, UserDefinedLiteral)
#undef CALLEXPR
#ifndef CASTEXPR
# define CASTEXPR(Type, Base) EXPR(Type, Base)
#endif
ABSTRACT_STMT(CASTEXPR(CastExpr, Expr))
#ifndef EXPLICITCASTEXPR
# define EXPLICITCASTEXPR(Type, Base) CASTEXPR(Type, Base)
#endif
ABSTRACT_STMT(EXPLICITCASTEXPR(ExplicitCastExpr, CastExpr))
#ifndef CSTYLECASTEXPR
# define CSTYLECASTEXPR(Type, Base) EXPLICITCASTEXPR(Type, Base)
#endif
CSTYLECASTEXPR(CStyleCastExpr, ExplicitCastExpr)
#undef CSTYLECASTEXPR
#ifndef CXXFUNCTIONALCASTEXPR
# define CXXFUNCTIONALCASTEXPR(Type, Base) EXPLICITCASTEXPR(Type, Base)
#endif
CXXFUNCTIONALCASTEXPR(CXXFunctionalCastExpr, ExplicitCastExpr)
#undef CXXFUNCTIONALCASTEXPR
#ifndef CXXNAMEDCASTEXPR
# define CXXNAMEDCASTEXPR(Type, Base) EXPLICITCASTEXPR(Type, Base)
#endif
ABSTRACT_STMT(CXXNAMEDCASTEXPR(CXXNamedCastExpr, ExplicitCastExpr))
#ifndef CXXCONSTCASTEXPR
# define CXXCONSTCASTEXPR(Type, Base) CXXNAMEDCASTEXPR(Type, Base)
#endif
CXXCONSTCASTEXPR(CXXConstCastExpr, CXXNamedCastExpr)
#undef CXXCONSTCASTEXPR
#ifndef CXXDYNAMICCASTEXPR
# define CXXDYNAMICCASTEXPR(Type, Base) CXXNAMEDCASTEXPR(Type, Base)
#endif
CXXDYNAMICCASTEXPR(CXXDynamicCastExpr, CXXNamedCastExpr)
#undef CXXDYNAMICCASTEXPR
#ifndef CXXREINTERPRETCASTEXPR
# define CXXREINTERPRETCASTEXPR(Type, Base) CXXNAMEDCASTEXPR(Type, Base)
#endif
CXXREINTERPRETCASTEXPR(CXXReinterpretCastExpr, CXXNamedCastExpr)
#undef CXXREINTERPRETCASTEXPR
#ifndef CXXSTATICCASTEXPR
# define CXXSTATICCASTEXPR(Type, Base) CXXNAMEDCASTEXPR(Type, Base)
#endif
CXXSTATICCASTEXPR(CXXStaticCastExpr, CXXNamedCastExpr)
#undef CXXSTATICCASTEXPR
STMT_RANGE(CXXNamedCastExpr, CXXConstCastExpr, CXXStaticCastExpr)
#undef CXXNAMEDCASTEXPR
#ifndef OBJCBRIDGEDCASTEXPR
# define OBJCBRIDGEDCASTEXPR(Type, Base) EXPLICITCASTEXPR(Type, Base)
#endif
OBJCBRIDGEDCASTEXPR(ObjCBridgedCastExpr, ExplicitCastExpr)
#undef OBJCBRIDGEDCASTEXPR
STMT_RANGE(ExplicitCastExpr, CStyleCastExpr, ObjCBridgedCastExpr)
#undef EXPLICITCASTEXPR
#ifndef IMPLICITCASTEXPR
# define IMPLICITCASTEXPR(Type, Base) CASTEXPR(Type, Base)
#endif
IMPLICITCASTEXPR(ImplicitCastExpr, CastExpr)
#undef IMPLICITCASTEXPR
STMT_RANGE(CastExpr, CStyleCastExpr, ImplicitCastExpr)
#undef CASTEXPR
#ifndef CHARACTERLITERAL
# define CHARACTERLITERAL(Type, Base) EXPR(Type, Base)
#endif
CHARACTERLITERAL(CharacterLiteral, Expr)
#undef CHARACTERLITERAL
#ifndef CHOOSEEXPR
# define CHOOSEEXPR(Type, Base) EXPR(Type, Base)
#endif
CHOOSEEXPR(ChooseExpr, Expr)
#undef CHOOSEEXPR
#ifndef COMPOUNDLITERALEXPR
# define COMPOUNDLITERALEXPR(Type, Base) EXPR(Type, Base)
#endif
COMPOUNDLITERALEXPR(CompoundLiteralExpr, Expr)
#undef COMPOUNDLITERALEXPR
#ifndef DECLREFEXPR
# define DECLREFEXPR(Type, Base) EXPR(Type, Base)
#endif
DECLREFEXPR(DeclRefExpr, Expr)
#undef DECLREFEXPR
#ifndef DEPENDENTSCOPEDECLREFEXPR
# define DEPENDENTSCOPEDECLREFEXPR(Type, Base) EXPR(Type, Base)
#endif
DEPENDENTSCOPEDECLREFEXPR(DependentScopeDeclRefExpr, Expr)
#undef DEPENDENTSCOPEDECLREFEXPR
#ifndef DESIGNATEDINITEXPR
# define DESIGNATEDINITEXPR(Type, Base) EXPR(Type, Base)
#endif
DESIGNATEDINITEXPR(DesignatedInitExpr, Expr)
#undef DESIGNATEDINITEXPR
#ifndef EXPRWITHCLEANUPS
# define EXPRWITHCLEANUPS(Type, Base) EXPR(Type, Base)
#endif
EXPRWITHCLEANUPS(ExprWithCleanups, Expr)
#undef EXPRWITHCLEANUPS
#ifndef EXPRESSIONTRAITEXPR
# define EXPRESSIONTRAITEXPR(Type, Base) EXPR(Type, Base)
#endif
EXPRESSIONTRAITEXPR(ExpressionTraitExpr, Expr)
#undef EXPRESSIONTRAITEXPR
#ifndef EXTVECTORELEMENTEXPR
# define EXTVECTORELEMENTEXPR(Type, Base) EXPR(Type, Base)
#endif
EXTVECTORELEMENTEXPR(ExtVectorElementExpr, Expr)
#undef EXTVECTORELEMENTEXPR
#ifndef FLOATINGLITERAL
# define FLOATINGLITERAL(Type, Base) EXPR(Type, Base)
#endif
FLOATINGLITERAL(FloatingLiteral, Expr)
#undef FLOATINGLITERAL
#ifndef FUNCTIONPARMPACKEXPR
# define FUNCTIONPARMPACKEXPR(Type, Base) EXPR(Type, Base)
#endif
FUNCTIONPARMPACKEXPR(FunctionParmPackExpr, Expr)
#undef FUNCTIONPARMPACKEXPR
#ifndef GNUNULLEXPR
# define GNUNULLEXPR(Type, Base) EXPR(Type, Base)
#endif
GNUNULLEXPR(GNUNullExpr, Expr)
#undef GNUNULLEXPR
#ifndef GENERICSELECTIONEXPR
# define GENERICSELECTIONEXPR(Type, Base) EXPR(Type, Base)
#endif
GENERICSELECTIONEXPR(GenericSelectionExpr, Expr)
#undef GENERICSELECTIONEXPR
#ifndef IMAGINARYLITERAL
# define IMAGINARYLITERAL(Type, Base) EXPR(Type, Base)
#endif
IMAGINARYLITERAL(ImaginaryLiteral, Expr)
#undef IMAGINARYLITERAL
#ifndef IMPLICITVALUEINITEXPR
# define IMPLICITVALUEINITEXPR(Type, Base) EXPR(Type, Base)
#endif
IMPLICITVALUEINITEXPR(ImplicitValueInitExpr, Expr)
#undef IMPLICITVALUEINITEXPR
#ifndef INITLISTEXPR
# define INITLISTEXPR(Type, Base) EXPR(Type, Base)
#endif
INITLISTEXPR(InitListExpr, Expr)
#undef INITLISTEXPR
#ifndef INTEGERLITERAL
# define INTEGERLITERAL(Type, Base) EXPR(Type, Base)
#endif
INTEGERLITERAL(IntegerLiteral, Expr)
#undef INTEGERLITERAL
#ifndef LAMBDAEXPR
# define LAMBDAEXPR(Type, Base) EXPR(Type, Base)
#endif
LAMBDAEXPR(LambdaExpr, Expr)
#undef LAMBDAEXPR
#ifndef MSPROPERTYREFEXPR
# define MSPROPERTYREFEXPR(Type, Base) EXPR(Type, Base)
#endif
MSPROPERTYREFEXPR(MSPropertyRefExpr, Expr)
#undef MSPROPERTYREFEXPR
#ifndef MATERIALIZETEMPORARYEXPR
# define MATERIALIZETEMPORARYEXPR(Type, Base) EXPR(Type, Base)
#endif
MATERIALIZETEMPORARYEXPR(MaterializeTemporaryExpr, Expr)
#undef MATERIALIZETEMPORARYEXPR
#ifndef MEMBEREXPR
# define MEMBEREXPR(Type, Base) EXPR(Type, Base)
#endif
MEMBEREXPR(MemberExpr, Expr)
#undef MEMBEREXPR
#ifndef OBJCARRAYLITERAL
# define OBJCARRAYLITERAL(Type, Base) EXPR(Type, Base)
#endif
OBJCARRAYLITERAL(ObjCArrayLiteral, Expr)
#undef OBJCARRAYLITERAL
#ifndef OBJCBOOLLITERALEXPR
# define OBJCBOOLLITERALEXPR(Type, Base) EXPR(Type, Base)
#endif
OBJCBOOLLITERALEXPR(ObjCBoolLiteralExpr, Expr)
#undef OBJCBOOLLITERALEXPR
#ifndef OBJCBOXEDEXPR
# define OBJCBOXEDEXPR(Type, Base) EXPR(Type, Base)
#endif
OBJCBOXEDEXPR(ObjCBoxedExpr, Expr)
#undef OBJCBOXEDEXPR
#ifndef OBJCDICTIONARYLITERAL
# define OBJCDICTIONARYLITERAL(Type, Base) EXPR(Type, Base)
#endif
OBJCDICTIONARYLITERAL(ObjCDictionaryLiteral, Expr)
#undef OBJCDICTIONARYLITERAL
#ifndef OBJCENCODEEXPR
# define OBJCENCODEEXPR(Type, Base) EXPR(Type, Base)
#endif
OBJCENCODEEXPR(ObjCEncodeExpr, Expr)
#undef OBJCENCODEEXPR
#ifndef OBJCINDIRECTCOPYRESTOREEXPR
# define OBJCINDIRECTCOPYRESTOREEXPR(Type, Base) EXPR(Type, Base)
#endif
OBJCINDIRECTCOPYRESTOREEXPR(ObjCIndirectCopyRestoreExpr, Expr)
#undef OBJCINDIRECTCOPYRESTOREEXPR
#ifndef OBJCISAEXPR
# define OBJCISAEXPR(Type, Base) EXPR(Type, Base)
#endif
OBJCISAEXPR(ObjCIsaExpr, Expr)
#undef OBJCISAEXPR
#ifndef OBJCIVARREFEXPR
# define OBJCIVARREFEXPR(Type, Base) EXPR(Type, Base)
#endif
OBJCIVARREFEXPR(ObjCIvarRefExpr, Expr)
#undef OBJCIVARREFEXPR
#ifndef OBJCMESSAGEEXPR
# define OBJCMESSAGEEXPR(Type, Base) EXPR(Type, Base)
#endif
OBJCMESSAGEEXPR(ObjCMessageExpr, Expr)
#undef OBJCMESSAGEEXPR
#ifndef OBJCPROPERTYREFEXPR
# define OBJCPROPERTYREFEXPR(Type, Base) EXPR(Type, Base)
#endif
OBJCPROPERTYREFEXPR(ObjCPropertyRefExpr, Expr)
#undef OBJCPROPERTYREFEXPR
#ifndef OBJCPROTOCOLEXPR
# define OBJCPROTOCOLEXPR(Type, Base) EXPR(Type, Base)
#endif
OBJCPROTOCOLEXPR(ObjCProtocolExpr, Expr)
#undef OBJCPROTOCOLEXPR
#ifndef OBJCSELECTOREXPR
# define OBJCSELECTOREXPR(Type, Base) EXPR(Type, Base)
#endif
OBJCSELECTOREXPR(ObjCSelectorExpr, Expr)
#undef OBJCSELECTOREXPR
#ifndef OBJCSTRINGLITERAL
# define OBJCSTRINGLITERAL(Type, Base) EXPR(Type, Base)
#endif
OBJCSTRINGLITERAL(ObjCStringLiteral, Expr)
#undef OBJCSTRINGLITERAL
#ifndef OBJCSUBSCRIPTREFEXPR
# define OBJCSUBSCRIPTREFEXPR(Type, Base) EXPR(Type, Base)
#endif
OBJCSUBSCRIPTREFEXPR(ObjCSubscriptRefExpr, Expr)
#undef OBJCSUBSCRIPTREFEXPR
#ifndef OFFSETOFEXPR
# define OFFSETOFEXPR(Type, Base) EXPR(Type, Base)
#endif
OFFSETOFEXPR(OffsetOfExpr, Expr)
#undef OFFSETOFEXPR
#ifndef OPAQUEVALUEEXPR
# define OPAQUEVALUEEXPR(Type, Base) EXPR(Type, Base)
#endif
OPAQUEVALUEEXPR(OpaqueValueExpr, Expr)
#undef OPAQUEVALUEEXPR
#ifndef OVERLOADEXPR
# define OVERLOADEXPR(Type, Base) EXPR(Type, Base)
#endif
ABSTRACT_STMT(OVERLOADEXPR(OverloadExpr, Expr))
#ifndef UNRESOLVEDLOOKUPEXPR
# define UNRESOLVEDLOOKUPEXPR(Type, Base) OVERLOADEXPR(Type, Base)
#endif
UNRESOLVEDLOOKUPEXPR(UnresolvedLookupExpr, OverloadExpr)
#undef UNRESOLVEDLOOKUPEXPR
#ifndef UNRESOLVEDMEMBEREXPR
# define UNRESOLVEDMEMBEREXPR(Type, Base) OVERLOADEXPR(Type, Base)
#endif
UNRESOLVEDMEMBEREXPR(UnresolvedMemberExpr, OverloadExpr)
#undef UNRESOLVEDMEMBEREXPR
STMT_RANGE(OverloadExpr, UnresolvedLookupExpr, UnresolvedMemberExpr)
#undef OVERLOADEXPR
#ifndef PACKEXPANSIONEXPR
# define PACKEXPANSIONEXPR(Type, Base) EXPR(Type, Base)
#endif
PACKEXPANSIONEXPR(PackExpansionExpr, Expr)
#undef PACKEXPANSIONEXPR
#ifndef PARENEXPR
# define PARENEXPR(Type, Base) EXPR(Type, Base)
#endif
PARENEXPR(ParenExpr, Expr)
#undef PARENEXPR
#ifndef PARENLISTEXPR
# define PARENLISTEXPR(Type, Base) EXPR(Type, Base)
#endif
PARENLISTEXPR(ParenListExpr, Expr)
#undef PARENLISTEXPR
#ifndef PREDEFINEDEXPR
# define PREDEFINEDEXPR(Type, Base) EXPR(Type, Base)
#endif
PREDEFINEDEXPR(PredefinedExpr, Expr)
#undef PREDEFINEDEXPR
#ifndef PSEUDOOBJECTEXPR
# define PSEUDOOBJECTEXPR(Type, Base) EXPR(Type, Base)
#endif
PSEUDOOBJECTEXPR(PseudoObjectExpr, Expr)
#undef PSEUDOOBJECTEXPR
#ifndef SHUFFLEVECTOREXPR
# define SHUFFLEVECTOREXPR(Type, Base) EXPR(Type, Base)
#endif
SHUFFLEVECTOREXPR(ShuffleVectorExpr, Expr)
#undef SHUFFLEVECTOREXPR
#ifndef SIZEOFPACKEXPR
# define SIZEOFPACKEXPR(Type, Base) EXPR(Type, Base)
#endif
SIZEOFPACKEXPR(SizeOfPackExpr, Expr)
#undef SIZEOFPACKEXPR
#ifndef STMTEXPR
# define STMTEXPR(Type, Base) EXPR(Type, Base)
#endif
STMTEXPR(StmtExpr, Expr)
#undef STMTEXPR
#ifndef STRINGLITERAL
# define STRINGLITERAL(Type, Base) EXPR(Type, Base)
#endif
STRINGLITERAL(StringLiteral, Expr)
#undef STRINGLITERAL
#ifndef SUBSTNONTYPETEMPLATEPARMEXPR
# define SUBSTNONTYPETEMPLATEPARMEXPR(Type, Base) EXPR(Type, Base)
#endif
SUBSTNONTYPETEMPLATEPARMEXPR(SubstNonTypeTemplateParmExpr, Expr)
#undef SUBSTNONTYPETEMPLATEPARMEXPR
#ifndef SUBSTNONTYPETEMPLATEPARMPACKEXPR
# define SUBSTNONTYPETEMPLATEPARMPACKEXPR(Type, Base) EXPR(Type, Base)
#endif
SUBSTNONTYPETEMPLATEPARMPACKEXPR(SubstNonTypeTemplateParmPackExpr, Expr)
#undef SUBSTNONTYPETEMPLATEPARMPACKEXPR
#ifndef TYPETRAITEXPR
# define TYPETRAITEXPR(Type, Base) EXPR(Type, Base)
#endif
TYPETRAITEXPR(TypeTraitExpr, Expr)
#undef TYPETRAITEXPR
#ifndef UNARYEXPRORTYPETRAITEXPR
# define UNARYEXPRORTYPETRAITEXPR(Type, Base) EXPR(Type, Base)
#endif
UNARYEXPRORTYPETRAITEXPR(UnaryExprOrTypeTraitExpr, Expr)
#undef UNARYEXPRORTYPETRAITEXPR
#ifndef UNARYOPERATOR
# define UNARYOPERATOR(Type, Base) EXPR(Type, Base)
#endif
UNARYOPERATOR(UnaryOperator, Expr)
#undef UNARYOPERATOR
#ifndef UNARYTYPETRAITEXPR
# define UNARYTYPETRAITEXPR(Type, Base) EXPR(Type, Base)
#endif
UNARYTYPETRAITEXPR(UnaryTypeTraitExpr, Expr)
#undef UNARYTYPETRAITEXPR
#ifndef VAARGEXPR
# define VAARGEXPR(Type, Base) EXPR(Type, Base)
#endif
VAARGEXPR(VAArgExpr, Expr)
#undef VAARGEXPR
STMT_RANGE(Expr, BinaryConditionalOperator, VAArgExpr)
#undef EXPR
#ifndef FORSTMT
# define FORSTMT(Type, Base) STMT(Type, Base)
#endif
FORSTMT(ForStmt, Stmt)
#undef FORSTMT
#ifndef GOTOSTMT
# define GOTOSTMT(Type, Base) STMT(Type, Base)
#endif
GOTOSTMT(GotoStmt, Stmt)
#undef GOTOSTMT
#ifndef IFSTMT
# define IFSTMT(Type, Base) STMT(Type, Base)
#endif
IFSTMT(IfStmt, Stmt)
#undef IFSTMT
#ifndef INDIRECTGOTOSTMT
# define INDIRECTGOTOSTMT(Type, Base) STMT(Type, Base)
#endif
INDIRECTGOTOSTMT(IndirectGotoStmt, Stmt)
#undef INDIRECTGOTOSTMT
#ifndef LABELSTMT
# define LABELSTMT(Type, Base) STMT(Type, Base)
#endif
LABELSTMT(LabelStmt, Stmt)
#undef LABELSTMT
#ifndef MSDEPENDENTEXISTSSTMT
# define MSDEPENDENTEXISTSSTMT(Type, Base) STMT(Type, Base)
#endif
MSDEPENDENTEXISTSSTMT(MSDependentExistsStmt, Stmt)
#undef MSDEPENDENTEXISTSSTMT
#ifndef NULLSTMT
# define NULLSTMT(Type, Base) STMT(Type, Base)
#endif
NULLSTMT(NullStmt, Stmt)
#undef NULLSTMT
#ifndef OBJCATCATCHSTMT
# define OBJCATCATCHSTMT(Type, Base) STMT(Type, Base)
#endif
OBJCATCATCHSTMT(ObjCAtCatchStmt, Stmt)
#undef OBJCATCATCHSTMT
#ifndef OBJCATFINALLYSTMT
# define OBJCATFINALLYSTMT(Type, Base) STMT(Type, Base)
#endif
OBJCATFINALLYSTMT(ObjCAtFinallyStmt, Stmt)
#undef OBJCATFINALLYSTMT
#ifndef OBJCATSYNCHRONIZEDSTMT
# define OBJCATSYNCHRONIZEDSTMT(Type, Base) STMT(Type, Base)
#endif
OBJCATSYNCHRONIZEDSTMT(ObjCAtSynchronizedStmt, Stmt)
#undef OBJCATSYNCHRONIZEDSTMT
#ifndef OBJCATTHROWSTMT
# define OBJCATTHROWSTMT(Type, Base) STMT(Type, Base)
#endif
OBJCATTHROWSTMT(ObjCAtThrowStmt, Stmt)
#undef OBJCATTHROWSTMT
#ifndef OBJCATTRYSTMT
# define OBJCATTRYSTMT(Type, Base) STMT(Type, Base)
#endif
OBJCATTRYSTMT(ObjCAtTryStmt, Stmt)
#undef OBJCATTRYSTMT
#ifndef OBJCAUTORELEASEPOOLSTMT
# define OBJCAUTORELEASEPOOLSTMT(Type, Base) STMT(Type, Base)
#endif
OBJCAUTORELEASEPOOLSTMT(ObjCAutoreleasePoolStmt, Stmt)
#undef OBJCAUTORELEASEPOOLSTMT
#ifndef OBJCFORCOLLECTIONSTMT
# define OBJCFORCOLLECTIONSTMT(Type, Base) STMT(Type, Base)
#endif
OBJCFORCOLLECTIONSTMT(ObjCForCollectionStmt, Stmt)
#undef OBJCFORCOLLECTIONSTMT
#ifndef RETURNSTMT
# define RETURNSTMT(Type, Base) STMT(Type, Base)
#endif
RETURNSTMT(ReturnStmt, Stmt)
#undef RETURNSTMT
#ifndef SEHEXCEPTSTMT
# define SEHEXCEPTSTMT(Type, Base) STMT(Type, Base)
#endif
SEHEXCEPTSTMT(SEHExceptStmt, Stmt)
#undef SEHEXCEPTSTMT
#ifndef SEHFINALLYSTMT
# define SEHFINALLYSTMT(Type, Base) STMT(Type, Base)
#endif
SEHFINALLYSTMT(SEHFinallyStmt, Stmt)
#undef SEHFINALLYSTMT
#ifndef SEHTRYSTMT
# define SEHTRYSTMT(Type, Base) STMT(Type, Base)
#endif
SEHTRYSTMT(SEHTryStmt, Stmt)
#undef SEHTRYSTMT
#ifndef SWITCHCASE
# define SWITCHCASE(Type, Base) STMT(Type, Base)
#endif
ABSTRACT_STMT(SWITCHCASE(SwitchCase, Stmt))
#ifndef CASESTMT
# define CASESTMT(Type, Base) SWITCHCASE(Type, Base)
#endif
CASESTMT(CaseStmt, SwitchCase)
#undef CASESTMT
#ifndef DEFAULTSTMT
# define DEFAULTSTMT(Type, Base) SWITCHCASE(Type, Base)
#endif
DEFAULTSTMT(DefaultStmt, SwitchCase)
#undef DEFAULTSTMT
STMT_RANGE(SwitchCase, CaseStmt, DefaultStmt)
#undef SWITCHCASE
#ifndef SWITCHSTMT
# define SWITCHSTMT(Type, Base) STMT(Type, Base)
#endif
SWITCHSTMT(SwitchStmt, Stmt)
#undef SWITCHSTMT
#ifndef WHILESTMT
# define WHILESTMT(Type, Base) STMT(Type, Base)
#endif
WHILESTMT(WhileStmt, Stmt)
#undef WHILESTMT
LAST_STMT_RANGE(Stmt, GCCAsmStmt, WhileStmt)
#undef STMT
#undef STMT_RANGE
#undef LAST_STMT_RANGE
#undef ABSTRACT_STMT

View File

@@ -0,0 +1,192 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*List of all attributes that Clang recognizes *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef LAST_ATTR
#define LAST_ATTR(NAME) ATTR(NAME)
#endif
#ifndef INHERITABLE_ATTR
#define INHERITABLE_ATTR(NAME) ATTR(NAME)
#endif
#ifndef LAST_INHERITABLE_ATTR
#define LAST_INHERITABLE_ATTR(NAME) INHERITABLE_ATTR(NAME)
#endif
#ifndef INHERITABLE_PARAM_ATTR
#define INHERITABLE_PARAM_ATTR(NAME) ATTR(NAME)
#endif
#ifndef LAST_INHERITABLE_PARAM_ATTR
#define LAST_INHERITABLE_PARAM_ATTR(NAME) INHERITABLE_PARAM_ATTR(NAME)
#endif
#ifndef MS_INHERITABLE_ATTR
#define MS_INHERITABLE_ATTR(NAME) INHERITABLE_ATTR(NAME)
#endif
#ifndef LAST_MS_INHERITABLE_ATTR
#define LAST_MS_INHERITABLE_ATTR(NAME) MS_INHERITABLE_ATTR(NAME)
#endif
INHERITABLE_PARAM_ATTR(Annotate)
INHERITABLE_PARAM_ATTR(CFConsumed)
INHERITABLE_PARAM_ATTR(CarriesDependency)
LAST_INHERITABLE_PARAM_ATTR(NSConsumed)
MS_INHERITABLE_ATTR(MultipleInheritance)
MS_INHERITABLE_ATTR(SingleInheritance)
MS_INHERITABLE_ATTR(UnspecifiedInheritance)
LAST_MS_INHERITABLE_ATTR(VirtualInheritance)
INHERITABLE_ATTR(AcquiredAfter)
INHERITABLE_ATTR(AcquiredBefore)
INHERITABLE_ATTR(Alias)
INHERITABLE_ATTR(AlignMac68k)
INHERITABLE_ATTR(Aligned)
INHERITABLE_ATTR(AlwaysInline)
INHERITABLE_ATTR(AnalyzerNoReturn)
INHERITABLE_ATTR(ArcWeakrefUnavailable)
INHERITABLE_ATTR(ArgumentWithTypeTag)
INHERITABLE_ATTR(AsmLabel)
INHERITABLE_ATTR(Availability)
INHERITABLE_ATTR(Blocks)
INHERITABLE_ATTR(C11NoReturn)
INHERITABLE_ATTR(CDecl)
INHERITABLE_ATTR(CFAuditedTransfer)
INHERITABLE_ATTR(CFReturnsNotRetained)
INHERITABLE_ATTR(CFReturnsRetained)
INHERITABLE_ATTR(CFUnknownTransfer)
INHERITABLE_ATTR(CUDAConstant)
INHERITABLE_ATTR(CUDADevice)
INHERITABLE_ATTR(CUDAGlobal)
INHERITABLE_ATTR(CUDAHost)
INHERITABLE_ATTR(CUDALaunchBounds)
INHERITABLE_ATTR(CUDAShared)
INHERITABLE_ATTR(CXX11NoReturn)
INHERITABLE_ATTR(Cleanup)
INHERITABLE_ATTR(Cold)
INHERITABLE_ATTR(Common)
INHERITABLE_ATTR(Const)
INHERITABLE_ATTR(Constructor)
INHERITABLE_ATTR(DLLExport)
INHERITABLE_ATTR(DLLImport)
INHERITABLE_ATTR(Deprecated)
INHERITABLE_ATTR(Destructor)
INHERITABLE_ATTR(Endian)
INHERITABLE_ATTR(ExclusiveLockFunction)
INHERITABLE_ATTR(ExclusiveLocksRequired)
INHERITABLE_ATTR(ExclusiveTrylockFunction)
INHERITABLE_ATTR(FastCall)
INHERITABLE_ATTR(Final)
INHERITABLE_ATTR(ForceInline)
INHERITABLE_ATTR(Format)
INHERITABLE_ATTR(FormatArg)
INHERITABLE_ATTR(GNUInline)
INHERITABLE_ATTR(GuardedBy)
INHERITABLE_ATTR(GuardedVar)
INHERITABLE_ATTR(Hot)
INHERITABLE_ATTR(IBAction)
INHERITABLE_ATTR(IBOutlet)
INHERITABLE_ATTR(IBOutletCollection)
INHERITABLE_ATTR(InitPriority)
INHERITABLE_ATTR(IntelOclBicc)
INHERITABLE_ATTR(LockReturned)
INHERITABLE_ATTR(Lockable)
INHERITABLE_ATTR(LocksExcluded)
INHERITABLE_ATTR(MBlazeInterruptHandler)
INHERITABLE_ATTR(MBlazeSaveVolatiles)
INHERITABLE_ATTR(MSP430Interrupt)
INHERITABLE_ATTR(Malloc)
INHERITABLE_ATTR(MaxFieldAlignment)
INHERITABLE_ATTR(MayAlias)
INHERITABLE_ATTR(MinSize)
INHERITABLE_ATTR(Mips16)
INHERITABLE_ATTR(MsStruct)
INHERITABLE_ATTR(NSBridged)
INHERITABLE_ATTR(NSConsumesSelf)
INHERITABLE_ATTR(NSReturnsAutoreleased)
INHERITABLE_ATTR(NSReturnsNotRetained)
INHERITABLE_ATTR(NSReturnsRetained)
INHERITABLE_ATTR(Naked)
INHERITABLE_ATTR(NoCommon)
INHERITABLE_ATTR(NoDebug)
INHERITABLE_ATTR(NoInline)
INHERITABLE_ATTR(NoInstrumentFunction)
INHERITABLE_ATTR(NoMips16)
INHERITABLE_ATTR(NoReturn)
INHERITABLE_ATTR(NoSanitizeAddress)
INHERITABLE_ATTR(NoSanitizeMemory)
INHERITABLE_ATTR(NoSanitizeThread)
INHERITABLE_ATTR(NoThreadSafetyAnalysis)
INHERITABLE_ATTR(NoThrow)
INHERITABLE_ATTR(NonNull)
INHERITABLE_ATTR(ObjCException)
INHERITABLE_ATTR(ObjCMethodFamily)
INHERITABLE_ATTR(ObjCNSObject)
INHERITABLE_ATTR(ObjCRequiresPropertyDefs)
INHERITABLE_ATTR(ObjCRequiresSuper)
INHERITABLE_ATTR(Override)
INHERITABLE_ATTR(Ownership)
INHERITABLE_ATTR(Packed)
INHERITABLE_ATTR(Pascal)
INHERITABLE_ATTR(Pcs)
INHERITABLE_ATTR(PnaclCall)
INHERITABLE_ATTR(PtGuardedBy)
INHERITABLE_ATTR(PtGuardedVar)
INHERITABLE_ATTR(Ptr32)
INHERITABLE_ATTR(Ptr64)
INHERITABLE_ATTR(Pure)
INHERITABLE_ATTR(Regparm)
INHERITABLE_ATTR(ReqdWorkGroupSize)
INHERITABLE_ATTR(ReturnsTwice)
INHERITABLE_ATTR(ScopedLockable)
INHERITABLE_ATTR(Section)
INHERITABLE_ATTR(Sentinel)
INHERITABLE_ATTR(SharedLockFunction)
INHERITABLE_ATTR(SharedLocksRequired)
INHERITABLE_ATTR(SharedTrylockFunction)
INHERITABLE_ATTR(StdCall)
INHERITABLE_ATTR(TLSModel)
INHERITABLE_ATTR(ThisCall)
INHERITABLE_ATTR(TransparentUnion)
INHERITABLE_ATTR(TypeTagForDatatype)
INHERITABLE_ATTR(TypeVisibility)
INHERITABLE_ATTR(Unavailable)
INHERITABLE_ATTR(UnlockFunction)
INHERITABLE_ATTR(Unused)
INHERITABLE_ATTR(Used)
INHERITABLE_ATTR(Uuid)
INHERITABLE_ATTR(VecReturn)
INHERITABLE_ATTR(VecTypeHint)
INHERITABLE_ATTR(Visibility)
INHERITABLE_ATTR(WarnUnusedResult)
INHERITABLE_ATTR(Weak)
INHERITABLE_ATTR(WeakImport)
INHERITABLE_ATTR(WeakRef)
INHERITABLE_ATTR(Win64)
INHERITABLE_ATTR(WorkGroupSizeHint)
LAST_INHERITABLE_ATTR(X86ForceAlignArgPointer)
ATTR(AllocSize)
ATTR(FallThrough)
ATTR(MsProperty)
ATTR(ObjCPreciseLifetime)
ATTR(ObjCReturnsInnerPointer)
ATTR(ObjCRootClass)
ATTR(OpenCLImageAccess)
ATTR(OpenCLKernel)
LAST_ATTR(Overloadable)
#undef LAST_ATTR
#undef INHERITABLE_ATTR
#undef MS_INHERITABLE_ATTR
#undef LAST_INHERITABLE_ATTR
#undef LAST_INHERITABLE_PARAM_ATTR
#undef LAST_MS_INHERITABLE_ATTR
#undef ATTR

View File

@@ -0,0 +1,93 @@
#ifdef ASTSTART
__ASTSTART = DIAG_START_AST,
#undef ASTSTART
#endif
DIAG(err_asm_empty_symbolic_operand_name, CLASS_ERROR, diag::MAP_ERROR, "empty symbolic operand name in inline assembly string", 0, true, false, false, false, 11)
DIAG(err_asm_invalid_escape, CLASS_ERROR, diag::MAP_ERROR, "invalid %% escape in inline assembly string", 0, true, false, false, false, 11)
DIAG(err_asm_invalid_operand_number, CLASS_ERROR, diag::MAP_ERROR, "invalid operand number in inline asm string", 0, true, false, false, false, 11)
DIAG(err_asm_unknown_symbolic_operand_name, CLASS_ERROR, diag::MAP_ERROR, "unknown symbolic operand name in inline assembly string", 0, true, false, false, false, 11)
DIAG(err_asm_unterminated_symbolic_operand_name, CLASS_ERROR, diag::MAP_ERROR, "unterminated symbolic operand name in inline assembly string", 0, true, false, false, false, 11)
DIAG(err_odr_different_num_template_parameters, CLASS_ERROR, diag::MAP_ERROR, "template parameter lists have a different number of parameters (%0 vs %1)", 0, true, false, false, false, 0)
DIAG(err_odr_different_template_parameter_kind, CLASS_ERROR, diag::MAP_ERROR, "template parameter has different kinds in different translation units", 0, true, false, false, false, 0)
DIAG(err_odr_field_type_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "field %0 declared with incompatible types in different translation units (%1 vs. %2)", 0, true, false, false, false, 0)
DIAG(err_odr_function_type_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "external function %0 declared with incompatible types in different translation units (%1 vs. %2)", 0, true, false, false, false, 0)
DIAG(err_odr_ivar_type_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "instance variable %0 declared with incompatible types in different translation units (%1 vs. %2)", 0, true, false, false, false, 0)
DIAG(err_odr_non_type_parameter_type_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "non-type template parameter declared with incompatible types in different translation units (%0 vs. %1)", 0, true, false, false, false, 0)
DIAG(err_odr_objc_method_num_params_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "%select{class|instance}0 method %1 has a different number of parameters in different translation units (%2 vs. %3)", 0, true, false, false, false, 0)
DIAG(err_odr_objc_method_param_type_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "%select{class|instance}0 method %1 has a parameter with a different types in different translation units (%2 vs. %3)", 0, true, false, false, false, 0)
DIAG(err_odr_objc_method_result_type_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "%select{class|instance}0 method %1 has incompatible result types in different translation units (%2 vs. %3)", 0, true, false, false, false, 0)
DIAG(err_odr_objc_method_variadic_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "%select{class|instance}0 method %1 is variadic in one translation unit and not variadic in another", 0, true, false, false, false, 0)
DIAG(err_odr_objc_property_impl_kind_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "property %0 is implemented with %select{@synthesize|@dynamic}1 in one translation but %select{@dynamic|@synthesize}1 in another translation unit", 0, true, false, false, false, 0)
DIAG(err_odr_objc_property_type_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "property %0 declared with incompatible types in different translation units (%1 vs. %2)", 0, true, false, false, false, 0)
DIAG(err_odr_objc_superclass_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "class %0 has incompatible superclasses", 0, true, false, false, false, 0)
DIAG(err_odr_objc_synthesize_ivar_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "property %0 is synthesized to different ivars in different translation units (%1 vs. %2)", 0, true, false, false, false, 0)
DIAG(err_odr_parameter_pack_non_pack, CLASS_ERROR, diag::MAP_ERROR, "parameter kind mismatch; parameter is %select{not a|a}0 parameter pack", 0, true, false, false, false, 0)
DIAG(err_odr_variable_multiple_def, CLASS_ERROR, diag::MAP_ERROR, "external variable %0 defined in multiple translation units", 0, true, false, false, false, 0)
DIAG(err_odr_variable_type_inconsistent, CLASS_ERROR, diag::MAP_ERROR, "external variable %0 declared with incompatible types in different translation units (%1 vs. %2)", 0, true, false, false, false, 0)
DIAG(err_unsupported_ast_node, CLASS_ERROR, diag::MAP_ERROR, "cannot import unsupported AST node %0", 0, true, false, false, false, 0)
DIAG(note_constexpr_array_index, CLASS_NOTE, diag::MAP_FATAL, "cannot refer to element %0 of %select{array of %2 elements|non-array object}1 in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_call_here, CLASS_NOTE, diag::MAP_FATAL, "in call to '%0'", 0, true, false, false, false, 0)
DIAG(note_constexpr_call_limit_exceeded, CLASS_NOTE, diag::MAP_FATAL, "constexpr evaluation hit maximum call limit", 0, true, false, false, false, 0)
DIAG(note_constexpr_calls_suppressed, CLASS_NOTE, diag::MAP_FATAL, "(skipping %0 call%s0 in backtrace; use -fconstexpr-backtrace-limit=0 to see all)", 0, true, false, false, false, 0)
DIAG(note_constexpr_compare_virtual_mem_ptr, CLASS_NOTE, diag::MAP_FATAL, "comparison of pointer to virtual member function %0 has unspecified value", 0, true, false, false, false, 0)
DIAG(note_constexpr_conditional_never_const, CLASS_NOTE, diag::MAP_FATAL, "both arms of conditional operator are unable to produce a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_depth_limit_exceeded, CLASS_NOTE, diag::MAP_FATAL, "constexpr evaluation exceeded maximum depth of %0 calls", 0, true, false, false, false, 0)
DIAG(note_constexpr_float_arithmetic, CLASS_NOTE, diag::MAP_FATAL, "floating point arithmetic produces %select{an infinity|a NaN}0", 0, true, false, false, false, 0)
DIAG(note_constexpr_invalid_cast, CLASS_NOTE, diag::MAP_FATAL, "%select{reinterpret_cast|dynamic_cast|cast which performs the conversions of a reinterpret_cast|cast from %1}0 is not allowed in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_invalid_downcast, CLASS_NOTE, diag::MAP_FATAL, "cannot cast object of dynamic type %0 to type %1", 0, true, false, false, false, 0)
DIAG(note_constexpr_invalid_function, CLASS_NOTE, diag::MAP_FATAL, "%select{non-constexpr|undefined}0 %select{function|constructor}1 %2 cannot be used in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_large_shift, CLASS_NOTE, diag::MAP_FATAL, "shift count %0 >= width of type %1 (%2 bit%s2)", 0, true, false, false, false, 0)
DIAG(note_constexpr_lifetime_ended, CLASS_NOTE, diag::MAP_FATAL, "read of %select{temporary|variable}0 whose lifetime has ended", 0, true, false, false, false, 0)
DIAG(note_constexpr_lshift_discards, CLASS_NOTE, diag::MAP_FATAL, "signed left shift discards bits", 0, true, false, false, false, 0)
DIAG(note_constexpr_lshift_of_negative, CLASS_NOTE, diag::MAP_FATAL, "left shift of negative value %0", 0, true, false, false, false, 0)
DIAG(note_constexpr_ltor_mutable, CLASS_NOTE, diag::MAP_FATAL, "read of mutable member %0 is not allowed in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_ltor_non_const_int, CLASS_NOTE, diag::MAP_FATAL, "read of non-const variable %0 is not allowed in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_ltor_non_constexpr, CLASS_NOTE, diag::MAP_FATAL, "read of non-constexpr variable %0 is not allowed in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_ltor_volatile_obj, CLASS_NOTE, diag::MAP_FATAL, "read of volatile %select{temporary|object %1|member %1}0 is not allowed in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_ltor_volatile_type, CLASS_NOTE, diag::MAP_FATAL, "read of volatile-qualified type %0 is not allowed in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_negative_shift, CLASS_NOTE, diag::MAP_FATAL, "negative shift count %0", 0, true, false, false, false, 0)
DIAG(note_constexpr_no_return, CLASS_NOTE, diag::MAP_FATAL, "control reached end of constexpr function", 0, true, false, false, false, 0)
DIAG(note_constexpr_non_global, CLASS_NOTE, diag::MAP_FATAL, "%select{pointer|reference}0 to %select{|subobject of }1%select{temporary|%3}2 is not a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_nonliteral, CLASS_NOTE, diag::MAP_FATAL, "non-literal type %0 cannot be used in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_null_subobject, CLASS_NOTE, diag::MAP_FATAL, "cannot %select{access base class of|access derived class of|access field of|access array element of|perform pointer arithmetic on|call member function on|access real component of|access imaginary component of}0 null pointer", 0, true, false, false, false, 0)
DIAG(note_constexpr_overflow, CLASS_NOTE, diag::MAP_FATAL, "value %0 is outside the range of representable values of type %1", 0, true, false, false, false, 0)
DIAG(note_constexpr_past_end, CLASS_NOTE, diag::MAP_FATAL, "dereferenced pointer past the end of %select{|subobject of }0%select{temporary|%2}1 is not a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_past_end_subobject, CLASS_NOTE, diag::MAP_FATAL, "cannot %select{access base class of|access derived class of|access field of|access array element of|ERROR|call member function on|access real component of|access imaginary component of}0 pointer past the end of object", 0, true, false, false, false, 0)
DIAG(note_constexpr_pointer_comparison_base_classes, CLASS_NOTE, diag::MAP_FATAL, "comparison of addresses of subobjects of different base classes has unspecified value", 0, true, false, false, false, 0)
DIAG(note_constexpr_pointer_comparison_base_field, CLASS_NOTE, diag::MAP_FATAL, "comparison of address of base class subobject %0 of class %1 to field %2 has unspecified value", 0, true, false, false, false, 0)
DIAG(note_constexpr_pointer_comparison_differing_access, CLASS_NOTE, diag::MAP_FATAL, "comparison of address of fields %0 and %2 of %4 with differing access specifiers (%1 vs %3) has unspecified value", 0, true, false, false, false, 0)
DIAG(note_constexpr_pointer_subtraction_not_same_array, CLASS_NOTE, diag::MAP_FATAL, "subtracted pointers are not elements of the same array", 0, true, false, false, false, 0)
DIAG(note_constexpr_read_inactive_union_member, CLASS_NOTE, diag::MAP_FATAL, "read of member %0 of union with %select{active member %2|no active member}1 is not allowed in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_read_past_end, CLASS_NOTE, diag::MAP_FATAL, "read of dereferenced one-past-the-end pointer is not allowed in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_read_uninit, CLASS_NOTE, diag::MAP_FATAL, "read of uninitialized object is not allowed in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_temporary_here, CLASS_NOTE, diag::MAP_FATAL, "temporary created here", 0, true, false, false, false, 0)
DIAG(note_constexpr_typeid_polymorphic, CLASS_NOTE, diag::MAP_FATAL, "typeid applied to expression of polymorphic type %0 is not allowed in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_var_init_non_constant, CLASS_NOTE, diag::MAP_FATAL, "initializer of %0 is not a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_virtual_base, CLASS_NOTE, diag::MAP_FATAL, "cannot construct object of type %0 with virtual base class in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_virtual_call, CLASS_NOTE, diag::MAP_FATAL, "cannot evaluate virtual function call in a constant expression", 0, true, false, false, false, 0)
DIAG(note_constexpr_void_comparison, CLASS_NOTE, diag::MAP_FATAL, "comparison between unequal pointers to void has unspecified result", 0, true, false, false, false, 0)
DIAG(note_expr_divide_by_zero, CLASS_NOTE, diag::MAP_FATAL, "division by zero", 0, true, false, false, false, 0)
DIAG(note_odr_base, CLASS_NOTE, diag::MAP_FATAL, "class has base type %0", 0, true, false, false, false, 0)
DIAG(note_odr_bit_field, CLASS_NOTE, diag::MAP_FATAL, "bit-field %0 with type %1 and length %2 here", 0, true, false, false, false, 0)
DIAG(note_odr_defined_here, CLASS_NOTE, diag::MAP_FATAL, "also defined here", 0, true, false, false, false, 0)
DIAG(note_odr_enumerator, CLASS_NOTE, diag::MAP_FATAL, "enumerator %0 with value %1 here", 0, true, false, false, false, 0)
DIAG(note_odr_field, CLASS_NOTE, diag::MAP_FATAL, "field %0 has type %1 here", 0, true, false, false, false, 0)
DIAG(note_odr_missing_base, CLASS_NOTE, diag::MAP_FATAL, "no corresponding base class here", 0, true, false, false, false, 0)
DIAG(note_odr_missing_enumerator, CLASS_NOTE, diag::MAP_FATAL, "no corresponding enumerator here", 0, true, false, false, false, 0)
DIAG(note_odr_missing_field, CLASS_NOTE, diag::MAP_FATAL, "no corresponding field here", 0, true, false, false, false, 0)
DIAG(note_odr_not_bit_field, CLASS_NOTE, diag::MAP_FATAL, "field %0 is not a bit-field", 0, true, false, false, false, 0)
DIAG(note_odr_number_of_bases, CLASS_NOTE, diag::MAP_FATAL, "class has %0 base %plural{1:class|:classes}0", 0, true, false, false, false, 0)
DIAG(note_odr_objc_method_here, CLASS_NOTE, diag::MAP_FATAL, "%select{class|instance}0 method %1 also declared here", 0, true, false, false, false, 0)
DIAG(note_odr_objc_missing_superclass, CLASS_NOTE, diag::MAP_FATAL, "no corresponding superclass here", 0, true, false, false, false, 0)
DIAG(note_odr_objc_property_impl_kind, CLASS_NOTE, diag::MAP_FATAL, "property %0 is implemented with %select{@synthesize|@dynamic}1 here", 0, true, false, false, false, 0)
DIAG(note_odr_objc_superclass, CLASS_NOTE, diag::MAP_FATAL, "inherits from superclass %0 here", 0, true, false, false, false, 0)
DIAG(note_odr_objc_synthesize_ivar_here, CLASS_NOTE, diag::MAP_FATAL, "property is synthesized to ivar %0 here", 0, true, false, false, false, 0)
DIAG(note_odr_parameter_pack_non_pack, CLASS_NOTE, diag::MAP_FATAL, "%select{parameter|parameter pack}0 declared here", 0, true, false, false, false, 0)
DIAG(note_odr_tag_kind_here, CLASS_NOTE, diag::MAP_FATAL, "%0 is a %select{struct|interface|union|class|enum}1 here", 0, true, false, false, false, 0)
DIAG(note_odr_template_parameter_here, CLASS_NOTE, diag::MAP_FATAL, "template parameter declared here", 0, true, false, false, false, 0)
DIAG(note_odr_template_parameter_list, CLASS_NOTE, diag::MAP_FATAL, "template parameter list also declared here", 0, true, false, false, false, 0)
DIAG(note_odr_value_here, CLASS_NOTE, diag::MAP_FATAL, "declared here with type %0", 0, true, false, false, false, 0)
DIAG(note_odr_virtual_base, CLASS_NOTE, diag::MAP_FATAL, "%select{non-virtual|virtual}0 derivation here", 0, true, false, false, false, 0)
DIAG(warn_integer_constant_overflow, CLASS_WARNING, diag::MAP_WARNING, "overflow in expression; result is %0 with type %1", 176, true, false, false, false, 0)
DIAG(warn_odr_tag_type_inconsistent, CLASS_WARNING, diag::MAP_WARNING, "type %0 has incompatible definitions in different translation units", 253, true, false, false, false, 0)

View File

@@ -0,0 +1,5 @@
#ifdef ANALYSISSTART
__ANALYSISSTART = DIAG_START_ANALYSIS,
#undef ANALYSISSTART
#endif

View File

@@ -0,0 +1,36 @@
#ifdef COMMENTSTART
__COMMENTSTART = DIAG_START_COMMENT,
#undef COMMENTSTART
#endif
DIAG(note_add_deprecation_attr, CLASS_NOTE, diag::MAP_FATAL, "add a deprecation attribute to the declaration to silence this warning", 0, true, false, false, false, 15)
DIAG(note_doc_block_command_previous, CLASS_NOTE, diag::MAP_FATAL, "previous command '%select{\\|@}0%1' here", 0, true, false, false, false, 15)
DIAG(note_doc_block_command_previous_alias, CLASS_NOTE, diag::MAP_FATAL, "previous command '%select{\\|@}0%1' (an alias of '\\%2') here", 0, true, false, false, false, 15)
DIAG(note_doc_html_end_tag, CLASS_NOTE, diag::MAP_FATAL, "end tag", 0, true, false, false, false, 15)
DIAG(note_doc_html_tag_started_here, CLASS_NOTE, diag::MAP_FATAL, "HTML tag started here", 0, true, false, false, false, 15)
DIAG(note_doc_param_name_suggestion, CLASS_NOTE, diag::MAP_FATAL, "did you mean '%0'?", 0, true, false, false, false, 15)
DIAG(note_doc_param_previous, CLASS_NOTE, diag::MAP_FATAL, "previous documentation", 0, true, false, false, false, 15)
DIAG(note_doc_tparam_name_suggestion, CLASS_NOTE, diag::MAP_FATAL, "did you mean '%0'?", 0, true, false, false, false, 15)
DIAG(note_doc_tparam_previous, CLASS_NOTE, diag::MAP_FATAL, "previous documentation", 0, true, false, false, false, 15)
DIAG(warn_doc_api_container_decl_mismatch, CLASS_WARNING, diag::MAP_IGNORE, "'%select{\\|@}0%select{class|interface|protocol|struct|union}1' command should not be used in a comment attached to a non-%select{class|interface|protocol|struct|union}2 declaration", 107, true, false, false, false, 15)
DIAG(warn_doc_block_command_duplicate, CLASS_WARNING, diag::MAP_IGNORE, "duplicated command '%select{\\|@}0%1'", 107, true, false, false, false, 15)
DIAG(warn_doc_block_command_empty_paragraph, CLASS_WARNING, diag::MAP_IGNORE, "empty paragraph passed to '%select{\\|@}0%1' command", 107, true, false, false, false, 15)
DIAG(warn_doc_container_decl_mismatch, CLASS_WARNING, diag::MAP_IGNORE, "'%select{\\|@}0%select{classdesign|coclass|dependency|helper|helperclass|helps|instancesize|ownership|performance|security|superclass}1' command should not be used in a comment attached to a non-container declaration", 107, true, false, false, false, 15)
DIAG(warn_doc_deprecated_not_sync, CLASS_WARNING, diag::MAP_IGNORE, "declaration is marked with '\\deprecated' command but does not have a deprecation attribute", 108, true, false, false, false, 15)
DIAG(warn_doc_function_method_decl_mismatch, CLASS_WARNING, diag::MAP_IGNORE, "'%select{\\|@}0%select{function|functiongroup|method|methodgroup|callback}1' command should be used in a comment attached to %select{a function|a function|an Objective-C method|an Objective-C method|a pointer to function}2 declaration", 107, true, false, false, false, 15)
DIAG(warn_doc_html_end_forbidden, CLASS_WARNING, diag::MAP_IGNORE, "HTML end tag '%0' is forbidden", 109, true, false, false, false, 15)
DIAG(warn_doc_html_end_unbalanced, CLASS_WARNING, diag::MAP_IGNORE, "HTML end tag does not match any start tag", 109, true, false, false, false, 15)
DIAG(warn_doc_html_start_end_mismatch, CLASS_WARNING, diag::MAP_IGNORE, "HTML start tag '%0' closed by '%1'", 109, true, false, false, false, 15)
DIAG(warn_doc_html_start_tag_expected_ident_or_greater, CLASS_WARNING, diag::MAP_IGNORE, "HTML start tag prematurely ended, expected attribute name or '>'", 107, true, false, false, false, 15)
DIAG(warn_doc_html_start_tag_expected_quoted_string, CLASS_WARNING, diag::MAP_IGNORE, "expected quoted string after equals sign", 107, true, false, false, false, 15)
DIAG(warn_doc_param_duplicate, CLASS_WARNING, diag::MAP_IGNORE, "parameter '%0' is already documented", 107, true, false, false, false, 15)
DIAG(warn_doc_param_invalid_direction, CLASS_WARNING, diag::MAP_IGNORE, "unrecognized parameter passing direction, valid directions are '[in]', '[out]' and '[in,out]'", 107, true, false, false, false, 15)
DIAG(warn_doc_param_not_attached_to_a_function_decl, CLASS_WARNING, diag::MAP_IGNORE, "'%select{\\|@}0param' command used in a comment that is not attached to a function declaration", 107, true, false, false, false, 15)
DIAG(warn_doc_param_not_found, CLASS_WARNING, diag::MAP_IGNORE, "parameter '%0' not found in the function declaration", 107, true, false, false, false, 15)
DIAG(warn_doc_param_spaces_in_direction, CLASS_WARNING, diag::MAP_IGNORE, "whitespace is not allowed in parameter passing direction", 110, true, false, false, false, 15)
DIAG(warn_doc_returns_attached_to_a_void_function, CLASS_WARNING, diag::MAP_IGNORE, "'%select{\\|@}0%1' command used in a comment that is attached to a %select{function returning void|constructor|destructor|method returning void}2", 107, true, false, false, false, 15)
DIAG(warn_doc_returns_not_attached_to_a_function_decl, CLASS_WARNING, diag::MAP_IGNORE, "'%select{\\|@}0%1' command used in a comment that is not attached to a function or method declaration", 107, true, false, false, false, 15)
DIAG(warn_doc_tparam_duplicate, CLASS_WARNING, diag::MAP_IGNORE, "template parameter '%0' is already documented", 107, true, false, false, false, 15)
DIAG(warn_doc_tparam_not_attached_to_a_template_decl, CLASS_WARNING, diag::MAP_IGNORE, "'%select{\\|@}0tparam' command used in a comment that is not attached to a template declaration", 107, true, false, false, false, 15)
DIAG(warn_doc_tparam_not_found, CLASS_WARNING, diag::MAP_IGNORE, "template parameter '%0' not found in the template declaration", 107, true, false, false, false, 15)
DIAG(warn_verbatim_block_end_without_start, CLASS_WARNING, diag::MAP_IGNORE, "'%select{\\|@}0%1' command does not terminate a verbatim text block", 107, true, false, false, false, 15)

View File

@@ -0,0 +1,57 @@
#ifdef COMMONSTART
__COMMONSTART = DIAG_START_COMMON,
#undef COMMONSTART
#endif
DIAG(err_attribute_not_type_attr, CLASS_ERROR, diag::MAP_ERROR, "%0 attribute cannot be applied to types", 0, true, false, false, false, 0)
DIAG(err_cannot_open_file, CLASS_ERROR, diag::MAP_FATAL, "cannot open file '%0': %1", 0, true, false, false, false, 0)
DIAG(err_default_special_members, CLASS_ERROR, diag::MAP_ERROR, "only special member functions may be defaulted", 0, true, false, false, false, 0)
DIAG(err_deleted_non_function, CLASS_ERROR, diag::MAP_ERROR, "only functions can have deleted definitions", 0, true, false, false, false, 0)
DIAG(err_enum_template, CLASS_ERROR, diag::MAP_ERROR, "enumeration cannot be a template", 0, true, false, false, false, 0)
DIAG(err_expected_colon, CLASS_ERROR, diag::MAP_ERROR, "expected ':'", 0, true, false, false, false, 0)
DIAG(err_expected_colon_after_setter_name, CLASS_ERROR, diag::MAP_ERROR, "method name referenced in property setter attribute must end with ':'", 0, true, false, false, false, 0)
DIAG(err_expected_namespace_name, CLASS_ERROR, diag::MAP_ERROR, "expected namespace name", 0, true, false, false, false, 0)
DIAG(err_expected_string_literal, CLASS_ERROR, diag::MAP_ERROR, "expected string literal %select{in %1|for diagnostic message in static_assert|for optional message in 'availability' attribute}0", 0, true, false, false, false, 0)
DIAG(err_file_modified, CLASS_ERROR, diag::MAP_FATAL, "file '%0' modified since it was first processed", 0, true, false, false, false, 0)
DIAG(err_invalid_character_udl, CLASS_ERROR, diag::MAP_ERROR, "character literal with user-defined suffix cannot be used here", 0, true, false, false, false, 0)
DIAG(err_invalid_numeric_udl, CLASS_ERROR, diag::MAP_ERROR, "numeric literal with user-defined suffix cannot be used here", 0, true, false, false, false, 0)
DIAG(err_invalid_storage_class_in_func_decl, CLASS_ERROR, diag::MAP_ERROR, "invalid storage class specifier in function declarator", 0, true, false, false, false, 0)
DIAG(err_invalid_string_udl, CLASS_ERROR, diag::MAP_ERROR, "string literal with user-defined suffix cannot be used here", 0, true, false, false, false, 0)
DIAG(err_module_cycle, CLASS_ERROR, diag::MAP_FATAL, "cyclic dependency in module '%0': %1", 0, true, false, false, false, 0)
DIAG(err_module_file_conflict, CLASS_ERROR, diag::MAP_ERROR, "module '%0' found in both '%1' and '%2'", 0, true, false, false, false, 0)
DIAG(err_module_not_built, CLASS_ERROR, diag::MAP_FATAL, "could not build module '%0'", 0, true, false, false, false, 0)
DIAG(err_module_not_found, CLASS_ERROR, diag::MAP_FATAL, "module '%0' not found", 0, true, false, false, false, 0)
DIAG(err_param_redefinition, CLASS_ERROR, diag::MAP_ERROR, "redefinition of parameter %0", 0, true, false, false, false, 0)
DIAG(err_target_invalid_feature, CLASS_ERROR, diag::MAP_ERROR, "invalid target feature '%0'", 0, true, false, false, false, 0)
DIAG(err_target_unknown_abi, CLASS_ERROR, diag::MAP_ERROR, "unknown target ABI '%0'", 0, true, false, false, false, 0)
DIAG(err_target_unknown_cpu, CLASS_ERROR, diag::MAP_ERROR, "unknown target CPU '%0'", 0, true, false, false, false, 0)
DIAG(err_target_unknown_cxxabi, CLASS_ERROR, diag::MAP_ERROR, "unknown C++ ABI '%0'", 0, true, false, false, false, 0)
DIAG(err_target_unknown_triple, CLASS_ERROR, diag::MAP_ERROR, "unknown target triple '%0', please use -triple or -arch", 0, true, false, false, false, 0)
DIAG(err_unable_to_make_temp, CLASS_ERROR, diag::MAP_ERROR, "unable to make temporary file: %0", 0, true, false, false, false, 0)
DIAG(err_unable_to_rename_temp, CLASS_ERROR, diag::MAP_ERROR, "unable to rename temporary '%0' to output file '%1': '%2'", 0, true, false, false, false, 0)
DIAG(err_unsupported_bom, CLASS_ERROR, diag::MAP_FATAL, "%0 byte order mark detected in '%1', but encoding is not supported", 0, true, false, false, false, 0)
DIAG(ext_c99_longlong, CLASS_EXTENSION, diag::MAP_IGNORE, "'long long' is an extension when C99 mode is not enabled", 192, true, false, false, false, 0)
DIAG(ext_cxx11_longlong, CLASS_EXTENSION, diag::MAP_IGNORE, "'long long' is a C++11 extension", 55, true, false, false, false, 0)
DIAG(ext_variadic_templates, CLASS_EXTENSION, diag::MAP_WARNING, "variadic templates are a C++11 extension", 53, true, false, false, false, 0)
DIAG(fatal_too_many_errors, CLASS_ERROR, diag::MAP_FATAL, "too many errors emitted, stopping now", 0, true, false, false, false, 0)
DIAG(note_also_found, CLASS_NOTE, diag::MAP_FATAL, "also found", 0, true, false, false, false, 0)
DIAG(note_decl_hiding_tag_type, CLASS_NOTE, diag::MAP_FATAL, "%1 %0 is hidden by a non-type declaration of %0 here", 0, true, false, false, false, 0)
DIAG(note_declared_at, CLASS_NOTE, diag::MAP_FATAL, "declared here", 0, true, false, false, false, 0)
DIAG(note_duplicate_case_prev, CLASS_NOTE, diag::MAP_FATAL, "previous case defined here", 0, true, false, false, false, 0)
DIAG(note_forward_declaration, CLASS_NOTE, diag::MAP_FATAL, "forward declaration of %0", 0, true, false, false, false, 0)
DIAG(note_invalid_subexpr_in_const_expr, CLASS_NOTE, diag::MAP_FATAL, "subexpression not valid in a constant expression", 0, true, false, false, false, 0)
DIAG(note_matching, CLASS_NOTE, diag::MAP_FATAL, "to match this '%0'", 0, true, false, false, false, 0)
DIAG(note_possibility, CLASS_NOTE, diag::MAP_FATAL, "one possibility", 0, true, false, false, false, 0)
DIAG(note_pragma_entered_here, CLASS_NOTE, diag::MAP_FATAL, "#pragma entered here", 0, true, false, false, false, 0)
DIAG(note_previous_declaration, CLASS_NOTE, diag::MAP_FATAL, "previous declaration is here", 0, true, false, false, false, 0)
DIAG(note_previous_definition, CLASS_NOTE, diag::MAP_FATAL, "previous definition is here", 0, true, false, false, false, 0)
DIAG(note_previous_implicit_declaration, CLASS_NOTE, diag::MAP_FATAL, "previous implicit declaration is here", 0, true, false, false, false, 0)
DIAG(note_previous_use, CLASS_NOTE, diag::MAP_FATAL, "previous use is here", 0, true, false, false, false, 0)
DIAG(note_type_being_defined, CLASS_NOTE, diag::MAP_FATAL, "definition of %0 is not complete until the closing '}'", 0, true, false, false, false, 0)
DIAG(note_using, CLASS_NOTE, diag::MAP_FATAL, "using", 0, true, false, false, false, 0)
DIAG(warn_cxx98_compat_longlong, CLASS_WARNING, diag::MAP_IGNORE, "'long long' is incompatible with C++98", 61, true, false, false, false, 0)
DIAG(warn_cxx98_compat_variadic_templates, CLASS_WARNING, diag::MAP_IGNORE, "variadic templates are incompatible with C++98", 58, true, false, false, false, 0)
DIAG(warn_integer_too_large, CLASS_WARNING, diag::MAP_WARNING, "integer constant is too large for its type", 0, true, false, false, false, 0)
DIAG(warn_integer_too_large_for_signed, CLASS_WARNING, diag::MAP_WARNING, "integer constant is so large that it is unsigned", 0, true, false, false, false, 0)
DIAG(warn_method_param_declaration, CLASS_WARNING, diag::MAP_IGNORE, "redeclaration of method parameter %0", 114, true, false, false, false, 0)
DIAG(warn_method_param_redefinition, CLASS_WARNING, diag::MAP_WARNING, "redefinition of method parameter %0", 0, true, false, false, false, 0)

View File

@@ -0,0 +1,75 @@
#ifdef DRIVERSTART
__DRIVERSTART = DIAG_START_DRIVER,
#undef DRIVERSTART
#endif
DIAG(err_analyzer_config_multiple_values, CLASS_ERROR, diag::MAP_ERROR, "analyzer-config option '%0' should contain only one '='", 0, true, false, false, false, 0)
DIAG(err_analyzer_config_no_value, CLASS_ERROR, diag::MAP_ERROR, "analyzer-config option '%0' has a key but no value", 0, true, false, false, false, 0)
DIAG(err_arc_unsupported_on_runtime, CLASS_ERROR, diag::MAP_ERROR, "-fobjc-arc is not supported on platforms using the legacy runtime", 0, true, false, false, false, 0)
DIAG(err_arc_unsupported_on_toolchain, CLASS_ERROR, diag::MAP_ERROR, "-fobjc-arc is not supported on versions of OS X prior to 10.6", 0, true, false, false, false, 0)
DIAG(err_drv_I_dash_not_supported, CLASS_ERROR, diag::MAP_ERROR, "'%0' not supported, please use -iquote instead", 0, true, false, false, false, 0)
DIAG(err_drv_argument_not_allowed_with, CLASS_ERROR, diag::MAP_ERROR, "invalid argument '%0' not allowed with '%1'", 0, true, false, false, false, 0)
DIAG(err_drv_argument_only_allowed_with, CLASS_ERROR, diag::MAP_ERROR, "invalid argument '%0' only allowed with '%1'", 0, true, false, false, false, 0)
DIAG(err_drv_cc_print_options_failure, CLASS_ERROR, diag::MAP_ERROR, "unable to open CC_PRINT_OPTIONS file: %0", 0, true, false, false, false, 0)
DIAG(err_drv_clang_unsupported, CLASS_ERROR, diag::MAP_ERROR, "the clang compiler does not support '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_clang_unsupported_opt_cxx_darwin_i386, CLASS_ERROR, diag::MAP_ERROR, "the clang compiler does not support '%0' for C++ on Darwin/i386", 0, true, false, false, false, 0)
DIAG(err_drv_clang_unsupported_per_platform, CLASS_ERROR, diag::MAP_ERROR, "the clang compiler does not support '%0' on this platform", 0, true, false, false, false, 0)
DIAG(err_drv_command_failed, CLASS_ERROR, diag::MAP_ERROR, "%0 command failed with exit code %1 (use -v to see invocation)", 0, true, false, false, false, 0)
DIAG(err_drv_command_failure, CLASS_ERROR, diag::MAP_ERROR, "unable to execute command: %0", 0, true, false, false, false, 0)
DIAG(err_drv_command_signalled, CLASS_ERROR, diag::MAP_ERROR, "%0 command failed due to signal (use -v to see invocation)", 0, true, false, false, false, 0)
DIAG(err_drv_conflicting_deployment_targets, CLASS_ERROR, diag::MAP_ERROR, "conflicting deployment targets, both '%0' and '%1' are present in environment", 0, true, false, false, false, 0)
DIAG(err_drv_force_crash, CLASS_ERROR, diag::MAP_ERROR, "failing because environment variable '%0' is set", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_Xarch_argument_isdriver, CLASS_ERROR, diag::MAP_ERROR, "invalid Xarch argument: '%0', cannot change driver behavior inside Xarch argument", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_Xarch_argument_with_args, CLASS_ERROR, diag::MAP_ERROR, "invalid Xarch argument: '%0', options requiring arguments are unsupported", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_arch_for_deployment_target, CLASS_ERROR, diag::MAP_ERROR, "invalid architecture '%0' for deployment target '%1'", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_arch_name, CLASS_ERROR, diag::MAP_ERROR, "invalid arch name '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_darwin_version, CLASS_ERROR, diag::MAP_ERROR, "invalid Darwin version number: %0", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_feature, CLASS_ERROR, diag::MAP_ERROR, "invalid feature '%0' for CPU '%1'", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_gcc_output_type, CLASS_ERROR, diag::MAP_ERROR, "invalid output type '%0' for use with gcc tool", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_int_value, CLASS_ERROR, diag::MAP_ERROR, "invalid integral value '%1' in '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_libcxx_deployment, CLASS_ERROR, diag::MAP_ERROR, "invalid deployment target for -stdlib=libc++ (requires %0 or later)", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_mfloat_abi, CLASS_ERROR, diag::MAP_ERROR, "invalid float ABI '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_opt_with_multiple_archs, CLASS_ERROR, diag::MAP_ERROR, "option '%0' cannot be used with multiple -arch options", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_output_with_multiple_archs, CLASS_ERROR, diag::MAP_ERROR, "cannot use '%0' output with multiple -arch options", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_remap_file, CLASS_ERROR, diag::MAP_ERROR, "invalid option '%0' not of the form <from-file>;<to-file>", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_rtlib_name, CLASS_ERROR, diag::MAP_ERROR, "invalid runtime library name in argument '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_stdlib_name, CLASS_ERROR, diag::MAP_ERROR, "invalid library name in argument '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_value, CLASS_ERROR, diag::MAP_ERROR, "invalid value '%1' in '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_invalid_version_number, CLASS_ERROR, diag::MAP_ERROR, "invalid version number in '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_mg_requires_m_or_mm, CLASS_ERROR, diag::MAP_ERROR, "option '-MG' requires '-M' or '-MM'", 0, true, false, false, false, 0)
DIAG(err_drv_missing_argument, CLASS_ERROR, diag::MAP_ERROR, "argument to '%0' is missing (expected %1 value%s1)", 0, true, false, false, false, 0)
DIAG(err_drv_no_ast_support, CLASS_ERROR, diag::MAP_ERROR, "'%0': unable to use AST files with this tool", 0, true, false, false, false, 0)
DIAG(err_drv_no_input_files, CLASS_ERROR, diag::MAP_ERROR, "no input files", 0, true, false, false, false, 0)
DIAG(err_drv_no_linker_llvm_support, CLASS_ERROR, diag::MAP_ERROR, "'%0': unable to pass LLVM bit-code files to linker", 0, true, false, false, false, 0)
DIAG(err_drv_no_module_support, CLASS_ERROR, diag::MAP_ERROR, "'%0': unable to use module files with this tool", 0, true, false, false, false, 0)
DIAG(err_drv_no_such_file, CLASS_ERROR, diag::MAP_ERROR, "no such file or directory: '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_objc_gc_arr, CLASS_ERROR, diag::MAP_ERROR, "cannot specify both '-fobjc-arc' and '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_output_argument_with_multiple_files, CLASS_ERROR, diag::MAP_ERROR, "cannot specify -o when generating multiple output files", 0, true, false, false, false, 0)
DIAG(err_drv_preamble_format, CLASS_ERROR, diag::MAP_ERROR, "incorrect format for -preamble-bytes=N,END", 0, true, false, false, false, 0)
DIAG(err_drv_unable_to_remove_file, CLASS_ERROR, diag::MAP_ERROR, "unable to remove file: %0", 0, true, false, false, false, 0)
DIAG(err_drv_unknown_argument, CLASS_ERROR, diag::MAP_ERROR, "unknown argument: '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_unknown_language, CLASS_ERROR, diag::MAP_ERROR, "language not recognized: '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_unknown_objc_runtime, CLASS_ERROR, diag::MAP_ERROR, "unknown or ill-formed Objective-C runtime '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_unknown_stdin_type, CLASS_ERROR, diag::MAP_ERROR, "-E or -x required when input is from standard input", 0, true, false, false, false, 0)
DIAG(err_drv_unsupported_opt, CLASS_ERROR, diag::MAP_ERROR, "unsupported option '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_unsupported_opt_for_target, CLASS_ERROR, diag::MAP_ERROR, "unsupported option '%0' for target '%1'", 0, true, false, false, false, 0)
DIAG(err_drv_unsupported_option_argument, CLASS_ERROR, diag::MAP_ERROR, "unsupported argument '%1' to option '%0'", 0, true, false, false, false, 0)
DIAG(err_drv_unsupported_rtlib_for_platform, CLASS_ERROR, diag::MAP_ERROR, "unsupported runtime library '%0' for platform '%1'", 0, true, false, false, false, 0)
DIAG(err_drv_use_of_Z_option, CLASS_ERROR, diag::MAP_ERROR, "unsupported use of internal gcc -Z option '%0'", 0, true, false, false, false, 0)
DIAG(err_no_external_windows_assembler, CLASS_ERROR, diag::MAP_ERROR, "there is no external assembler we can use on windows", 0, true, false, false, false, 0)
DIAG(note_drv_command_failed_diag_msg, CLASS_NOTE, diag::MAP_FATAL, "diagnostic msg: %0", 0, true, false, false, false, 0)
DIAG(warn_c_kext, CLASS_WARNING, diag::MAP_WARNING, "ignoring -fapple-kext which is valid for C++ and Objective-C++ only", 0, true, false, false, false, 0)
DIAG(warn_drv_assuming_mfloat_abi_is, CLASS_WARNING, diag::MAP_WARNING, "unknown platform, assuming -mfloat-abi=%0", 0, true, false, false, false, 0)
DIAG(warn_drv_clang_unsupported, CLASS_WARNING, diag::MAP_WARNING, "the clang compiler does not support '%0'", 0, true, false, false, false, 0)
DIAG(warn_drv_deprecated_arg, CLASS_WARNING, diag::MAP_WARNING, "argument '%0' is deprecated, use '%1' instead", 95, true, false, false, false, 19)
DIAG(warn_drv_empty_joined_argument, CLASS_WARNING, diag::MAP_WARNING, "joined argument expects additional value: '%0'", 371, true, false, false, false, 0)
DIAG(warn_drv_input_file_unused, CLASS_WARNING, diag::MAP_WARNING, "%0: '%1' input unused%select{ when '%3' is present|}2", 371, true, false, false, false, 0)
DIAG(warn_drv_input_file_unused_by_cpp, CLASS_WARNING, diag::MAP_WARNING, "%0: '%1' input unused in cpp mode", 371, true, false, false, false, 0)
DIAG(warn_drv_objc_gc_unsupported, CLASS_WARNING, diag::MAP_WARNING, "Objective-C garbage collection is not supported on this platform, ignoring '%0'", 0, true, false, false, false, 0)
DIAG(warn_drv_pch_not_first_include, CLASS_WARNING, diag::MAP_WARNING, "precompiled header '%0' was ignored because '%1' is not first '-include'", 0, true, false, false, false, 0)
DIAG(warn_drv_preprocessed_input_file_unused, CLASS_WARNING, diag::MAP_WARNING, "%0: previously preprocessed input%select{ unused when '%2' is present|}1", 371, true, false, false, false, 0)
DIAG(warn_drv_treating_input_as_cxx, CLASS_WARNING, diag::MAP_WARNING, "treating '%0' input as '%1' when in C++ mode, this behavior is deprecated", 95, true, false, false, false, 19)
DIAG(warn_drv_unused_argument, CLASS_WARNING, diag::MAP_WARNING, "argument unused during compilation: '%0'", 371, true, false, false, false, 0)
DIAG(warn_drv_unused_sanitizer, CLASS_WARNING, diag::MAP_WARNING, "'%0' is ignored in absence of '%1'", 381, true, false, false, false, 0)
DIAG(warn_ignoring_ftabstop_value, CLASS_WARNING, diag::MAP_WARNING, "ignoring invalid -ftabstop value '%0', using default value %1", 0, true, false, false, false, 0)
DIAG(warn_missing_sysroot, CLASS_WARNING, diag::MAP_WARNING, "no such sysroot directory: '%0'", 213, true, false, false, false, 0)

View File

@@ -0,0 +1,65 @@
#ifdef FRONTENDSTART
__FRONTENDSTART = DIAG_START_FRONTEND,
#undef FRONTENDSTART
#endif
DIAG(err_fe_action_not_available, CLASS_ERROR, diag::MAP_ERROR, "action %0 not compiled in", 0, true, false, false, false, 0)
DIAG(err_fe_cannot_link_module, CLASS_ERROR, diag::MAP_FATAL, "cannot link module '%0': %1", 0, true, false, false, false, 0)
DIAG(err_fe_dependency_file_requires_MT, CLASS_ERROR, diag::MAP_ERROR, "-dependency-file requires at least one -MT or -MQ option", 0, true, false, false, false, 0)
DIAG(err_fe_error_backend, CLASS_ERROR, diag::MAP_FATAL, "error in backend: %0", 0, true, false, false, false, 0)
DIAG(err_fe_error_opening, CLASS_ERROR, diag::MAP_ERROR, "error opening '%0': %1", 0, true, false, false, false, 0)
DIAG(err_fe_error_reading, CLASS_ERROR, diag::MAP_ERROR, "error reading '%0'", 0, true, false, false, false, 0)
DIAG(err_fe_error_reading_stdin, CLASS_ERROR, diag::MAP_ERROR, "error reading stdin", 0, true, false, false, false, 0)
DIAG(err_fe_expected_clang_command, CLASS_ERROR, diag::MAP_ERROR, "expected a clang compiler command", 0, true, false, false, false, 0)
DIAG(err_fe_expected_compiler_job, CLASS_ERROR, diag::MAP_ERROR, "unable to handle compilation, expected exactly one compiler job in '%0'", 0, true, false, false, false, 0)
DIAG(err_fe_inline_asm, CLASS_ERROR, diag::MAP_ERROR, "%0", 0, true, false, false, false, 11)
DIAG(err_fe_invalid_code_complete_file, CLASS_ERROR, diag::MAP_FATAL, "cannot locate code-completion file %0", 0, true, false, false, false, 0)
DIAG(err_fe_invalid_plugin_name, CLASS_ERROR, diag::MAP_ERROR, "unable to find plugin '%0'", 0, true, false, false, false, 0)
DIAG(err_fe_no_pch_in_dir, CLASS_ERROR, diag::MAP_ERROR, "no suitable precompiled header file found in directory '%0'", 0, true, false, false, false, 0)
DIAG(err_fe_pth_file_has_no_source_header, CLASS_ERROR, diag::MAP_ERROR, "PTH file '%0' does not designate an original source header file for -include-pth", 0, true, false, false, false, 0)
DIAG(err_fe_remap_missing_from_file, CLASS_ERROR, diag::MAP_FATAL, "could not remap from missing file '%0'", 0, true, false, false, false, 0)
DIAG(err_fe_remap_missing_to_file, CLASS_ERROR, diag::MAP_FATAL, "could not remap file '%0' to the contents of file '%1'", 0, true, false, false, false, 0)
DIAG(err_fe_stdout_binary, CLASS_ERROR, diag::MAP_FATAL, "unable to change standard output to binary", 0, true, false, false, false, 0)
DIAG(err_fe_unable_to_create_target, CLASS_ERROR, diag::MAP_ERROR, "unable to create target: '%0'", 0, true, false, false, false, 0)
DIAG(err_fe_unable_to_interface_with_target, CLASS_ERROR, diag::MAP_ERROR, "unable to interface with target machine", 0, true, false, false, false, 0)
DIAG(err_fe_unable_to_load_pch, CLASS_ERROR, diag::MAP_ERROR, "unable to load PCH file", 0, true, false, false, false, 0)
DIAG(err_fe_unable_to_load_plugin, CLASS_ERROR, diag::MAP_ERROR, "unable to load plugin '%0': '%1'", 0, true, false, false, false, 0)
DIAG(err_fe_unable_to_open_output, CLASS_ERROR, diag::MAP_ERROR, "unable to open output file '%0': '%1'", 0, true, false, false, false, 0)
DIAG(err_missing_module, CLASS_ERROR, diag::MAP_FATAL, "no module named '%0' declared in module map file '%1'", 0, true, false, false, false, 0)
DIAG(err_missing_module_name, CLASS_ERROR, diag::MAP_FATAL, "no module name provided; specify one with -fmodule-name=", 0, true, false, false, false, 0)
DIAG(err_module_map_not_found, CLASS_ERROR, diag::MAP_FATAL, "module map file '%0' not found", 0, true, false, false, false, 0)
DIAG(err_module_map_temp_file, CLASS_ERROR, diag::MAP_FATAL, "unable to write temporary module map file '%0'", 0, true, false, false, false, 0)
DIAG(err_module_unavailable, CLASS_ERROR, diag::MAP_ERROR, "module '%0' requires feature '%1'", 0, true, false, false, false, 0)
DIAG(err_no_submodule, CLASS_ERROR, diag::MAP_ERROR, "no submodule named %0 in module '%1'", 0, true, false, false, false, 0)
DIAG(err_no_submodule_suggest, CLASS_ERROR, diag::MAP_ERROR, "no submodule named %0 in module '%1'; did you mean '%2'?", 0, true, false, false, false, 0)
DIAG(err_relocatable_without_isysroot, CLASS_ERROR, diag::MAP_ERROR, "must specify system root with -isysroot when building a relocatable PCH file", 0, true, false, false, false, 0)
DIAG(err_unknown_analyzer_checker, CLASS_ERROR, diag::MAP_ERROR, "no analyzer checkers are associated with '%0'", 0, true, false, false, false, 0)
DIAG(err_verify_inconsistent_diags, CLASS_ERROR, diag::MAP_ERROR, "'%0' diagnostics %select{expected|seen}1 but not %select{seen|expected}1: %2", 0, true, false, false, false, 0)
DIAG(err_verify_invalid_content, CLASS_ERROR, diag::MAP_ERROR, "invalid expected %0: %1", 0, true, false, false, false, 0)
DIAG(err_verify_invalid_no_diags, CLASS_ERROR, diag::MAP_ERROR, "%select{expected|'expected-no-diagnostics'}0 directive cannot follow %select{'expected-no-diagnostics' directive|other expected directives}0", 0, true, false, false, false, 0)
DIAG(err_verify_invalid_range, CLASS_ERROR, diag::MAP_ERROR, "invalid range following '-' in expected %0", 0, true, false, false, false, 0)
DIAG(err_verify_missing_end, CLASS_ERROR, diag::MAP_ERROR, "cannot find end ('}}') of expected %0", 0, true, false, false, false, 0)
DIAG(err_verify_missing_file, CLASS_ERROR, diag::MAP_ERROR, "file '%0' could not be located in expected %1", 0, true, false, false, false, 0)
DIAG(err_verify_missing_line, CLASS_ERROR, diag::MAP_ERROR, "missing or invalid line number following '@' in expected %0", 0, true, false, false, false, 0)
DIAG(err_verify_missing_start, CLASS_ERROR, diag::MAP_ERROR, "cannot find start ('{{') of expected %0", 0, true, false, false, false, 0)
DIAG(err_verify_no_directives, CLASS_ERROR, diag::MAP_ERROR, "no expected directives found: consider use of 'expected-no-diagnostics'", 0, true, false, false, false, 0)
DIAG(note_fe_inline_asm_here, CLASS_NOTE, diag::MAP_FATAL, "instantiated into assembly here", 0, true, false, false, false, 0)
DIAG(note_fixit_applied, CLASS_NOTE, diag::MAP_FATAL, "FIX-IT applied suggested code changes", 0, true, false, false, false, 0)
DIAG(note_fixit_failed, CLASS_NOTE, diag::MAP_FATAL, "FIX-IT unable to apply suggested code changes", 0, true, false, false, false, 0)
DIAG(note_fixit_in_macro, CLASS_NOTE, diag::MAP_FATAL, "FIX-IT unable to apply suggested code changes in a macro", 0, true, false, false, false, 0)
DIAG(note_fixit_unfixed_error, CLASS_NOTE, diag::MAP_FATAL, "FIX-IT detected an error it cannot fix", 0, true, false, false, false, 0)
DIAG(note_incompatible_analyzer_plugin_api, CLASS_NOTE, diag::MAP_FATAL, "current API version is '%0', but plugin was compiled with version '%1'", 0, true, false, false, false, 0)
DIAG(note_module_def_undef_here, CLASS_NOTE, diag::MAP_FATAL, "macro was %select{defined|#undef'd}0 here", 0, true, false, false, false, 0)
DIAG(warn_fe_cc_log_diagnostics_failure, CLASS_WARNING, diag::MAP_WARNING, "unable to open CC_LOG_DIAGNOSTICS file: %0 (using stderr)", 0, true, false, false, false, 0)
DIAG(warn_fe_cc_print_header_failure, CLASS_WARNING, diag::MAP_WARNING, "unable to open CC_PRINT_HEADERS file: %0 (using stderr)", 0, true, false, false, false, 0)
DIAG(warn_fe_macro_contains_embedded_newline, CLASS_WARNING, diag::MAP_WARNING, "macro '%0' contains embedded newline; text after the newline is ignored", 0, true, false, false, false, 0)
DIAG(warn_fe_serialized_diag_failure, CLASS_WARNING, diag::MAP_WARNING, "unable to open file %0 for serializing diagnostics (%1)", 295, true, false, false, false, 0)
DIAG(warn_fixit_no_changes, CLASS_NOTE, diag::MAP_FATAL, "FIX-IT detected errors it could not fix; no output will be generated", 0, true, false, false, false, 0)
DIAG(warn_incompatible_analyzer_plugin_api, CLASS_WARNING, diag::MAP_WARNING, "checker plugin '%0' is not compatible with this version of the analyzer", 14, true, false, false, false, 0)
DIAG(warn_missing_submodule, CLASS_WARNING, diag::MAP_WARNING, "missing submodule '%0'", 168, true, false, false, false, 0)
DIAG(warn_module_config_macro_undef, CLASS_WARNING, diag::MAP_WARNING, "%select{definition|#undef}0 of configuration macro '%1' has no effect on the import of '%2'; pass '%select{-D%1=...|-U%1}0' on the command line to configure the module", 77, true, false, false, false, 0)
DIAG(warn_unknown_negative_warning_option, CLASS_WARNING, diag::MAP_WARNING, "unknown warning option '%0'", 362, true, false, false, false, 0)
DIAG(warn_unknown_negative_warning_option_suggest, CLASS_WARNING, diag::MAP_WARNING, "unknown warning option '%0'; did you mean '%1'?", 362, true, false, false, false, 0)
DIAG(warn_unknown_warning_option, CLASS_WARNING, diag::MAP_WARNING, "unknown warning option '%0'", 362, true, false, false, false, 0)
DIAG(warn_unknown_warning_option_suggest, CLASS_WARNING, diag::MAP_WARNING, "unknown warning option '%0'; did you mean '%1'?", 362, true, false, false, false, 0)
DIAG(warn_unknown_warning_specifier, CLASS_WARNING, diag::MAP_WARNING, "unknown %0 warning specifier: '%1'", 362, true, false, false, false, 0)

View File

@@ -0,0 +1,822 @@
#ifdef GET_DIAG_ARRAYS
static const short DiagSubGroup0[] = { 128, -1 };
static const short DiagArray1[] = { diag::warn_pragma_message, -1 };
static const short DiagArray2[] = { diag::pp_hash_warning, -1 };
static const short DiagArray3[] = { diag::warn_cfstring_truncated, -1 };
static const short DiagArray4[] = { diag::warn_nsobject_attribute, -1 };
static const short DiagArray6[] = { diag::warn_abstract_final_class, -1 };
static const short DiagArray8[] = { diag::warn_temporary_array_to_pointer_decay, -1 };
static const short DiagArray9[] = { diag::ext_typecheck_addrof_temporary, -1 };
static const short DiagSubGroup11[] = { 216, 265, 336, -1 };
static const short DiagArray12[] = { diag::warn_pp_ambiguous_macro, -1 };
static const short DiagArray13[] = { diag::ext_nested_name_member_ref_lookup_ambiguous, -1 };
static const short DiagArray14[] = { diag::warn_incompatible_analyzer_plugin_api, -1 };
static const short DiagArray15[] = { diag::ext_abstract_pack_declarator_parens, -1 };
static const short DiagSubGroup16[] = { 24, 23, 20, -1 };
static const short DiagArray18[] = { diag::warn_arc_bridge_cast_nonarc, -1 };
static const short DiagArray19[] = { diag::warn_arc_possible_repeated_use_of_weak, -1 };
static const short DiagArray20[] = { diag::warn_arc_object_memaccess, -1 };
static const short DiagArray21[] = { diag::warn_arc_perform_selector_leaks, -1 };
static const short DiagArray22[] = { diag::warn_arc_repeated_use_of_weak, -1 };
static const short DiagSubGroup22[] = { 19, -1 };
static const short DiagArray23[] = { diag::warn_arc_retain_cycle, -1 };
static const short DiagArray24[] = { diag::warn_arc_literal_assign, diag::warn_arc_retained_assign, diag::warn_arc_retained_property_assign, -1 };
static const short DiagArray25[] = { diag::warn_array_index_exceeds_bounds, diag::warn_array_index_precedes_bounds, diag::warn_static_array_too_small, diag::warn_typecheck_zero_static_array_size, -1 };
static const short DiagArray26[] = { diag::warn_ptr_arith_exceeds_bounds, diag::warn_ptr_arith_precedes_bounds, -1 };
static const short DiagSubGroup27[] = { 28, -1 };
static const short DiagArray28[] = { diag::warn_asm_mismatched_size_modifier, -1 };
static const short DiagArray29[] = { diag::warn_not_in_enum_assignement, -1 };
static const short DiagSubGroup30[] = { 154, 85, -1 };
static const short DiagArray31[] = { diag::warn_atomic_property_rule, -1 };
static const short DiagArray32[] = { diag::warn_ms_declspec_unknown, diag::warn_unknown_attribute_ignored, -1 };
static const short DiagArray33[] = { diag::warn_auto_module_import, -1 };
static const short DiagArray34[] = { diag::ext_auto_storage_class, -1 };
static const short DiagArray35[] = { diag::warn_auto_var_is_id, -1 };
static const short DiagArray36[] = { diag::warn_availability_and_unavailable, diag::warn_availability_unknown_platform, diag::warn_availability_version_ordering, diag::warn_mismatched_availability, diag::warn_mismatched_availability_override, diag::warn_mismatched_availability_override_unavail, -1 };
static const short DiagArray37[] = { diag::backslash_newline_space, -1 };
static const short DiagArray38[] = { diag::warn_array_new_too_large, diag::warn_typecheck_negative_array_new_size, -1 };
static const short DiagArray39[] = { diag::warn_bad_function_cast, -1 };
static const short DiagArray40[] = { diag::ext_rvalue_to_reference_access_ctor, diag::ext_rvalue_to_reference_temp_copy_no_viable, -1 };
static const short DiagSubGroup40[] = { 59, -1 };
static const short DiagArray41[] = { diag::warn_bitwise_and_in_bitwise_or, -1 };
static const short DiagArray42[] = { diag::warn_impcast_bool_to_null_pointer, diag::warn_impcast_function_to_bool, -1 };
static const short DiagSubGroup43[] = { 42, -1 };
static const short DiagArray44[] = { diag::ext_pp_redef_builtin_macro, diag::ext_pp_undef_builtin_macro, -1 };
static const short DiagArray45[] = { diag::warn_implicit_decl_requires_setjmp, diag::warn_implicit_decl_requires_stdio, diag::warn_implicit_decl_requires_ucontext, -1 };
static const short DiagArray46[] = { diag::warn_empty_struct_union_compat, -1 };
static const short DiagSubGroup47[] = { 50, -1 };
static const short DiagSubGroup48[] = { 53, -1 };
static const short DiagSubGroup49[] = { 56, -1 };
static const short DiagArray50[] = { diag::warn_auto_storage_class, diag::warn_cxx0x_right_shift_in_template_arg, diag::warn_cxx11_compat_user_defined_literal, diag::warn_cxx11_keyword, diag::warn_explicit_instantiation_inline_0x, diag::warn_explicit_instantiation_must_be_global_0x, diag::warn_explicit_instantiation_out_of_scope_0x, diag::warn_explicit_instantiation_unqualified_wrong_namespace_0x, -1 };
static const short DiagSubGroup50[] = { 56, 52, 86, -1 };
static const short DiagSubGroup51[] = { 87, -1 };
static const short DiagArray52[] = { diag::warn_cxx11_compat_reserved_user_defined_literal, -1 };
static const short DiagArray53[] = { diag::ext_alias_declaration, diag::ext_array_size_conversion, diag::ext_auto_type_specifier, diag::ext_cxx11_enum_fixed_underlying_type, diag::ext_defaulted_function, diag::ext_deleted_function, diag::ext_enumerator_list_comma_cxx, diag::ext_explicit_conversion_functions, diag::ext_explicit_instantiation_after_specialization, diag::ext_extern_template, diag::ext_for_range, diag::ext_generalized_initializer_lists, diag::ext_inline_namespace, diag::ext_nonclass_type_friend, diag::ext_nonstatic_member_init, diag::ext_override_control_keyword, diag::ext_ref_qualifier, diag::ext_rvalue_reference, diag::ext_static_data_member_in_union, diag::ext_template_arg_object_internal, diag::ext_template_outside_of_template, diag::ext_template_parameter_default_in_function_template, diag::ext_template_spec_decl_out_of_scope, diag::ext_typename_outside_of_template, diag::ext_unelaborated_friend_type, diag::ext_variadic_templates, -1 };
static const short DiagSubGroup53[] = { 54, 55, -1 };
static const short DiagArray54[] = { diag::ext_extra_semi_cxx11, -1 };
static const short DiagArray55[] = { diag::ext_cxx11_longlong, -1 };
static const short DiagArray56[] = { diag::err_cce_narrowing, diag::err_init_list_constant_narrowing, diag::err_init_list_type_narrowing, diag::err_init_list_variable_narrowing, diag::warn_init_list_constant_narrowing, diag::warn_init_list_type_narrowing, diag::warn_init_list_variable_narrowing, -1 };
static const short DiagArray57[] = { diag::ext_binary_literal_cxx1y, diag::ext_constexpr_body_invalid_stmt, diag::ext_constexpr_body_multiple_return, diag::ext_constexpr_local_var, diag::ext_constexpr_type_definition, -1 };
static const short DiagArray58[] = { diag::warn_cxx98_compat_alias_declaration, diag::warn_cxx98_compat_alignas, diag::warn_cxx98_compat_alignof, diag::warn_cxx98_compat_attribute, diag::warn_cxx98_compat_auto_type_specifier, diag::warn_cxx98_compat_constexpr, diag::warn_cxx98_compat_ctor_list_init, diag::warn_cxx98_compat_decltype, diag::warn_cxx98_compat_defaulted_function, diag::warn_cxx98_compat_delegating_ctor, diag::warn_cxx98_compat_deleted_function, diag::warn_cxx98_compat_empty_scalar_initializer, diag::warn_cxx98_compat_enum_fixed_underlying_type, diag::warn_cxx98_compat_enum_friend, diag::warn_cxx98_compat_enum_nested_name_spec, diag::warn_cxx98_compat_explicit_conversion_functions, diag::warn_cxx98_compat_for_range, diag::warn_cxx98_compat_friend_is_member, diag::warn_cxx98_compat_friend_redefinition, diag::warn_cxx98_compat_generalized_initializer_lists, diag::warn_cxx98_compat_goto_into_protected_scope, diag::warn_cxx98_compat_indirect_goto_in_protected_scope, diag::warn_cxx98_compat_initializer_list_init, diag::warn_cxx98_compat_inline_namespace, diag::warn_cxx98_compat_lambda, diag::warn_cxx98_compat_less_colon_colon, diag::warn_cxx98_compat_literal_operator, diag::warn_cxx98_compat_literal_ucn_control_character, diag::warn_cxx98_compat_literal_ucn_escape_basic_scs, diag::warn_cxx98_compat_noexcept_decl, diag::warn_cxx98_compat_noexcept_expr, diag::warn_cxx98_compat_non_static_member_use, diag::warn_cxx98_compat_nonclass_type_friend, diag::warn_cxx98_compat_nonstatic_member_init, diag::warn_cxx98_compat_nontrivial_union_or_anon_struct_member, diag::warn_cxx98_compat_nullptr, diag::warn_cxx98_compat_override_control_keyword, diag::warn_cxx98_compat_pass_non_pod_arg_to_vararg, diag::warn_cxx98_compat_raw_string_literal, diag::warn_cxx98_compat_ref_qualifier, diag::warn_cxx98_compat_reference_list_init, diag::warn_cxx98_compat_rvalue_reference, diag::warn_cxx98_compat_scoped_enum, diag::warn_cxx98_compat_sfinae_access_control, diag::warn_cxx98_compat_static_assert, diag::warn_cxx98_compat_static_data_member_in_union, diag::warn_cxx98_compat_switch_into_protected_scope, diag::warn_cxx98_compat_template_arg_extra_parens, diag::warn_cxx98_compat_template_arg_null, diag::warn_cxx98_compat_template_arg_object_internal, diag::warn_cxx98_compat_template_outside_of_template, diag::warn_cxx98_compat_template_parameter_default_in_function_template, diag::warn_cxx98_compat_template_spec_decl_out_of_scope, diag::warn_cxx98_compat_trailing_return_type, diag::warn_cxx98_compat_two_right_angle_brackets, diag::warn_cxx98_compat_typename_outside_of_template, diag::warn_cxx98_compat_unelaborated_friend_type, diag::warn_cxx98_compat_unicode_id, diag::warn_cxx98_compat_unicode_literal, diag::warn_cxx98_compat_unicode_type, diag::warn_cxx98_compat_using_decl_constructor, diag::warn_cxx98_compat_variadic_templates, -1 };
static const short DiagSubGroup58[] = { 59, 60, 62, 86, -1 };
static const short DiagArray59[] = { diag::warn_cxx98_compat_temp_copy, -1 };
static const short DiagArray60[] = { diag::warn_cxx98_compat_template_arg_local_type, -1 };
static const short DiagArray61[] = { diag::warn_cxx98_compat_array_size_conversion, diag::warn_cxx98_compat_cast_fn_obj, diag::warn_cxx98_compat_empty_fnmacro_arg, diag::warn_cxx98_compat_enumerator_list_comma, diag::warn_cxx98_compat_explicit_instantiation_after_specialization, diag::warn_cxx98_compat_extern_template, diag::warn_cxx98_compat_longlong, diag::warn_cxx98_compat_no_newline_eof, diag::warn_cxx98_compat_pp_line_too_big, diag::warn_cxx98_compat_top_level_semi, diag::warn_cxx98_compat_variadic_macro, -1 };
static const short DiagSubGroup61[] = { 58, 87, -1 };
static const short DiagArray62[] = { diag::warn_cxx98_compat_template_arg_unnamed_type, -1 };
static const short DiagArray63[] = { diag::ext_anonymous_union, diag::ext_c11_alignment, diag::ext_c11_anonymous_struct, diag::ext_c11_generic_selection, diag::ext_c11_noreturn, diag::ext_c11_static_assert, -1 };
static const short DiagArray64[] = { diag::warn_c99_compat_unicode_id, diag::warn_c99_compat_unicode_literal, -1 };
static const short DiagArray65[] = { diag::ext_c99_array_usage, diag::ext_c99_compound_literal, diag::ext_c99_flexible_array_member, diag::ext_c99_variable_decl_in_for_loop, diag::ext_c99_whitespace_required_after_macro_name, diag::ext_designated_init, diag::ext_empty_fnmacro_arg, diag::ext_enumerator_list_comma_c, diag::ext_hexconstant_invalid, -1 };
static const short DiagArray66[] = { diag::warn_cast_align, -1 };
static const short DiagArray67[] = { diag::warn_cast_pointer_from_sel, -1 };
static const short DiagArray70[] = { diag::warn_subscript_is_char, -1 };
static const short DiagArray71[] = { diag::escaped_newline_block_comment_end, diag::ext_line_comment, diag::ext_multi_line_line_comment, diag::warn_nested_block_comment, -1 };
static const short DiagSubGroup72[] = { 71, -1 };
static const short DiagArray73[] = { diag::ext_typecheck_comparison_of_distinct_pointers, diag::ext_typecheck_comparison_of_distinct_pointers_nonstandard, -1 };
static const short DiagArray74[] = { diag::ext_complex_component_init, -1 };
static const short DiagArray75[] = { diag::warn_typecheck_cond_pointer_integer_mismatch, -1 };
static const short DiagArray76[] = { diag::warn_maybe_uninit_var, -1 };
static const short DiagArray77[] = { diag::warn_module_config_macro_undef, -1 };
static const short DiagArray78[] = { diag::warn_impcast_bitfield_precision_constant, diag::warn_impcast_integer_precision_constant, -1 };
static const short DiagArray79[] = { diag::warn_logical_instead_of_bitwise, -1 };
static const short DiagArray80[] = { diag::warn_cxx1y_compat_constexpr_not_const, -1 };
static const short DiagArray81[] = { diag::warn_impcast_complex_scalar, diag::warn_impcast_float_integer, diag::warn_impcast_float_precision, diag::warn_impcast_integer_precision, diag::warn_impcast_vector_scalar, diag::warn_template_arg_negative, diag::warn_template_arg_too_large, -1 };
static const short DiagSubGroup81[] = { 42, 78, 123, 303, 173, 188, 223, 230, 305, 331, -1 };
static const short DiagSubGroup82[] = { 230, -1 };
static const short DiagArray83[] = { diag::warn_unreachable_default, -1 };
static const short DiagArray85[] = { diag::warn_default_atomic_custom_getter_setter, -1 };
static const short DiagArray86[] = { diag::warn_cxx11_compat_constexpr_body_invalid_stmt, diag::warn_cxx11_compat_constexpr_body_multiple_return, diag::warn_cxx11_compat_constexpr_body_no_return, diag::warn_cxx11_compat_constexpr_local_var, diag::warn_cxx11_compat_constexpr_type_definition, -1 };
static const short DiagArray87[] = { diag::warn_cxx11_compat_array_of_runtime_bound, diag::warn_cxx11_compat_binary_literal, -1 };
static const short DiagSubGroup87[] = { 86, -1 };
static const short DiagArray88[] = { diag::warn_dangling_else, -1 };
static const short DiagArray89[] = { diag::warn_bind_ref_member_to_parameter, diag::warn_bind_ref_member_to_temporary, diag::warn_init_ptr_member_to_parameter_addr, -1 };
static const short DiagArray90[] = { diag::warn_dangling_std_initializer_list, -1 };
static const short DiagArray91[] = { diag::ext_mixed_decls_code, -1 };
static const short DiagArray92[] = { diag::warn_delegating_ctor_cycle, -1 };
static const short DiagArray93[] = { diag::warn_delete_incomplete, -1 };
static const short DiagArray94[] = { diag::warn_delete_abstract_non_virtual_dtor, diag::warn_delete_non_virtual_dtor, -1 };
static const short DiagArray95[] = { diag::warn_access_decl_deprecated, diag::warn_drv_deprecated_arg, diag::warn_drv_treating_input_as_cxx, diag::warn_increment_bool, diag::warn_vector_long_decl_spec_combination, -1 };
static const short DiagSubGroup95[] = { 96, -1 };
static const short DiagArray96[] = { diag::warn_cstyle_param, diag::warn_deprecated, diag::warn_deprecated_fwdclass_message, diag::warn_deprecated_message, -1 };
static const short DiagArray97[] = { diag::warn_deprecated_def, -1 };
static const short DiagArray98[] = { diag::warn_objc_isa_assign, diag::warn_objc_isa_use, -1 };
static const short DiagArray99[] = { diag::warn_deprecated_string_literal_conversion, -1 };
static const short DiagArray100[] = { diag::warn_direct_ivar_access, -1 };
static const short DiagArray101[] = { diag::pp_disabled_macro_expansion, -1 };
static const short DiagArray104[] = { diag::warn_conflicting_param_modifiers, diag::warn_conflicting_ret_type_modifiers, -1 };
static const short DiagArray106[] = { diag::warn_division_by_zero, diag::warn_remainder_by_zero, -1 };
static const short DiagArray107[] = { diag::warn_doc_api_container_decl_mismatch, diag::warn_doc_block_command_duplicate, diag::warn_doc_block_command_empty_paragraph, diag::warn_doc_container_decl_mismatch, diag::warn_doc_function_method_decl_mismatch, diag::warn_doc_html_start_tag_expected_ident_or_greater, diag::warn_doc_html_start_tag_expected_quoted_string, diag::warn_doc_param_duplicate, diag::warn_doc_param_invalid_direction, diag::warn_doc_param_not_attached_to_a_function_decl, diag::warn_doc_param_not_found, diag::warn_doc_returns_attached_to_a_void_function, diag::warn_doc_returns_not_attached_to_a_function_decl, diag::warn_doc_tparam_duplicate, diag::warn_doc_tparam_not_attached_to_a_template_decl, diag::warn_doc_tparam_not_found, diag::warn_not_a_doxygen_trailing_member_comment, diag::warn_verbatim_block_end_without_start, -1 };
static const short DiagSubGroup107[] = { 109, 108, -1 };
static const short DiagArray108[] = { diag::warn_doc_deprecated_not_sync, -1 };
static const short DiagArray109[] = { diag::warn_doc_html_end_forbidden, diag::warn_doc_html_end_unbalanced, diag::warn_doc_html_start_end_mismatch, -1 };
static const short DiagArray110[] = { diag::warn_doc_param_spaces_in_direction, -1 };
static const short DiagArray111[] = { diag::ext_dollar_in_identifier, -1 };
static const short DiagArray112[] = { diag::ext_duplicate_declspec, diag::warn_duplicate_declspec, -1 };
static const short DiagArray113[] = { diag::warn_duplicate_enum_values, -1 };
static const short DiagArray114[] = { diag::warn_method_param_declaration, -1 };
static const short DiagArray115[] = { diag::warn_duplicate_method_decl, -1 };
static const short DiagArray116[] = { diag::warn_dyn_class_memaccess, -1 };
static const short DiagArray118[] = { diag::ext_embedded_directive, -1 };
static const short DiagArray119[] = { diag::warn_empty_for_body, diag::warn_empty_if_body, diag::warn_empty_range_based_for_body, diag::warn_empty_switch_body, diag::warn_empty_while_body, -1 };
static const short DiagArray120[] = { diag::ext_empty_translation_unit, -1 };
static const short DiagSubGroup121[] = { 130, -1 };
static const short DiagArray122[] = { diag::warn_comparison_of_mixed_enum_types, -1 };
static const short DiagArray123[] = { diag::warn_impcast_different_enum_types, -1 };
static const short DiagArray124[] = { diag::warn_exit_time_destructor, -1 };
static const short DiagArray125[] = { diag::warn_arc_strong_pointer_objc_pointer, -1 };
static const short DiagArray126[] = { diag::ext_offsetof_extended_field_designator, -1 };
static const short DiagArray127[] = { diag::warn_extern_init, -1 };
static const short DiagSubGroup128[] = { 206, 152, 171, 292, 209, 304, 378, -1 };
static const short DiagArray129[] = { diag::ext_extra_semi, diag::warn_extra_semi_after_mem_fn_def, -1 };
static const short DiagSubGroup129[] = { 54, -1 };
static const short DiagArray130[] = { diag::ext_pp_extra_tokens_at_eol, diag::warn_omp_extra_tokens_at_eol, -1 };
static const short DiagArray131[] = { diag::ext_flexible_array_in_array, diag::ext_flexible_array_in_struct, -1 };
static const short DiagArray132[] = { diag::warn_floatingpoint_eq, -1 };
static const short DiagArray133[] = { diag::warn_format_argument_needs_cast, diag::warn_format_invalid_positional_specifier, diag::warn_format_mix_positional_nonpositional_args, diag::warn_format_nonsensical_length, diag::warn_format_string_is_wide_literal, diag::warn_format_zero_positional_specifier, diag::warn_missing_format_string, diag::warn_printf_asterisk_missing_arg, diag::warn_printf_asterisk_wrong_type, diag::warn_printf_conversion_argument_type_mismatch, diag::warn_printf_format_string_contains_null_char, diag::warn_printf_ignored_flag, diag::warn_printf_incomplete_specifier, diag::warn_printf_insufficient_data_args, diag::warn_printf_nonsensical_flag, diag::warn_printf_nonsensical_optional_amount, diag::warn_printf_positional_arg_exceeds_data_args, diag::warn_scanf_nonzero_width, diag::warn_scanf_scanlist_incomplete, -1 };
static const short DiagSubGroup133[] = { 134, 140, 226, 138, 139, 135, -1 };
static const short DiagArray134[] = { diag::warn_printf_data_arg_not_used, -1 };
static const short DiagArray135[] = { diag::warn_format_invalid_conversion, -1 };
static const short DiagArray136[] = { diag::warn_format_non_standard, diag::warn_format_non_standard_conversion_spec, diag::warn_format_non_standard_positional_arg, -1 };
static const short DiagArray137[] = { diag::warn_format_nonliteral, -1 };
static const short DiagSubGroup137[] = { 138, -1 };
static const short DiagArray138[] = { diag::warn_format_nonliteral_noargs, -1 };
static const short DiagArray140[] = { diag::warn_empty_format_string, -1 };
static const short DiagSubGroup141[] = { 137, 138, 139, -1 };
static const short DiagArray142[] = { diag::ext_four_char_character_literal, -1 };
static const short DiagArray143[] = { diag::warn_attribute_on_function_definition, -1 };
static const short DiagArray144[] = { diag::warn_global_constructor, diag::warn_global_destructor, -1 };
static const short DiagArray145[] = { diag::ext_alignof_expr, diag::ext_array_init_copy, diag::ext_binary_literal, diag::ext_empty_struct_union, diag::ext_expr_not_ice, diag::ext_flexible_array_empty_aggregate_gnu, diag::ext_flexible_array_init, diag::ext_flexible_array_union_gnu, diag::ext_forward_ref_enum_def, diag::ext_gnu_address_of_label, diag::ext_gnu_anonymous_struct, diag::ext_gnu_case_range, diag::ext_gnu_conditional_expr, diag::ext_gnu_empty_initializer, diag::ext_gnu_indirect_goto, diag::ext_gnu_local_label, diag::ext_gnu_statement_expr, diag::ext_imaginary_constant, diag::ext_in_class_initializer_non_constant, diag::ext_integer_complex, diag::ext_missing_varargs_arg, diag::ext_paste_comma, diag::ext_pp_line_zero, diag::ext_typecheck_cast_to_union, diag::ext_variable_sized_type_in_struct, -1 };
static const short DiagSubGroup145[] = { 147, 393, 398, 148, -1 };
static const short DiagArray146[] = { diag::ext_array_init_parens, -1 };
static const short DiagArray147[] = { diag::ext_gnu_array_range, diag::ext_gnu_missing_equal_designator, diag::ext_gnu_old_style_field_designator, -1 };
static const short DiagArray148[] = { diag::ext_in_class_initializer_float_type, -1 };
static const short DiagArray149[] = { diag::warn_using_directive_in_header, -1 };
static const short DiagArray150[] = { diag::warn_condition_is_idiomatic_assignment, -1 };
static const short DiagArray151[] = { diag::warn_attribute_after_definition_ignored, diag::warn_attribute_ibaction, diag::warn_attribute_iboutlet, diag::warn_attribute_ignored, diag::warn_attribute_ignored_for_field_of_type, diag::warn_attribute_malloc_pointer_only, diag::warn_attribute_no_decl, diag::warn_attribute_nonnull_no_pointers, diag::warn_attribute_not_on_decl, diag::warn_attribute_precede_definition, diag::warn_attribute_requires_functions_or_static_globals, diag::warn_attribute_sentinel_named_arguments, diag::warn_attribute_sentinel_not_variadic, diag::warn_attribute_type_not_supported, diag::warn_attribute_unknown_endian, diag::warn_attribute_unknown_visibility, diag::warn_attribute_void_function_method, diag::warn_attribute_weak_import_invalid_on_definition, diag::warn_attribute_weak_on_field, diag::warn_attribute_weak_on_local, diag::warn_attribute_wrong_decl_type, diag::warn_cconv_ignored, diag::warn_cxx11_gnu_attribute_on_type, diag::warn_declspec_attribute_ignored, diag::warn_duplicate_attribute, diag::warn_function_attribute_wrong_type, diag::warn_gc_attribute_weak_on_local, diag::warn_gnu_inline_attribute_requires_inline, diag::warn_mmap_unknown_attribute, diag::warn_ns_attribute_wrong_parameter_type, diag::warn_ns_attribute_wrong_return_type, diag::warn_objc_object_attribute_wrong_type, diag::warn_pointer_attribute_wrong_type, diag::warn_transparent_union_attribute_field_size_align, diag::warn_transparent_union_attribute_floating, diag::warn_transparent_union_attribute_not_definition, diag::warn_transparent_union_attribute_zero_fields, diag::warn_unhandled_ms_attribute_ignored, -1 };
static const short DiagArray152[] = { diag::warn_arc_lifetime_result_type, diag::warn_qual_return_type, -1 };
static const short DiagSubGroup153[] = { 159, 160, -1 };
static const short DiagArray154[] = { diag::warn_auto_implicit_atomic_property, diag::warn_implicit_atomic_property, -1 };
static const short DiagArray155[] = { diag::warn_impcast_floating_point_to_bool, -1 };
static const short DiagArray156[] = { diag::ext_implicit_exception_spec_mismatch, -1 };
static const short DiagArray157[] = { diag::warn_fallthrough_attr_invalid_placement, diag::warn_fallthrough_attr_unreachable, diag::warn_unannotated_fallthrough, -1 };
static const short DiagSubGroup157[] = { 158, -1 };
static const short DiagArray158[] = { diag::warn_unannotated_fallthrough_per_function, -1 };
static const short DiagArray159[] = { diag::ext_implicit_function_decl, diag::warn_builtin_unknown, diag::warn_implicit_function_decl, -1 };
static const short DiagArray160[] = { diag::ext_missing_type_specifier, -1 };
static const short DiagArray161[] = { diag::warn_implicitly_retains_self, -1 };
static const short DiagArray163[] = { diag::ext_pp_import_directive, -1 };
static const short DiagArray164[] = { diag::warn_redecl_library_builtin, -1 };
static const short DiagArray165[] = { diag::ext_typecheck_convert_incompatible_pointer, -1 };
static const short DiagSubGroup165[] = { 166, -1 };
static const short DiagArray166[] = { diag::ext_nested_pointer_qualifier_mismatch, diag::ext_typecheck_convert_discards_qualifiers, -1 };
static const short DiagArray167[] = { diag::warn_undef_method_impl, -1 };
static const short DiagArray168[] = { diag::warn_missing_submodule, diag::warn_uncovered_module_header, -1 };
static const short DiagArray169[] = { diag::warn_using_decl_constructor_ellipsis, -1 };
static const short DiagArray171[] = { diag::warn_initializer_overrides, diag::warn_subobject_initializer_overrides, -1 };
static const short DiagArray173[] = { diag::ext_typecheck_convert_int_pointer, diag::ext_typecheck_convert_pointer_int, -1 };
static const short DiagSubGroup174[] = { 173, -1 };
static const short DiagArray175[] = { diag::warn_int_to_pointer_cast, -1 };
static const short DiagArray176[] = { diag::warn_integer_constant_overflow, -1 };
static const short DiagArray177[] = { diag::ext_constexpr_function_never_constant_expr, -1 };
static const short DiagArray178[] = { diag::warn_iboutlet_object_type, -1 };
static const short DiagArray179[] = { diag::warn_falloff_noreturn_function, diag::warn_noreturn_function_has_return_expr, -1 };
static const short DiagArray180[] = { diag::warn_offsetof_non_pod_type, diag::warn_offsetof_non_standardlayout_type, -1 };
static const short DiagArray182[] = { diag::ext_empty_character, diag::ext_unterminated_char, diag::ext_unterminated_string, -1 };
static const short DiagArray183[] = { diag::warn_bad_character_encoding, diag::warn_bad_string_encoding, -1 };
static const short DiagArray184[] = { diag::err_pp_bad_paste_ms, -1 };
static const short DiagArray185[] = { diag::ext_param_promoted_not_compatible_with_prototype, -1 };
static const short DiagArray186[] = { diag::ext_token_used, -1 };
static const short DiagArray187[] = { diag::warn_parameter_size, diag::warn_return_value_size, -1 };
static const short DiagArray188[] = { diag::warn_impcast_literal_float_to_integer, -1 };
static const short DiagArray189[] = { diag::warn_float_overflow, diag::warn_float_underflow, -1 };
static const short DiagArray190[] = { diag::ext_template_arg_local_type, -1 };
static const short DiagSubGroup190[] = { 60, -1 };
static const short DiagArray191[] = { diag::warn_logical_and_in_logical_or, -1 };
static const short DiagArray192[] = { diag::ext_c99_longlong, -1 };
static const short DiagSubGroup192[] = { 55, -1 };
static const short DiagArray193[] = { diag::warn_variables_not_in_loop_body, -1 };
static const short DiagArray194[] = { diag::ext_noreturn_main, diag::warn_main_one_arg, diag::warn_static_main, -1 };
static const short DiagArray195[] = { diag::ext_main_returns_nonint, -1 };
static const short DiagArray196[] = { diag::warn_has_warning_invalid_option, -1 };
static const short DiagArray197[] = { diag::warn_non_contravariant_param_types, diag::warn_non_covariant_ret_types, -1 };
static const short DiagArray198[] = { diag::ext_anonymous_record_with_type, diag::ext_c_enum_fixed_underlying_type, diag::ext_charize_microsoft, diag::ext_ellipsis_exception_spec, diag::ext_enumerator_too_large, diag::ext_flexible_array_empty_aggregate_ms, diag::ext_flexible_array_union_ms, diag::ext_function_specialization_in_class, diag::ext_ms_anonymous_struct, diag::ext_ms_explicit_constructor_call, diag::ext_ms_forward_ref_enum, diag::ext_ms_using_declaration_inaccessible, diag::ext_pseudo_dtor_on_void, diag::warn_found_via_dependent_bases_lookup, diag::warn_goto_into_protected_scope, diag::warn_member_extra_qualification, diag::warn_override_exception_spec, diag::warn_pure_function_definition, -1 };
static const short DiagArray199[] = { diag::warn_microsoft_dependent_exists, -1 };
static const short DiagArray200[] = { diag::warn_attribute_method_def, -1 };
static const short DiagArray201[] = { diag::warn_conflicting_param_types, -1 };
static const short DiagArray202[] = { diag::warn_conflicting_ret_types, -1 };
static const short DiagArray203[] = { diag::warn_struct_class_previous_tag_mismatch, diag::warn_struct_class_tag_mismatch, -1 };
static const short DiagArray204[] = { diag::warn_missing_braces, -1 };
static const short DiagArray205[] = { diag::ext_no_declarators, diag::ext_standalone_specifier, diag::ext_typedef_without_a_name, diag::warn_standalone_specifier, -1 };
static const short DiagArray206[] = { diag::warn_missing_field_initializers, -1 };
static const short DiagArray209[] = { diag::warn_missing_method_return_type, -1 };
static const short DiagArray210[] = { diag::warn_suggest_noreturn_block, diag::warn_suggest_noreturn_function, -1 };
static const short DiagArray211[] = { diag::warn_missing_prototype, -1 };
static const short DiagArray212[] = { diag::warn_missing_selector_name, -1 };
static const short DiagArray213[] = { diag::warn_missing_sysroot, -1 };
static const short DiagArray214[] = { diag::warn_missing_variable_declarations, -1 };
static const short DiagArray215[] = { diag::warn_module_conflict, -1 };
static const short DiagSubGroup216[] = { 70, 71, 94, 133, 153, 203, 204, 217, 282, 286, 290, 307, 308, 332, 348, 360, 361, 369, 394, 239, 261, 273, 67, -1 };
static const short DiagArray217[] = { diag::ext_multichar_character_literal, -1 };
static const short DiagSubGroup218[] = { 56, -1 };
static const short DiagArray219[] = { diag::ext_anonymous_record_with_anonymous_type, -1 };
static const short DiagArray221[] = { diag::ext_no_newline_eof, -1 };
static const short DiagSubGroup222[] = { 304, 81, 189, -1 };
static const short DiagArray223[] = { diag::warn_non_literal_null_pointer, -1 };
static const short DiagArray224[] = { diag::warn_cannot_pass_non_pod_arg_to_vararg, diag::warn_non_pod_vararg_with_format_string, diag::warn_second_parameter_to_va_arg_not_pod, diag::warn_second_parameter_to_va_arg_ownership_qualified, -1 };
static const short DiagArray225[] = { diag::warn_non_virtual_dtor, -1 };
static const short DiagArray226[] = { diag::warn_null_arg, -1 };
static const short DiagArray228[] = { diag::warn_null_in_arithmetic_operation, diag::warn_null_in_comparison_operation, -1 };
static const short DiagArray229[] = { diag::null_in_char, diag::null_in_file, diag::null_in_string, -1 };
static const short DiagArray230[] = { diag::warn_impcast_null_pointer_to_integer, -1 };
static const short DiagArray231[] = { diag::warn_indirection_through_null, -1 };
static const short DiagArray232[] = { diag::warn_autosynthesis_property_ivar_match, -1 };
static const short DiagSubGroup233[] = { 249, -1 };
static const short DiagArray234[] = { diag::warn_forward_class_redefinition, -1 };
static const short DiagArray235[] = { diag::warn_ivars_in_interface, -1 };
static const short DiagArray236[] = { diag::warn_objc_literal_comparison, -1 };
static const short DiagSubGroup236[] = { 252, -1 };
static const short DiagArray237[] = { diag::warn_class_method_not_found, diag::warn_inst_method_not_found, diag::warn_instance_method_on_class_found, diag::warn_root_inst_method_not_found, -1 };
static const short DiagArray238[] = { diag::warn_missing_explicit_synthesis, -1 };
static const short DiagArray239[] = { diag::warn_objc_missing_super_call, -1 };
static const short DiagArray240[] = { diag::warn_objc_property_retain_of_block, -1 };
static const short DiagArray241[] = { diag::warn_objc_pointer_cxx_catch_fragile, -1 };
static const short DiagArray242[] = { diag::warn_setter_getter_impl_required, diag::warn_setter_getter_impl_required_in_category, -1 };
static const short DiagArray243[] = { diag::warn_owning_getter_rule, -1 };
static const short DiagArray244[] = { diag::warn_objc_property_default_assign_on_object, diag::warn_objc_property_no_assignment_attribute, -1 };
static const short DiagArray245[] = { diag::warn_no_autosynthesis_property, diag::warn_no_autosynthesis_shared_ivar_property, -1 };
static const short DiagArray246[] = { diag::warn_category_method_impl_match, -1 };
static const short DiagArray247[] = { diag::warn_auto_synthesizing_protocol_property, -1 };
static const short DiagArray248[] = { diag::warn_objc_readonly_property_has_setter, -1 };
static const short DiagSubGroup249[] = { 250, -1 };
static const short DiagArray250[] = { diag::warn_objc_redundant_literal_use, -1 };
static const short DiagArray251[] = { diag::warn_objc_root_class_missing, -1 };
static const short DiagArray252[] = { diag::warn_objc_string_literal_comparison, -1 };
static const short DiagArray253[] = { diag::warn_odr_tag_type_inconsistent, -1 };
static const short DiagArray256[] = { diag::ext_out_of_line_declaration, -1 };
static const short DiagArray257[] = { diag::warn_overaligned_type, -1 };
static const short DiagArray259[] = { diag::ext_string_too_long, -1 };
static const short DiagArray260[] = { diag::warn_overloaded_shift_in_comparison, -1 };
static const short DiagArray261[] = { diag::warn_overloaded_virtual, -1 };
static const short DiagArray262[] = { diag::warn_conflicting_overriding_param_modifiers, diag::warn_conflicting_overriding_param_types, diag::warn_conflicting_overriding_ret_type_modifiers, diag::warn_conflicting_overriding_ret_types, diag::warn_conflicting_overriding_variadic, diag::warn_non_contravariant_overriding_param_types, diag::warn_non_covariant_overriding_ret_types, -1 };
static const short DiagArray263[] = { diag::warn_unnecessary_packed, -1 };
static const short DiagArray264[] = { diag::warn_padded_struct_anon_field, diag::warn_padded_struct_field, diag::warn_padded_struct_size, -1 };
static const short DiagArray265[] = { diag::warn_condition_is_assignment, diag::warn_precedence_bitwise_rel, diag::warn_precedence_conditional, -1 };
static const short DiagSubGroup265[] = { 191, 41, 300, 260, 266, 88, -1 };
static const short DiagArray266[] = { diag::warn_equality_with_extra_parens, -1 };
static const short DiagArray267[] = { diag::ext_anonymous_record_with_type, diag::ext_anonymous_struct_union_qualified, diag::ext_array_init_copy, diag::ext_array_size_conversion, diag::ext_binary_literal, diag::ext_binary_literal_cxx1y, diag::ext_c99_array_usage, diag::ext_c99_compound_literal, diag::ext_c99_flexible_array_member, diag::ext_c99_variable_decl_in_for_loop, diag::ext_c_enum_fixed_underlying_type, diag::ext_cast_fn_obj, diag::ext_charize_microsoft, diag::ext_cxx11_enum_fixed_underlying_type, diag::ext_designated_init, diag::ext_ellipsis_exception_spec, diag::ext_empty_fnmacro_arg, diag::ext_empty_struct_union, diag::ext_enum_value_not_int, diag::ext_enumerator_list_comma_c, diag::ext_enumerator_list_comma_cxx, diag::ext_explicit_instantiation_after_specialization, diag::ext_explicit_instantiation_without_qualified_id, diag::ext_expr_not_ice, diag::ext_extern_template, diag::ext_extra_semi, diag::ext_flexible_array_empty_aggregate_gnu, diag::ext_flexible_array_empty_aggregate_ms, diag::ext_flexible_array_init, diag::ext_flexible_array_union_gnu, diag::ext_flexible_array_union_ms, diag::ext_forward_ref_enum, diag::ext_forward_ref_enum_def, diag::ext_freestanding_complex, diag::ext_gnu_address_of_label, diag::ext_gnu_anonymous_struct, diag::ext_gnu_array_range, diag::ext_gnu_case_range, diag::ext_gnu_conditional_expr, diag::ext_gnu_empty_initializer, diag::ext_gnu_indirect_goto, diag::ext_gnu_local_label, diag::ext_gnu_statement_expr, diag::ext_hexconstant_invalid, diag::ext_ident_list_in_param, diag::ext_imaginary_constant, diag::ext_in_class_initializer_non_constant, diag::ext_integer_complement_complex, diag::ext_integer_complex, diag::ext_integer_increment_complex, diag::ext_internal_in_extern_inline, diag::ext_invalid_sign_spec, diag::ext_line_comment, diag::ext_missing_varargs_arg, diag::ext_ms_forward_ref_enum, diag::ext_multi_line_line_comment, diag::ext_nonstandard_escape, diag::ext_param_not_declared, diag::ext_paste_comma, diag::ext_pp_bad_vaargs_use, diag::ext_pp_comma_expr, diag::ext_pp_ident_directive, diag::ext_pp_include_next_directive, diag::ext_pp_line_too_big, diag::ext_pp_line_zero, diag::ext_pp_warning_directive, diag::ext_return_has_void_expr, diag::ext_subscript_non_lvalue, diag::ext_thread_before, diag::ext_typecheck_addrof_void, diag::ext_typecheck_cast_nonscalar, diag::ext_typecheck_cast_to_union, diag::ext_typecheck_comparison_of_fptr_to_void, diag::ext_typecheck_cond_one_void, diag::ext_typecheck_convert_pointer_void_func, diag::ext_typecheck_ordered_comparison_of_pointer_and_zero, diag::ext_vla_folded_to_constant, diag::warn_illegal_constant_array_size, -1 };
static const short DiagSubGroup267[] = { 63, 54, 55, 131, 136, 142, 192, 259, 268, 393, 387, 398, 163, 118, 120, 221, 74, 126, 111, 186, 219, 91, -1 };
static const short DiagArray268[] = { diag::ext_gnu_ptr_func_arith, diag::ext_gnu_subscript_void_type, diag::ext_gnu_void_ptr, diag::ext_sizeof_alignof_function_type, diag::ext_sizeof_alignof_void_type, -1 };
static const short DiagArray269[] = { diag::ext_typecheck_convert_incompatible_pointer_sign, -1 };
static const short DiagArray271[] = { diag::warn_typecheck_cond_incompatible_pointers, -1 };
static const short DiagArray272[] = { diag::ext_predef_outside_function, -1 };
static const short DiagArray273[] = { diag::warn_private_extern, -1 };
static const short DiagArray274[] = { diag::warn_unimplemented_protocol_method, -1 };
static const short DiagArray275[] = { diag::warn_auto_readonly_iboutlet_property, -1 };
static const short DiagArray276[] = { diag::warn_objc_property_attr_mutually_exclusive, -1 };
static const short DiagArray277[] = { diag::warn_bad_receiver_type, -1 };
static const short DiagArray278[] = { diag::warn_receiver_forward_class, diag::warn_receiver_forward_instance, -1 };
static const short DiagArray279[] = { diag::warn_receiver_is_weak, -1 };
static const short DiagArray281[] = { diag::warn_reinterpret_different_from_static, -1 };
static const short DiagArray282[] = { diag::warn_initializer_out_of_order, -1 };
static const short DiagArray283[] = { diag::warn_objc_requires_super_protocol, -1 };
static const short DiagArray284[] = { diag::ext_ms_reserved_user_defined_literal, diag::ext_reserved_user_defined_literal, -1 };
static const short DiagSubGroup284[] = { 52, -1 };
static const short DiagArray285[] = { diag::warn_ret_addr_label, diag::warn_ret_local_temp_addr, diag::warn_ret_local_temp_ref, diag::warn_ret_stack_addr, diag::warn_ret_stack_ref, -1 };
static const short DiagArray286[] = { diag::ext_return_has_expr, diag::ext_return_missing_expr, diag::warn_falloff_nonvoid_function, diag::warn_falloff_nonvoid_lambda, diag::warn_maybe_falloff_nonvoid_function, diag::warn_maybe_falloff_nonvoid_lambda, diag::warn_return_missing_expr, -1 };
static const short DiagSubGroup286[] = { 287, -1 };
static const short DiagArray287[] = { diag::warn_return_value_udt, diag::warn_return_value_udt_incomplete, -1 };
static const short DiagArray288[] = { diag::warn_mismatched_section, -1 };
static const short DiagArray289[] = { diag::warn_unimplemented_selector, -1 };
static const short DiagArray290[] = { diag::warn_self_assignment, -1 };
static const short DiagSubGroup290[] = { 291, -1 };
static const short DiagArray291[] = { diag::warn_identity_field_assign, -1 };
static const short DiagArray292[] = { diag::warn_semicolon_before_method_body, -1 };
static const short DiagArray293[] = { diag::warn_missing_sentinel, diag::warn_not_enough_argument, -1 };
static const short DiagSubGroup294[] = { 367, -1 };
static const short DiagArray295[] = { diag::warn_fe_serialized_diag_failure, -1 };
static const short DiagArray296[] = { diag::warn_decl_shadow, -1 };
static const short DiagArray297[] = { diag::warn_ivar_use_hidden, -1 };
static const short DiagArray298[] = { diag::warn_shift_negative, -1 };
static const short DiagArray299[] = { diag::warn_shift_gt_typewidth, -1 };
static const short DiagArray300[] = { diag::warn_addition_in_bitshift, -1 };
static const short DiagArray301[] = { diag::warn_shift_result_gt_typewidth, -1 };
static const short DiagArray302[] = { diag::warn_shift_result_sets_sign_bit, -1 };
static const short DiagArray303[] = { diag::warn_impcast_integer_64_32, -1 };
static const short DiagArray304[] = { diag::warn_mixed_sign_comparison, -1 };
static const short DiagArray305[] = { diag::warn_impcast_integer_sign, diag::warn_impcast_integer_sign_conditional, -1 };
static const short DiagArray307[] = { diag::warn_sizeof_array_param, -1 };
static const short DiagArray308[] = { diag::warn_sizeof_array_decay, -1 };
static const short DiagArray309[] = { diag::warn_sizeof_pointer_expr_memaccess, diag::warn_sizeof_pointer_type_memaccess, -1 };
static const short DiagArray310[] = { diag::warn_sometimes_uninit_var, -1 };
static const short DiagArray311[] = { diag::warn_pragma_omp_ignored, -1 };
static const short DiagArray313[] = { diag::ext_in_class_initializer_float_type_cxx11, -1 };
static const short DiagSubGroup313[] = { 148, -1 };
static const short DiagArray314[] = { diag::ext_internal_in_extern_inline, diag::warn_internal_in_extern_inline, -1 };
static const short DiagArray315[] = { diag::warn_static_local_in_extern_inline, -1 };
static const short DiagArray316[] = { diag::warn_static_self_reference_in_init, -1 };
static const short DiagArray329[] = { diag::warn_strict_multiple_method_decl, -1 };
static const short DiagArray330[] = { diag::warn_stringcompare, -1 };
static const short DiagArray331[] = { diag::warn_impcast_string_literal_to_bool, -1 };
static const short DiagArray332[] = { diag::warn_string_plus_int, -1 };
static const short DiagArray333[] = { diag::warn_strlcpycat_wrong_size, -1 };
static const short DiagArray334[] = { diag::warn_strncat_large_size, diag::warn_strncat_src_size, diag::warn_strncat_wrong_size, -1 };
static const short DiagArray335[] = { diag::ext_typecheck_base_super, -1 };
static const short DiagArray336[] = { diag::warn_case_value_overflow, diag::warn_missing_case1, diag::warn_missing_case2, diag::warn_missing_case3, diag::warn_missing_cases, diag::warn_not_in_enum, -1 };
static const short DiagArray338[] = { diag::warn_def_missing_case1, diag::warn_def_missing_case2, diag::warn_def_missing_case3, diag::warn_def_missing_cases, -1 };
static const short DiagArray340[] = { diag::warn_comparison_always, diag::warn_lunsigned_always_true_comparison, diag::warn_runsigned_always_true_comparison, -1 };
static const short DiagSubGroup340[] = { 341, -1 };
static const short DiagArray341[] = { diag::warn_out_of_range_compare, -1 };
static const short DiagArray342[] = { diag::ext_typecheck_decl_incomplete_type, -1 };
static const short DiagSubGroup343[] = { 345, 344, 347, -1 };
static const short DiagArray344[] = { diag::warn_cannot_resolve_lock, diag::warn_double_lock, diag::warn_expecting_lock_held_on_loop, diag::warn_expecting_locked, diag::warn_fun_excludes_mutex, diag::warn_fun_requires_lock, diag::warn_lock_exclusive_and_shared, diag::warn_lock_some_predecessors, diag::warn_no_unlock, diag::warn_unlock_but_no_lock, diag::warn_var_deref_requires_any_lock, diag::warn_var_deref_requires_lock, diag::warn_variable_requires_any_lock, diag::warn_variable_requires_lock, -1 };
static const short DiagArray345[] = { diag::warn_thread_attribute_argument_not_class, diag::warn_thread_attribute_argument_not_lockable, diag::warn_thread_attribute_decl_not_lockable, diag::warn_thread_attribute_decl_not_pointer, diag::warn_thread_attribute_ignored, diag::warn_thread_attribute_wrong_decl_type, -1 };
static const short DiagArray346[] = { diag::warn_thread_safety_beta, -1 };
static const short DiagArray347[] = { diag::warn_fun_requires_lock_precise, diag::warn_var_deref_requires_lock_precise, diag::warn_variable_requires_lock_precise, -1 };
static const short DiagArray348[] = { diag::trigraph_converted, diag::trigraph_ends_block_comment, diag::trigraph_ignored, diag::trigraph_ignored_block_comment, -1 };
static const short DiagArray350[] = { diag::warn_type_safety_null_pointer_required, diag::warn_type_safety_type_mismatch, diag::warn_type_tag_for_datatype_wrong_kind, -1 };
static const short DiagArray351[] = { diag::warn_redefinition_of_typedef, -1 };
static const short DiagArray352[] = { diag::warn_typename_missing, -1 };
static const short DiagArray353[] = { diag::warn_undeclared_selector, -1 };
static const short DiagArray354[] = { diag::warn_pp_undef_identifier, -1 };
static const short DiagArray355[] = { diag::warn_undefined_inline, -1 };
static const short DiagArray356[] = { diag::warn_undefined_internal, -1 };
static const short DiagArray357[] = { diag::warn_pointer_indirection_from_incompatible_type, diag::warn_undefined_reinterpret_cast, -1 };
static const short DiagArray358[] = { diag::warn_ucn_escape_incomplete, diag::warn_ucn_escape_no_digits, diag::warn_ucn_escape_surrogate, diag::warn_ucn_not_valid_in_c89, diag::warn_ucn_not_valid_in_c89_literal, -1 };
static const short DiagArray359[] = { diag::ext_unicode_whitespace, -1 };
static const short DiagArray360[] = { diag::warn_field_is_uninit, diag::warn_reference_field_is_uninit, diag::warn_uninit_byref_blockvar_captured_by_block, diag::warn_uninit_self_reference_in_init, diag::warn_uninit_self_reference_in_reference_init, diag::warn_uninit_var, -1 };
static const short DiagSubGroup360[] = { 310, 316, -1 };
static const short DiagArray361[] = { diag::ext_on_off_switch_syntax, diag::ext_pragma_syntax_eod, diag::ext_stdc_pragma_ignored, diag::warn_pragma_diagnostic_cannot_pop, diag::warn_pragma_diagnostic_invalid, diag::warn_pragma_diagnostic_invalid_option, diag::warn_pragma_diagnostic_invalid_token, diag::warn_pragma_diagnostic_unknown_warning, diag::warn_pragma_ignored, diag::warn_pragma_include_alias_expected, diag::warn_pragma_include_alias_expected_filename, diag::warn_pragma_include_alias_mismatch_angle, diag::warn_pragma_include_alias_mismatch_quote, diag::warn_stdc_fenv_access_not_supported, -1 };
static const short DiagArray362[] = { diag::warn_unknown_negative_warning_option, diag::warn_unknown_negative_warning_option_suggest, diag::warn_unknown_warning_option, diag::warn_unknown_warning_option_suggest, diag::warn_unknown_warning_specifier, -1 };
static const short DiagArray363[] = { diag::ext_template_arg_unnamed_type, -1 };
static const short DiagSubGroup363[] = { 62, -1 };
static const short DiagArray364[] = { diag::warn_unneeded_internal_decl, diag::warn_unneeded_static_internal_decl, -1 };
static const short DiagArray365[] = { diag::warn_unneeded_member_function, -1 };
static const short DiagArray366[] = { diag::warn_unreachable, -1 };
static const short DiagArray367[] = { diag::warn_unsequenced_mod_mod, diag::warn_unsequenced_mod_use, -1 };
static const short DiagArray368[] = { diag::warn_attribute_protected_visibility, -1 };
static const short DiagSubGroup369[] = { 370, 374, 375, 379, 382, 383, -1 };
static const short DiagArray371[] = { diag::warn_drv_empty_joined_argument, diag::warn_drv_input_file_unused, diag::warn_drv_input_file_unused_by_cpp, diag::warn_drv_preprocessed_input_file_unused, diag::warn_drv_unused_argument, -1 };
static const short DiagSubGroup371[] = { 381, -1 };
static const short DiagArray372[] = { diag::warn_unused_comparison, -1 };
static const short DiagArray373[] = { diag::warn_unused_exception_param, -1 };
static const short DiagArray374[] = { diag::warn_unused_function, -1 };
static const short DiagSubGroup374[] = { 364, -1 };
static const short DiagArray375[] = { diag::warn_unused_label, -1 };
static const short DiagArray376[] = { diag::pp_macro_not_used, -1 };
static const short DiagArray377[] = { diag::warn_unused_member_function, -1 };
static const short DiagSubGroup377[] = { 365, -1 };
static const short DiagArray378[] = { diag::warn_unused_parameter, -1 };
static const short DiagArray379[] = { diag::warn_unused_private_field, -1 };
static const short DiagArray380[] = { diag::warn_unused_result, -1 };
static const short DiagArray381[] = { diag::warn_drv_unused_sanitizer, -1 };
static const short DiagArray382[] = { diag::warn_unused_call, diag::warn_unused_container_subscript_expr, diag::warn_unused_expr, diag::warn_unused_property_expr, diag::warn_unused_voidptr, -1 };
static const short DiagSubGroup382[] = { 372, 380, -1 };
static const short DiagArray383[] = { diag::warn_unused_variable, -1 };
static const short DiagArray384[] = { diag::warn_unused_volatile, -1 };
static const short DiagArray385[] = { diag::warn_used_but_marked_unused, -1 };
static const short DiagArray386[] = { diag::warn_user_literal_reserved, -1 };
static const short DiagArray387[] = { diag::ext_named_variadic_macro, diag::ext_variadic_macro, -1 };
static const short DiagArray388[] = { diag::warn_incompatible_vectors, -1 };
static const short DiagSubGroup389[] = { 388, -1 };
static const short DiagArray390[] = { diag::warn_empty_parens_are_function_decl, diag::warn_parens_disambiguated_as_function_declaration, -1 };
static const short DiagArray391[] = { diag::warn_decl_in_param_list, diag::warn_redefinition_in_param_list, -1 };
static const short DiagArray392[] = { diag::warn_vla_used, -1 };
static const short DiagArray393[] = { diag::ext_vla, -1 };
static const short DiagArray395[] = { diag::warn_weak_template_vtable, -1 };
static const short DiagArray396[] = { diag::warn_weak_vtable, -1 };
static const short DiagSubGroup397[] = { 99, -1 };
static const short DiagArray398[] = { diag::ext_typecheck_zero_array_size, -1 };
#endif // GET_DIAG_ARRAYS
#ifdef GET_DIAG_TABLE
{ 0, "", 0, DiagSubGroup0 },
{ 16, "#pragma-messages", DiagArray1, 0 },
{ 9, "#warnings", DiagArray2, 0 },
{ 16, "CFString-literal", DiagArray3, 0 },
{ 18, "NSObject-attribute", DiagArray4, 0 },
{ 3, "abi", 0, 0 },
{ 20, "abstract-final-class", DiagArray6, 0 },
{ 7, "address", 0, 0 },
{ 26, "address-of-array-temporary", DiagArray8, 0 },
{ 20, "address-of-temporary", DiagArray9, 0 },
{ 16, "aggregate-return", 0, 0 },
{ 3, "all", 0, DiagSubGroup11 },
{ 15, "ambiguous-macro", DiagArray12, 0 },
{ 25, "ambiguous-member-template", DiagArray13, 0 },
{ 28, "analyzer-incompatible-plugin", DiagArray14, 0 },
{ 21, "anonymous-pack-parens", DiagArray15, 0 },
{ 3, "arc", 0, DiagSubGroup16 },
{ 7, "arc-abi", 0, 0 },
{ 37, "arc-bridge-casts-disallowed-in-nonarc", DiagArray18, 0 },
{ 30, "arc-maybe-repeated-use-of-weak", DiagArray19, 0 },
{ 21, "arc-non-pod-memaccess", DiagArray20, 0 },
{ 25, "arc-performSelector-leaks", DiagArray21, 0 },
{ 24, "arc-repeated-use-of-weak", DiagArray22, DiagSubGroup22 },
{ 17, "arc-retain-cycles", DiagArray23, 0 },
{ 26, "arc-unsafe-retained-assign", DiagArray24, 0 },
{ 12, "array-bounds", DiagArray25, 0 },
{ 31, "array-bounds-pointer-arithmetic", DiagArray26, 0 },
{ 3, "asm", 0, DiagSubGroup27 },
{ 18, "asm-operand-widths", DiagArray28, 0 },
{ 11, "assign-enum", DiagArray29, 0 },
{ 17, "atomic-properties", 0, DiagSubGroup30 },
{ 42, "atomic-property-with-user-defined-accessor", DiagArray31, 0 },
{ 10, "attributes", DiagArray32, 0 },
{ 11, "auto-import", DiagArray33, 0 },
{ 18, "auto-storage-class", DiagArray34, 0 },
{ 11, "auto-var-id", DiagArray35, 0 },
{ 12, "availability", DiagArray36, 0 },
{ 24, "backslash-newline-escape", DiagArray37, 0 },
{ 20, "bad-array-new-length", DiagArray38, 0 },
{ 17, "bad-function-cast", DiagArray39, 0 },
{ 22, "bind-to-temporary-copy", DiagArray40, DiagSubGroup40 },
{ 22, "bitwise-op-parentheses", DiagArray41, 0 },
{ 15, "bool-conversion", DiagArray42, 0 },
{ 16, "bool-conversions", 0, DiagSubGroup43 },
{ 23, "builtin-macro-redefined", DiagArray44, 0 },
{ 23, "builtin-requires-header", DiagArray45, 0 },
{ 10, "c++-compat", DiagArray46, 0 },
{ 12, "c++0x-compat", 0, DiagSubGroup47 },
{ 16, "c++0x-extensions", 0, DiagSubGroup48 },
{ 15, "c++0x-narrowing", 0, DiagSubGroup49 },
{ 12, "c++11-compat", DiagArray50, DiagSubGroup50 },
{ 21, "c++11-compat-pedantic", 0, DiagSubGroup51 },
{ 42, "c++11-compat-reserved-user-defined-literal", DiagArray52, 0 },
{ 16, "c++11-extensions", DiagArray53, DiagSubGroup53 },
{ 16, "c++11-extra-semi", DiagArray54, 0 },
{ 15, "c++11-long-long", DiagArray55, 0 },
{ 15, "c++11-narrowing", DiagArray56, 0 },
{ 16, "c++1y-extensions", DiagArray57, 0 },
{ 12, "c++98-compat", DiagArray58, DiagSubGroup58 },
{ 35, "c++98-compat-bind-to-temporary-copy", DiagArray59, 0 },
{ 37, "c++98-compat-local-type-template-args", DiagArray60, 0 },
{ 21, "c++98-compat-pedantic", DiagArray61, DiagSubGroup61 },
{ 39, "c++98-compat-unnamed-type-template-args", DiagArray62, 0 },
{ 14, "c11-extensions", DiagArray63, 0 },
{ 10, "c99-compat", DiagArray64, 0 },
{ 14, "c99-extensions", DiagArray65, 0 },
{ 10, "cast-align", DiagArray66, 0 },
{ 16, "cast-of-sel-type", DiagArray67, 0 },
{ 9, "cast-qual", 0, 0 },
{ 10, "char-align", 0, 0 },
{ 15, "char-subscripts", DiagArray70, 0 },
{ 7, "comment", DiagArray71, 0 },
{ 8, "comments", 0, DiagSubGroup72 },
{ 30, "compare-distinct-pointer-types", DiagArray73, 0 },
{ 22, "complex-component-init", DiagArray74, 0 },
{ 25, "conditional-type-mismatch", DiagArray75, 0 },
{ 25, "conditional-uninitialized", DiagArray76, 0 },
{ 13, "config-macros", DiagArray77, 0 },
{ 19, "constant-conversion", DiagArray78, 0 },
{ 24, "constant-logical-operand", DiagArray79, 0 },
{ 19, "constexpr-not-const", DiagArray80, 0 },
{ 10, "conversion", DiagArray81, DiagSubGroup81 },
{ 15, "conversion-null", 0, DiagSubGroup82 },
{ 22, "covered-switch-default", DiagArray83, 0 },
{ 17, "ctor-dtor-privacy", 0, 0 },
{ 24, "custom-atomic-properties", DiagArray85, 0 },
{ 18, "cxx98-cxx11-compat", DiagArray86, 0 },
{ 27, "cxx98-cxx11-compat-pedantic", DiagArray87, DiagSubGroup87 },
{ 13, "dangling-else", DiagArray88, 0 },
{ 14, "dangling-field", DiagArray89, 0 },
{ 25, "dangling-initializer-list", DiagArray90, 0 },
{ 27, "declaration-after-statement", DiagArray91, 0 },
{ 22, "delegating-ctor-cycles", DiagArray92, 0 },
{ 17, "delete-incomplete", DiagArray93, 0 },
{ 23, "delete-non-virtual-dtor", DiagArray94, 0 },
{ 10, "deprecated", DiagArray95, DiagSubGroup95 },
{ 23, "deprecated-declarations", DiagArray96, 0 },
{ 26, "deprecated-implementations", DiagArray97, 0 },
{ 25, "deprecated-objc-isa-usage", DiagArray98, 0 },
{ 27, "deprecated-writable-strings", DiagArray99, 0 },
{ 18, "direct-ivar-access", DiagArray100, 0 },
{ 24, "disabled-macro-expansion", DiagArray101, 0 },
{ 21, "disabled-optimization", 0, 0 },
{ 12, "discard-qual", 0, 0 },
{ 28, "distributed-object-modifiers", DiagArray104, 0 },
{ 11, "div-by-zero", 0, 0 },
{ 16, "division-by-zero", DiagArray106, 0 },
{ 13, "documentation", DiagArray107, DiagSubGroup107 },
{ 29, "documentation-deprecated-sync", DiagArray108, 0 },
{ 18, "documentation-html", DiagArray109, 0 },
{ 22, "documentation-pedantic", DiagArray110, 0 },
{ 30, "dollar-in-identifier-extension", DiagArray111, 0 },
{ 24, "duplicate-decl-specifier", DiagArray112, 0 },
{ 14, "duplicate-enum", DiagArray113, 0 },
{ 20, "duplicate-method-arg", DiagArray114, 0 },
{ 22, "duplicate-method-match", DiagArray115, 0 },
{ 23, "dynamic-class-memaccess", DiagArray116, 0 },
{ 6, "effc++", 0, 0 },
{ 18, "embedded-directive", DiagArray118, 0 },
{ 10, "empty-body", DiagArray119, 0 },
{ 22, "empty-translation-unit", DiagArray120, 0 },
{ 12, "endif-labels", 0, DiagSubGroup121 },
{ 12, "enum-compare", DiagArray122, 0 },
{ 15, "enum-conversion", DiagArray123, 0 },
{ 21, "exit-time-destructors", DiagArray124, 0 },
{ 23, "explicit-ownership-type", DiagArray125, 0 },
{ 17, "extended-offsetof", DiagArray126, 0 },
{ 18, "extern-initializer", DiagArray127, 0 },
{ 5, "extra", 0, DiagSubGroup128 },
{ 10, "extra-semi", DiagArray129, DiagSubGroup129 },
{ 12, "extra-tokens", DiagArray130, 0 },
{ 25, "flexible-array-extensions", DiagArray131, 0 },
{ 11, "float-equal", DiagArray132, 0 },
{ 6, "format", DiagArray133, DiagSubGroup133 },
{ 17, "format-extra-args", DiagArray134, 0 },
{ 24, "format-invalid-specifier", DiagArray135, 0 },
{ 14, "format-non-iso", DiagArray136, 0 },
{ 17, "format-nonliteral", DiagArray137, DiagSubGroup137 },
{ 15, "format-security", DiagArray138, 0 },
{ 10, "format-y2k", 0, 0 },
{ 18, "format-zero-length", DiagArray140, 0 },
{ 8, "format=2", 0, DiagSubGroup141 },
{ 19, "four-char-constants", DiagArray142, 0 },
{ 10, "gcc-compat", DiagArray143, 0 },
{ 19, "global-constructors", DiagArray144, 0 },
{ 3, "gnu", DiagArray145, DiagSubGroup145 },
{ 27, "gnu-array-member-paren-init", DiagArray146, 0 },
{ 14, "gnu-designator", DiagArray147, 0 },
{ 21, "gnu-static-float-init", DiagArray148, 0 },
{ 14, "header-hygiene", DiagArray149, 0 },
{ 21, "idiomatic-parentheses", DiagArray150, 0 },
{ 18, "ignored-attributes", DiagArray151, 0 },
{ 18, "ignored-qualifiers", DiagArray152, 0 },
{ 8, "implicit", 0, DiagSubGroup153 },
{ 26, "implicit-atomic-properties", DiagArray154, 0 },
{ 42, "implicit-conversion-floating-point-to-bool", DiagArray155, 0 },
{ 32, "implicit-exception-spec-mismatch", DiagArray156, 0 },
{ 20, "implicit-fallthrough", DiagArray157, DiagSubGroup157 },
{ 33, "implicit-fallthrough-per-function", DiagArray158, 0 },
{ 29, "implicit-function-declaration", DiagArray159, 0 },
{ 12, "implicit-int", DiagArray160, 0 },
{ 20, "implicit-retain-self", DiagArray161, 0 },
{ 6, "import", 0, 0 },
{ 38, "import-preprocessor-directive-pedantic", DiagArray163, 0 },
{ 34, "incompatible-library-redeclaration", DiagArray164, 0 },
{ 26, "incompatible-pointer-types", DiagArray165, DiagSubGroup165 },
{ 46, "incompatible-pointer-types-discards-qualifiers", DiagArray166, 0 },
{ 25, "incomplete-implementation", DiagArray167, 0 },
{ 19, "incomplete-umbrella", DiagArray168, 0 },
{ 23, "inherited-variadic-ctor", DiagArray169, 0 },
{ 9, "init-self", 0, 0 },
{ 21, "initializer-overrides", DiagArray171, 0 },
{ 6, "inline", 0, 0 },
{ 14, "int-conversion", DiagArray173, 0 },
{ 15, "int-conversions", 0, DiagSubGroup174 },
{ 19, "int-to-pointer-cast", DiagArray175, 0 },
{ 16, "integer-overflow", DiagArray176, 0 },
{ 17, "invalid-constexpr", DiagArray177, 0 },
{ 16, "invalid-iboutlet", DiagArray178, 0 },
{ 16, "invalid-noreturn", DiagArray179, 0 },
{ 16, "invalid-offsetof", DiagArray180, 0 },
{ 11, "invalid-pch", 0, 0 },
{ 16, "invalid-pp-token", DiagArray182, 0 },
{ 23, "invalid-source-encoding", DiagArray183, 0 },
{ 19, "invalid-token-paste", DiagArray184, 0 },
{ 22, "knr-promoted-parameter", DiagArray185, 0 },
{ 24, "language-extension-token", DiagArray186, 0 },
{ 19, "large-by-value-copy", DiagArray187, 0 },
{ 18, "literal-conversion", DiagArray188, 0 },
{ 13, "literal-range", DiagArray189, 0 },
{ 24, "local-type-template-args", DiagArray190, DiagSubGroup190 },
{ 22, "logical-op-parentheses", DiagArray191, 0 },
{ 9, "long-long", DiagArray192, DiagSubGroup192 },
{ 13, "loop-analysis", DiagArray193, 0 },
{ 4, "main", DiagArray194, 0 },
{ 16, "main-return-type", DiagArray195, 0 },
{ 23, "malformed-warning-check", DiagArray196, 0 },
{ 17, "method-signatures", DiagArray197, 0 },
{ 9, "microsoft", DiagArray198, 0 },
{ 16, "microsoft-exists", DiagArray199, 0 },
{ 28, "mismatched-method-attributes", DiagArray200, 0 },
{ 26, "mismatched-parameter-types", DiagArray201, 0 },
{ 23, "mismatched-return-types", DiagArray202, 0 },
{ 15, "mismatched-tags", DiagArray203, 0 },
{ 14, "missing-braces", DiagArray204, 0 },
{ 20, "missing-declarations", DiagArray205, 0 },
{ 26, "missing-field-initializers", DiagArray206, 0 },
{ 24, "missing-format-attribute", 0, 0 },
{ 20, "missing-include-dirs", 0, 0 },
{ 26, "missing-method-return-type", DiagArray209, 0 },
{ 16, "missing-noreturn", DiagArray210, 0 },
{ 18, "missing-prototypes", DiagArray211, 0 },
{ 21, "missing-selector-name", DiagArray212, 0 },
{ 15, "missing-sysroot", DiagArray213, 0 },
{ 29, "missing-variable-declarations", DiagArray214, 0 },
{ 15, "module-conflict", DiagArray215, 0 },
{ 4, "most", 0, DiagSubGroup216 },
{ 9, "multichar", DiagArray217, 0 },
{ 9, "narrowing", 0, DiagSubGroup218 },
{ 17, "nested-anon-types", DiagArray219, 0 },
{ 14, "nested-externs", 0, 0 },
{ 11, "newline-eof", DiagArray221, 0 },
{ 7, "non-gcc", 0, DiagSubGroup222 },
{ 27, "non-literal-null-conversion", DiagArray223, 0 },
{ 15, "non-pod-varargs", DiagArray224, 0 },
{ 16, "non-virtual-dtor", DiagArray225, 0 },
{ 7, "nonnull", DiagArray226, 0 },
{ 21, "nonportable-cfstrings", 0, 0 },
{ 15, "null-arithmetic", DiagArray228, 0 },
{ 14, "null-character", DiagArray229, 0 },
{ 15, "null-conversion", DiagArray230, 0 },
{ 16, "null-dereference", DiagArray231, 0 },
{ 43, "objc-autosynthesis-property-ivar-name-match", DiagArray232, 0 },
{ 14, "objc-cocoa-api", 0, DiagSubGroup233 },
{ 31, "objc-forward-class-redefinition", DiagArray234, 0 },
{ 20, "objc-interface-ivars", DiagArray235, 0 },
{ 20, "objc-literal-compare", DiagArray236, DiagSubGroup236 },
{ 18, "objc-method-access", DiagArray237, 0 },
{ 31, "objc-missing-property-synthesis", DiagArray238, 0 },
{ 24, "objc-missing-super-calls", DiagArray239, 0 },
{ 34, "objc-noncopy-retain-block-property", DiagArray240, 0 },
{ 26, "objc-nonunified-exceptions", DiagArray241, 0 },
{ 28, "objc-property-implementation", DiagArray242, 0 },
{ 42, "objc-property-matches-cocoa-ownership-rule", DiagArray243, 0 },
{ 26, "objc-property-no-attribute", DiagArray244, 0 },
{ 23, "objc-property-synthesis", DiagArray245, 0 },
{ 35, "objc-protocol-method-implementation", DiagArray246, 0 },
{ 32, "objc-protocol-property-synthesis", DiagArray247, 0 },
{ 34, "objc-readonly-with-setter-property", DiagArray248, 0 },
{ 22, "objc-redundant-api-use", 0, DiagSubGroup249 },
{ 26, "objc-redundant-literal-use", DiagArray250, 0 },
{ 15, "objc-root-class", DiagArray251, 0 },
{ 19, "objc-string-compare", DiagArray252, 0 },
{ 3, "odr", DiagArray253, 0 },
{ 14, "old-style-cast", 0, 0 },
{ 20, "old-style-definition", 0, 0 },
{ 23, "out-of-line-declaration", DiagArray256, 0 },
{ 12, "over-aligned", DiagArray257, 0 },
{ 8, "overflow", 0, 0 },
{ 18, "overlength-strings", DiagArray259, 0 },
{ 31, "overloaded-shift-op-parentheses", DiagArray260, 0 },
{ 18, "overloaded-virtual", DiagArray261, 0 },
{ 26, "overriding-method-mismatch", DiagArray262, 0 },
{ 6, "packed", DiagArray263, 0 },
{ 6, "padded", DiagArray264, 0 },
{ 11, "parentheses", DiagArray265, DiagSubGroup265 },
{ 20, "parentheses-equality", DiagArray266, 0 },
{ 8, "pedantic", DiagArray267, DiagSubGroup267 },
{ 13, "pointer-arith", DiagArray268, 0 },
{ 12, "pointer-sign", DiagArray269, 0 },
{ 19, "pointer-to-int-cast", 0, 0 },
{ 21, "pointer-type-mismatch", DiagArray271, 0 },
{ 38, "predefined-identifier-outside-function", DiagArray272, 0 },
{ 14, "private-extern", DiagArray273, 0 },
{ 8, "protocol", DiagArray274, 0 },
{ 26, "readonly-iboutlet-property", DiagArray275, 0 },
{ 21, "readonly-setter-attrs", DiagArray276, 0 },
{ 13, "receiver-expr", DiagArray277, 0 },
{ 22, "receiver-forward-class", DiagArray278, 0 },
{ 16, "receiver-is-weak", DiagArray279, 0 },
{ 15, "redundant-decls", 0, 0 },
{ 22, "reinterpret-base-class", DiagArray281, 0 },
{ 7, "reorder", DiagArray282, 0 },
{ 24, "requires-super-attribute", DiagArray283, 0 },
{ 29, "reserved-user-defined-literal", DiagArray284, DiagSubGroup284 },
{ 20, "return-stack-address", DiagArray285, 0 },
{ 11, "return-type", DiagArray286, DiagSubGroup286 },
{ 21, "return-type-c-linkage", DiagArray287, 0 },
{ 7, "section", DiagArray288, 0 },
{ 8, "selector", DiagArray289, 0 },
{ 11, "self-assign", DiagArray290, DiagSubGroup290 },
{ 17, "self-assign-field", DiagArray291, 0 },
{ 28, "semicolon-before-method-body", DiagArray292, 0 },
{ 8, "sentinel", DiagArray293, 0 },
{ 14, "sequence-point", 0, DiagSubGroup294 },
{ 22, "serialized-diagnostics", DiagArray295, 0 },
{ 6, "shadow", DiagArray296, 0 },
{ 11, "shadow-ivar", DiagArray297, 0 },
{ 20, "shift-count-negative", DiagArray298, 0 },
{ 20, "shift-count-overflow", DiagArray299, 0 },
{ 20, "shift-op-parentheses", DiagArray300, 0 },
{ 14, "shift-overflow", DiagArray301, 0 },
{ 19, "shift-sign-overflow", DiagArray302, 0 },
{ 16, "shorten-64-to-32", DiagArray303, 0 },
{ 12, "sign-compare", DiagArray304, 0 },
{ 15, "sign-conversion", DiagArray305, 0 },
{ 10, "sign-promo", 0, 0 },
{ 21, "sizeof-array-argument", DiagArray307, 0 },
{ 18, "sizeof-array-decay", DiagArray308, 0 },
{ 24, "sizeof-pointer-memaccess", DiagArray309, 0 },
{ 23, "sometimes-uninitialized", DiagArray310, 0 },
{ 18, "source-uses-openmp", DiagArray311, 0 },
{ 15, "stack-protector", 0, 0 },
{ 17, "static-float-init", DiagArray313, DiagSubGroup313 },
{ 16, "static-in-inline", DiagArray314, 0 },
{ 22, "static-local-in-inline", DiagArray315, 0 },
{ 16, "static-self-init", DiagArray316, 0 },
{ 15, "strict-aliasing", 0, 0 },
{ 17, "strict-aliasing=0", 0, 0 },
{ 17, "strict-aliasing=1", 0, 0 },
{ 17, "strict-aliasing=2", 0, 0 },
{ 15, "strict-overflow", 0, 0 },
{ 17, "strict-overflow=0", 0, 0 },
{ 17, "strict-overflow=1", 0, 0 },
{ 17, "strict-overflow=2", 0, 0 },
{ 17, "strict-overflow=3", 0, 0 },
{ 17, "strict-overflow=4", 0, 0 },
{ 17, "strict-overflow=5", 0, 0 },
{ 17, "strict-prototypes", 0, 0 },
{ 21, "strict-selector-match", DiagArray329, 0 },
{ 14, "string-compare", DiagArray330, 0 },
{ 17, "string-conversion", DiagArray331, 0 },
{ 15, "string-plus-int", DiagArray332, 0 },
{ 20, "strlcpy-strlcat-size", DiagArray333, 0 },
{ 12, "strncat-size", DiagArray334, 0 },
{ 27, "super-class-method-mismatch", DiagArray335, 0 },
{ 6, "switch", DiagArray336, 0 },
{ 14, "switch-default", 0, 0 },
{ 11, "switch-enum", DiagArray338, 0 },
{ 5, "synth", 0, 0 },
{ 20, "tautological-compare", DiagArray340, DiagSubGroup340 },
{ 42, "tautological-constant-out-of-range-compare", DiagArray341, 0 },
{ 36, "tentative-definition-incomplete-type", DiagArray342, 0 },
{ 13, "thread-safety", 0, DiagSubGroup343 },
{ 22, "thread-safety-analysis", DiagArray344, 0 },
{ 24, "thread-safety-attributes", DiagArray345, 0 },
{ 18, "thread-safety-beta", DiagArray346, 0 },
{ 21, "thread-safety-precise", DiagArray347, 0 },
{ 9, "trigraphs", DiagArray348, 0 },
{ 11, "type-limits", 0, 0 },
{ 11, "type-safety", DiagArray350, 0 },
{ 20, "typedef-redefinition", DiagArray351, 0 },
{ 16, "typename-missing", DiagArray352, 0 },
{ 19, "undeclared-selector", DiagArray353, 0 },
{ 5, "undef", DiagArray354, 0 },
{ 16, "undefined-inline", DiagArray355, 0 },
{ 18, "undefined-internal", DiagArray356, 0 },
{ 26, "undefined-reinterpret-cast", DiagArray357, 0 },
{ 7, "unicode", DiagArray358, 0 },
{ 18, "unicode-whitespace", DiagArray359, 0 },
{ 13, "uninitialized", DiagArray360, DiagSubGroup360 },
{ 15, "unknown-pragmas", DiagArray361, 0 },
{ 22, "unknown-warning-option", DiagArray362, 0 },
{ 26, "unnamed-type-template-args", DiagArray363, DiagSubGroup363 },
{ 29, "unneeded-internal-declaration", DiagArray364, 0 },
{ 24, "unneeded-member-function", DiagArray365, 0 },
{ 16, "unreachable-code", DiagArray366, 0 },
{ 11, "unsequenced", DiagArray367, 0 },
{ 22, "unsupported-visibility", DiagArray368, 0 },
{ 6, "unused", 0, DiagSubGroup369 },
{ 15, "unused-argument", 0, 0 },
{ 28, "unused-command-line-argument", DiagArray371, DiagSubGroup371 },
{ 17, "unused-comparison", DiagArray372, 0 },
{ 26, "unused-exception-parameter", DiagArray373, 0 },
{ 15, "unused-function", DiagArray374, DiagSubGroup374 },
{ 12, "unused-label", DiagArray375, 0 },
{ 13, "unused-macros", DiagArray376, 0 },
{ 22, "unused-member-function", DiagArray377, DiagSubGroup377 },
{ 16, "unused-parameter", DiagArray378, 0 },
{ 20, "unused-private-field", DiagArray379, 0 },
{ 13, "unused-result", DiagArray380, 0 },
{ 24, "unused-sanitize-argument", DiagArray381, 0 },
{ 12, "unused-value", DiagArray382, DiagSubGroup382 },
{ 15, "unused-variable", DiagArray383, 0 },
{ 22, "unused-volatile-lvalue", DiagArray384, 0 },
{ 22, "used-but-marked-unused", DiagArray385, 0 },
{ 21, "user-defined-literals", DiagArray386, 0 },
{ 15, "variadic-macros", DiagArray387, 0 },
{ 17, "vector-conversion", DiagArray388, 0 },
{ 18, "vector-conversions", 0, DiagSubGroup389 },
{ 12, "vexing-parse", DiagArray390, 0 },
{ 10, "visibility", DiagArray391, 0 },
{ 3, "vla", DiagArray392, 0 },
{ 13, "vla-extension", DiagArray393, 0 },
{ 21, "volatile-register-var", 0, 0 },
{ 21, "weak-template-vtables", DiagArray395, 0 },
{ 12, "weak-vtables", DiagArray396, 0 },
{ 13, "write-strings", 0, DiagSubGroup397 },
{ 17, "zero-length-array", DiagArray398, 0 },
#endif // GET_DIAG_TABLE
#ifdef GET_CATEGORY_TABLE
CATEGORY("", DiagCat_None)
CATEGORY("Lexical or Preprocessor Issue", DiagCat_Lexical_or_Preprocessor_Issue)
CATEGORY("Semantic Issue", DiagCat_Semantic_Issue)
CATEGORY("Lambda Issue", DiagCat_Lambda_Issue)
CATEGORY("Parse Issue", DiagCat_Parse_Issue)
CATEGORY("ARC Semantic Issue", DiagCat_ARC_Semantic_Issue)
CATEGORY("ARC and @properties", DiagCat_ARC_and__properties)
CATEGORY("ARC Casting Rules", DiagCat_ARC_Casting_Rules)
CATEGORY("ARC Parse Issue", DiagCat_ARC_Parse_Issue)
CATEGORY("ARC Weak References", DiagCat_ARC_Weak_References)
CATEGORY("ARC Restrictions", DiagCat_ARC_Restrictions)
CATEGORY("Inline Assembly Issue", DiagCat_Inline_Assembly_Issue)
CATEGORY("Modules Issue", DiagCat_Modules_Issue)
CATEGORY("User Defined Issues", DiagCat_User_Defined_Issues)
CATEGORY("Value Conversion Issue", DiagCat_Value_Conversion_Issue)
CATEGORY("Documentation Issue", DiagCat_Documentation_Issue)
CATEGORY("ARC Retain Cycle", DiagCat_ARC_Retain_Cycle)
CATEGORY("Related Result Type Issue", DiagCat_Related_Result_Type_Issue)
CATEGORY("#warning Directive", DiagCat__warning_Directive)
CATEGORY("Deprecations", DiagCat_Deprecations)
CATEGORY("Format String Issue", DiagCat_Format_String_Issue)
CATEGORY("Cocoa API Issue", DiagCat_Cocoa_API_Issue)
CATEGORY("#pragma message Directive", DiagCat__pragma_message_Directive)
CATEGORY("Unused Entity Issue", DiagCat_Unused_Entity_Issue)
#endif // GET_CATEGORY_TABLE

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,267 @@
#ifdef LEXSTART
__LEXSTART = DIAG_START_LEX,
#undef LEXSTART
#endif
DIAG(backslash_newline_space, CLASS_WARNING, diag::MAP_WARNING, "backslash and newline separated by space", 37, true, false, false, false, 1)
DIAG(err__Pragma_malformed, CLASS_ERROR, diag::MAP_ERROR, "_Pragma takes a parenthesized string literal", 0, true, false, false, false, 1)
DIAG(err_bad_character_encoding, CLASS_ERROR, diag::MAP_ERROR, "illegal character encoding in character literal", 0, true, false, false, false, 1)
DIAG(err_bad_string_encoding, CLASS_ERROR, diag::MAP_ERROR, "illegal character encoding in string literal", 0, true, false, false, false, 1)
DIAG(err_character_too_large, CLASS_ERROR, diag::MAP_ERROR, "character too large for enclosing character literal type", 0, true, false, false, false, 1)
DIAG(err_conflict_marker, CLASS_ERROR, diag::MAP_ERROR, "version control conflict marker in file", 0, true, false, false, false, 1)
DIAG(err_defined_macro_name, CLASS_ERROR, diag::MAP_ERROR, "'defined' cannot be used as a macro name", 0, true, false, false, false, 1)
DIAG(err_embedded_include, CLASS_ERROR, diag::MAP_ERROR, "embedding a #%0 directive within macro arguments is not supported", 0, true, false, false, false, 1)
DIAG(err_expected_id_building_module, CLASS_ERROR, diag::MAP_ERROR, "expected a module name in '__building_module' expression", 0, true, false, false, false, 1)
DIAG(err_exponent_has_no_digits, CLASS_ERROR, diag::MAP_ERROR, "exponent has no digits", 0, true, false, false, false, 1)
DIAG(err_feature_check_malformed, CLASS_ERROR, diag::MAP_ERROR, "builtin feature check macro requires a parenthesized identifier", 0, true, false, false, false, 1)
DIAG(err_hex_escape_no_digits, CLASS_ERROR, diag::MAP_ERROR, "\\%0 used with no following hex digits", 0, true, false, false, false, 1)
DIAG(err_hexconstant_requires_digits, CLASS_ERROR, diag::MAP_ERROR, "hexadecimal floating constants require a significand", 0, true, false, false, false, 1)
DIAG(err_hexconstant_requires_exponent, CLASS_ERROR, diag::MAP_ERROR, "hexadecimal floating constants require an exponent", 0, true, false, false, false, 1)
DIAG(err_invalid_binary_digit, CLASS_ERROR, diag::MAP_ERROR, "invalid digit '%0' in binary constant", 0, true, false, false, false, 1)
DIAG(err_invalid_char_raw_delim, CLASS_ERROR, diag::MAP_ERROR, "invalid character '%0' character in raw string delimiter; use PREFIX( )PREFIX to delimit raw string", 0, true, false, false, false, 1)
DIAG(err_invalid_character_to_charify, CLASS_ERROR, diag::MAP_ERROR, "invalid argument to convert to character", 0, true, false, false, false, 1)
DIAG(err_invalid_decimal_digit, CLASS_ERROR, diag::MAP_ERROR, "invalid digit '%0' in decimal constant", 0, true, false, false, false, 1)
DIAG(err_invalid_octal_digit, CLASS_ERROR, diag::MAP_ERROR, "invalid digit '%0' in octal constant", 0, true, false, false, false, 1)
DIAG(err_invalid_pth_file, CLASS_ERROR, diag::MAP_ERROR, "invalid or corrupt PTH file '%0'", 0, true, false, false, false, 1)
DIAG(err_invalid_suffix_float_constant, CLASS_ERROR, diag::MAP_ERROR, "invalid suffix '%0' on floating constant", 0, true, false, false, false, 1)
DIAG(err_invalid_suffix_integer_constant, CLASS_ERROR, diag::MAP_ERROR, "invalid suffix '%0' on integer constant", 0, true, false, false, false, 1)
DIAG(err_invalid_utf8, CLASS_ERROR, diag::MAP_ERROR, "source file is not valid UTF-8", 0, true, false, false, false, 1)
DIAG(err_lexing_string, CLASS_ERROR, diag::MAP_ERROR, "failure when lexing a string", 0, true, false, false, false, 1)
DIAG(err_mmap_config_macro_submodule, CLASS_ERROR, diag::MAP_ERROR, "configuration macros are only allowed on top-level modules", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_attribute, CLASS_ERROR, diag::MAP_ERROR, "expected an attribute name", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_config_macro, CLASS_ERROR, diag::MAP_ERROR, "expected configuration macro name after ','", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_conflicts_comma, CLASS_ERROR, diag::MAP_ERROR, "expected ',' after conflicting module name", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_conflicts_message, CLASS_ERROR, diag::MAP_ERROR, "expected a message describing the conflict with '%0'", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_export_wildcard, CLASS_ERROR, diag::MAP_ERROR, "only '*' can be exported from an inferred submodule", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_feature, CLASS_ERROR, diag::MAP_ERROR, "expected a feature name", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_header, CLASS_ERROR, diag::MAP_ERROR, "expected a header name after '%0'", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_inferred_member, CLASS_ERROR, diag::MAP_ERROR, "expected %select{module exclusion with 'exclude'|'export *'}0", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_lbrace, CLASS_ERROR, diag::MAP_ERROR, "expected '{' to start module '%0'", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_lbrace_wildcard, CLASS_ERROR, diag::MAP_ERROR, "expected '{' to start inferred submodule", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_library_name, CLASS_ERROR, diag::MAP_ERROR, "expected %select{library|framework}0 name as a string", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_member, CLASS_ERROR, diag::MAP_ERROR, "expected umbrella, header, submodule, or module export", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_module, CLASS_ERROR, diag::MAP_ERROR, "expected module declaration", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_module_name, CLASS_ERROR, diag::MAP_ERROR, "expected module name", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_rbrace, CLASS_ERROR, diag::MAP_ERROR, "expected '}'", 0, true, false, false, false, 1)
DIAG(err_mmap_expected_rsquare, CLASS_ERROR, diag::MAP_ERROR, "expected ']' to close attribute", 0, true, false, false, false, 1)
DIAG(err_mmap_explicit_inferred_framework, CLASS_ERROR, diag::MAP_ERROR, "inferred framework modules cannot be 'explicit'", 0, true, false, false, false, 1)
DIAG(err_mmap_explicit_top_level, CLASS_ERROR, diag::MAP_ERROR, "'explicit' is not permitted on top-level modules", 0, true, false, false, false, 1)
DIAG(err_mmap_export_module_id, CLASS_ERROR, diag::MAP_ERROR, "expected an exported module name or '*'", 0, true, false, false, false, 1)
DIAG(err_mmap_header_conflict, CLASS_ERROR, diag::MAP_ERROR, "header '%0' is already part of module '%1'", 0, true, false, false, false, 1)
DIAG(err_mmap_header_not_found, CLASS_ERROR, diag::MAP_ERROR, "%select{|umbrella }0header '%1' not found", 0, true, false, false, false, 1)
DIAG(err_mmap_inferred_framework_submodule, CLASS_ERROR, diag::MAP_ERROR, "inferred submodule cannot be a framework submodule", 0, true, false, false, false, 1)
DIAG(err_mmap_inferred_no_umbrella, CLASS_ERROR, diag::MAP_ERROR, "inferred submodules require a module with an umbrella", 0, true, false, false, false, 1)
DIAG(err_mmap_inferred_redef, CLASS_ERROR, diag::MAP_ERROR, "redefinition of inferred submodule", 0, true, false, false, false, 1)
DIAG(err_mmap_missing_exclude_name, CLASS_ERROR, diag::MAP_ERROR, "expected excluded module name", 0, true, false, false, false, 1)
DIAG(err_mmap_missing_module_qualified, CLASS_ERROR, diag::MAP_ERROR, "no module named '%0' in '%1'", 0, true, false, false, false, 1)
DIAG(err_mmap_missing_module_unqualified, CLASS_ERROR, diag::MAP_ERROR, "no module named '%0' visible from '%1'", 0, true, false, false, false, 1)
DIAG(err_mmap_module_redefinition, CLASS_ERROR, diag::MAP_ERROR, "redefinition of module '%0'", 0, true, false, false, false, 1)
DIAG(err_mmap_nested_submodule_id, CLASS_ERROR, diag::MAP_ERROR, "qualified module name can only be used to define modules at the top level", 0, true, false, false, false, 1)
DIAG(err_mmap_top_level_inferred_submodule, CLASS_ERROR, diag::MAP_ERROR, "only submodules and framework modules may be inferred with wildcard syntax", 0, true, false, false, false, 1)
DIAG(err_mmap_umbrella_clash, CLASS_ERROR, diag::MAP_ERROR, "umbrella for module '%0' already covers this directory", 0, true, false, false, false, 1)
DIAG(err_mmap_umbrella_dir_not_found, CLASS_ERROR, diag::MAP_ERROR, "umbrella directory '%0' not found", 0, true, false, false, false, 1)
DIAG(err_mmap_unknown_token, CLASS_ERROR, diag::MAP_ERROR, "skipping stray token", 0, true, false, false, false, 1)
DIAG(err_multichar_utf_character_literal, CLASS_ERROR, diag::MAP_ERROR, "Unicode character literals may not contain multiple characters", 0, true, false, false, false, 1)
DIAG(err_non_ascii, CLASS_ERROR, diag::MAP_ERROR, "non-ASCII characters are not allowed outside of literals and identifiers", 0, true, false, false, false, 1)
DIAG(err_pascal_string_too_long, CLASS_ERROR, diag::MAP_ERROR, "Pascal string is too long", 0, true, false, false, false, 1)
DIAG(err_paste_at_end, CLASS_ERROR, diag::MAP_ERROR, "'##' cannot appear at end of macro expansion", 0, true, false, false, false, 1)
DIAG(err_paste_at_start, CLASS_ERROR, diag::MAP_ERROR, "'##' cannot appear at start of macro expansion", 0, true, false, false, false, 1)
DIAG(err_pp_arc_cf_code_audited_syntax, CLASS_ERROR, diag::MAP_ERROR, "expected 'begin' or 'end'", 0, true, false, false, false, 1)
DIAG(err_pp_bad_paste, CLASS_ERROR, diag::MAP_ERROR, "pasting formed '%0', an invalid preprocessing token", 0, true, false, false, false, 1)
DIAG(err_pp_bad_paste_ms, CLASS_WARNING, diag::MAP_ERROR, "pasting formed '%0', an invalid preprocessing token", 184, true, false, false, false, 1)
DIAG(err_pp_colon_without_question, CLASS_ERROR, diag::MAP_ERROR, "':' without preceding '?'", 0, true, false, false, false, 1)
DIAG(err_pp_defined_requires_identifier, CLASS_ERROR, diag::MAP_ERROR, "operator 'defined' requires an identifier", 0, true, false, false, false, 1)
DIAG(err_pp_directive_required, CLASS_ERROR, diag::MAP_ERROR, "%0 must be used within a preprocessing directive", 0, true, false, false, false, 1)
DIAG(err_pp_division_by_zero, CLASS_ERROR, diag::MAP_ERROR, "division by zero in preprocessor expression", 0, true, false, false, false, 1)
DIAG(err_pp_double_begin_of_arc_cf_code_audited, CLASS_ERROR, diag::MAP_ERROR, "already inside '#pragma clang arc_cf_code_audited'", 0, true, false, false, false, 1)
DIAG(err_pp_duplicate_name_in_arg_list, CLASS_ERROR, diag::MAP_ERROR, "duplicate macro parameter name %0", 0, true, false, false, false, 1)
DIAG(err_pp_empty_filename, CLASS_ERROR, diag::MAP_ERROR, "empty filename", 0, true, false, false, false, 1)
DIAG(err_pp_endif_without_if, CLASS_ERROR, diag::MAP_ERROR, "#endif without #if", 0, true, false, false, false, 1)
DIAG(err_pp_eof_in_arc_cf_code_audited, CLASS_ERROR, diag::MAP_ERROR, "'#pragma clang arc_cf_code_audited' was not ended within this file", 0, true, false, false, false, 1)
DIAG(err_pp_error_opening_file, CLASS_ERROR, diag::MAP_FATAL, "error opening file '%0': %1", 0, true, false, false, false, 1)
DIAG(err_pp_expected_comma_in_arg_list, CLASS_ERROR, diag::MAP_ERROR, "expected comma in macro parameter list", 0, true, false, false, false, 1)
DIAG(err_pp_expected_eol, CLASS_ERROR, diag::MAP_ERROR, "expected end of line in preprocessor expression", 0, true, false, false, false, 1)
DIAG(err_pp_expected_ident_in_arg_list, CLASS_ERROR, diag::MAP_ERROR, "expected identifier in macro parameter list", 0, true, false, false, false, 1)
DIAG(err_pp_expected_rparen, CLASS_ERROR, diag::MAP_ERROR, "expected ')' in preprocessor expression", 0, true, false, false, false, 1)
DIAG(err_pp_expected_value_in_expr, CLASS_ERROR, diag::MAP_ERROR, "expected value in expression", 0, true, false, false, false, 1)
DIAG(err_pp_expects_filename, CLASS_ERROR, diag::MAP_ERROR, "expected \"FILENAME\" or <FILENAME>", 0, true, false, false, false, 1)
DIAG(err_pp_expr_bad_token_binop, CLASS_ERROR, diag::MAP_ERROR, "token is not a valid binary operator in a preprocessor subexpression", 0, true, false, false, false, 1)
DIAG(err_pp_expr_bad_token_start_expr, CLASS_ERROR, diag::MAP_ERROR, "invalid token at start of a preprocessor expression", 0, true, false, false, false, 1)
DIAG(err_pp_file_not_found, CLASS_ERROR, diag::MAP_FATAL, "'%0' file not found", 0, true, false, false, false, 1)
DIAG(err_pp_file_not_found_not_fatal, CLASS_ERROR, diag::MAP_ERROR, "'%0' file not found with <angled> include; use \"quotes\" instead", 0, true, false, false, false, 1)
DIAG(err_pp_hash_error, CLASS_ERROR, diag::MAP_ERROR, "%0", 0, true, false, false, false, 13)
DIAG(err_pp_illegal_floating_literal, CLASS_ERROR, diag::MAP_ERROR, "floating point literal in preprocessor expression", 0, true, false, false, false, 1)
DIAG(err_pp_import_directive_ms, CLASS_ERROR, diag::MAP_ERROR, "#import of type library is an unsupported Microsoft feature", 0, true, false, false, false, 1)
DIAG(err_pp_include_in_arc_cf_code_audited, CLASS_ERROR, diag::MAP_ERROR, "cannot #include files inside '#pragma clang arc_cf_code_audited'", 0, true, false, false, false, 1)
DIAG(err_pp_include_too_deep, CLASS_ERROR, diag::MAP_ERROR, "#include nested too deeply", 0, true, false, false, false, 1)
DIAG(err_pp_invalid_directive, CLASS_ERROR, diag::MAP_ERROR, "invalid preprocessing directive", 0, true, false, false, false, 1)
DIAG(err_pp_invalid_poison, CLASS_ERROR, diag::MAP_ERROR, "can only poison identifier tokens", 0, true, false, false, false, 1)
DIAG(err_pp_invalid_tok_in_arg_list, CLASS_ERROR, diag::MAP_ERROR, "invalid token in macro parameter list", 0, true, false, false, false, 1)
DIAG(err_pp_invalid_udl, CLASS_ERROR, diag::MAP_ERROR, "%select{character|integer}0 literal with user-defined suffix cannot be used in preprocessor constant expression", 0, true, false, false, false, 1)
DIAG(err_pp_line_digit_sequence, CLASS_ERROR, diag::MAP_ERROR, "%select{#line|GNU line marker}0 directive requires a simple digit sequence", 0, true, false, false, false, 1)
DIAG(err_pp_line_invalid_filename, CLASS_ERROR, diag::MAP_ERROR, "invalid filename for #line directive", 0, true, false, false, false, 1)
DIAG(err_pp_line_requires_integer, CLASS_ERROR, diag::MAP_ERROR, "#line directive requires a positive integer argument", 0, true, false, false, false, 1)
DIAG(err_pp_linemarker_invalid_filename, CLASS_ERROR, diag::MAP_ERROR, "invalid filename for line marker directive", 0, true, false, false, false, 1)
DIAG(err_pp_linemarker_invalid_flag, CLASS_ERROR, diag::MAP_ERROR, "invalid flag line marker directive", 0, true, false, false, false, 1)
DIAG(err_pp_linemarker_invalid_pop, CLASS_ERROR, diag::MAP_ERROR, "invalid line marker flag '2': cannot pop empty include stack", 0, true, false, false, false, 1)
DIAG(err_pp_linemarker_requires_integer, CLASS_ERROR, diag::MAP_ERROR, "line marker directive requires a positive integer argument", 0, true, false, false, false, 1)
DIAG(err_pp_macro_not_identifier, CLASS_ERROR, diag::MAP_ERROR, "macro names must be identifiers", 0, true, false, false, false, 1)
DIAG(err_pp_malformed_ident, CLASS_ERROR, diag::MAP_ERROR, "invalid #ident directive", 0, true, false, false, false, 1)
DIAG(err_pp_missing_lparen, CLASS_ERROR, diag::MAP_ERROR, "missing '(' after '%0'", 0, true, false, false, false, 1)
DIAG(err_pp_missing_macro_name, CLASS_ERROR, diag::MAP_ERROR, "macro name missing", 0, true, false, false, false, 1)
DIAG(err_pp_missing_rparen, CLASS_ERROR, diag::MAP_ERROR, "missing ')' after '%0'", 0, true, false, false, false, 1)
DIAG(err_pp_missing_rparen_in_macro_def, CLASS_ERROR, diag::MAP_ERROR, "missing ')' in macro parameter list", 0, true, false, false, false, 1)
DIAG(err_pp_opencl_variadic_macros, CLASS_ERROR, diag::MAP_ERROR, "variadic macros not supported in OpenCL", 0, true, false, false, false, 1)
DIAG(err_pp_operator_used_as_macro_name, CLASS_ERROR, diag::MAP_ERROR, "C++ operator '%0' cannot be used as a macro name", 0, true, false, false, false, 1)
DIAG(err_pp_remainder_by_zero, CLASS_ERROR, diag::MAP_ERROR, "remainder by zero in preprocessor expression", 0, true, false, false, false, 1)
DIAG(err_pp_stringize_not_parameter, CLASS_ERROR, diag::MAP_ERROR, "'#' is not followed by a macro parameter", 0, true, false, false, false, 1)
DIAG(err_pp_unmatched_end_of_arc_cf_code_audited, CLASS_ERROR, diag::MAP_ERROR, "not currently inside '#pragma clang arc_cf_code_audited'", 0, true, false, false, false, 1)
DIAG(err_pp_unterminated_conditional, CLASS_ERROR, diag::MAP_ERROR, "unterminated conditional directive", 0, true, false, false, false, 1)
DIAG(err_pp_used_poisoned_id, CLASS_ERROR, diag::MAP_ERROR, "attempt to use a poisoned identifier", 0, true, false, false, false, 1)
DIAG(err_pp_visibility_non_macro, CLASS_ERROR, diag::MAP_ERROR, "no macro named %0", 0, true, false, false, false, 1)
DIAG(err_pragma_comment_malformed, CLASS_ERROR, diag::MAP_ERROR, "pragma comment requires parenthesized identifier and optional string", 0, true, false, false, false, 1)
DIAG(err_pragma_comment_unknown_kind, CLASS_ERROR, diag::MAP_ERROR, "unknown kind of pragma comment", 0, true, false, false, false, 1)
DIAG(err_pragma_message, CLASS_ERROR, diag::MAP_ERROR, "%0", 0, true, false, false, false, 1)
DIAG(err_pragma_message_malformed, CLASS_ERROR, diag::MAP_ERROR, "pragma %select{message|warning|error}0 requires parenthesized string", 0, true, false, false, false, 1)
DIAG(err_pragma_push_pop_macro_malformed, CLASS_ERROR, diag::MAP_ERROR, "pragma %0 requires a parenthesized string", 0, true, false, false, false, 1)
DIAG(err_raw_delim_too_long, CLASS_ERROR, diag::MAP_ERROR, "raw string delimiter longer than 16 characters; use PREFIX( )PREFIX to delimit raw string", 0, true, false, false, false, 1)
DIAG(err_string_concat_mixed_suffix, CLASS_ERROR, diag::MAP_ERROR, "differing user-defined suffixes ('%0' and '%1') in string literal concatenation", 0, true, false, false, false, 1)
DIAG(err_too_few_args_in_macro_invoc, CLASS_ERROR, diag::MAP_ERROR, "too few arguments provided to function-like macro invocation", 0, true, false, false, false, 1)
DIAG(err_too_many_args_in_macro_invoc, CLASS_ERROR, diag::MAP_ERROR, "too many arguments provided to function-like macro invocation", 0, true, false, false, false, 1)
DIAG(err_ucn_control_character, CLASS_ERROR, diag::MAP_ERROR, "universal character name refers to a control character", 0, true, false, false, false, 1)
DIAG(err_ucn_escape_basic_scs, CLASS_ERROR, diag::MAP_ERROR, "character '%0' cannot be specified by a universal character name", 0, true, false, false, false, 1)
DIAG(err_ucn_escape_incomplete, CLASS_ERROR, diag::MAP_ERROR, "incomplete universal character name", 0, true, false, false, false, 1)
DIAG(err_ucn_escape_invalid, CLASS_ERROR, diag::MAP_ERROR, "invalid universal character", 0, true, false, false, false, 1)
DIAG(err_unsupported_string_concat, CLASS_ERROR, diag::MAP_ERROR, "unsupported non-standard concatenation of string literals", 0, true, false, false, false, 1)
DIAG(err_unterm_macro_invoc, CLASS_ERROR, diag::MAP_ERROR, "unterminated function-like macro invocation", 0, true, false, false, false, 1)
DIAG(err_unterminated___pragma, CLASS_ERROR, diag::MAP_ERROR, "missing terminating ')' character", 0, true, false, false, false, 1)
DIAG(err_unterminated_block_comment, CLASS_ERROR, diag::MAP_ERROR, "unterminated /* comment", 0, true, false, false, false, 1)
DIAG(err_unterminated_raw_string, CLASS_ERROR, diag::MAP_ERROR, "raw string missing terminating delimiter )%0\"", 0, true, false, false, false, 1)
DIAG(err_warning_check_malformed, CLASS_ERROR, diag::MAP_ERROR, "builtin warning check macro requires a parenthesized string", 0, true, false, false, false, 1)
DIAG(escaped_newline_block_comment_end, CLASS_WARNING, diag::MAP_WARNING, "escaped newline between */ characters at block comment end", 71, true, false, false, false, 1)
DIAG(ext_binary_literal, CLASS_EXTENSION, diag::MAP_IGNORE, "binary integer literals are a GNU extension", 145, true, false, false, false, 1)
DIAG(ext_binary_literal_cxx1y, CLASS_EXTENSION, diag::MAP_IGNORE, "binary integer literals are a C++1y extension", 57, true, false, false, false, 1)
DIAG(ext_c99_whitespace_required_after_macro_name, CLASS_EXTENSION, diag::MAP_WARNING, "ISO C99 requires whitespace after the macro name", 65, true, false, false, false, 1)
DIAG(ext_charize_microsoft, CLASS_EXTENSION, diag::MAP_IGNORE, "charizing operator #@ is a Microsoft extension", 198, true, false, false, false, 1)
DIAG(ext_dollar_in_identifier, CLASS_EXTENSION, diag::MAP_IGNORE, "'$' in identifier", 111, true, false, false, false, 1)
DIAG(ext_embedded_directive, CLASS_EXTENSION, diag::MAP_IGNORE, "embedding a directive within macro arguments has undefined behavior", 118, true, false, false, false, 1)
DIAG(ext_empty_character, CLASS_EXTENSION, diag::MAP_WARNING, "empty character constant", 182, true, false, false, false, 1)
DIAG(ext_empty_fnmacro_arg, CLASS_EXTENSION, diag::MAP_IGNORE, "empty macro arguments are a C99 feature", 65, true, false, false, false, 1)
DIAG(ext_four_char_character_literal, CLASS_EXTENSION, diag::MAP_IGNORE, "multi-character character constant", 142, true, false, false, false, 1)
DIAG(ext_hexconstant_invalid, CLASS_EXTENSION, diag::MAP_IGNORE, "hexadecimal floating constants are a C99 feature", 65, true, false, false, false, 1)
DIAG(ext_imaginary_constant, CLASS_EXTENSION, diag::MAP_IGNORE, "imaginary constants are a GNU extension", 145, true, false, false, false, 1)
DIAG(ext_line_comment, CLASS_EXTENSION, diag::MAP_IGNORE, "// comments are not allowed in this language", 71, true, false, false, false, 1)
DIAG(ext_missing_varargs_arg, CLASS_EXTENSION, diag::MAP_IGNORE, "must specify at least one argument for '...' parameter of variadic macro", 145, true, false, false, false, 1)
DIAG(ext_missing_whitespace_after_macro_name, CLASS_EXTENSION, diag::MAP_WARNING, "whitespace required after macro name", 0, true, false, false, false, 1)
DIAG(ext_ms_reserved_user_defined_literal, CLASS_EXTENSION, diag::MAP_WARNING, "invalid suffix on literal; C++11 requires a space between literal and identifier", 284, true, false, false, false, 1)
DIAG(ext_multi_line_line_comment, CLASS_EXTENSION, diag::MAP_IGNORE, "multi-line // comment", 71, true, false, false, false, 1)
DIAG(ext_multichar_character_literal, CLASS_EXTENSION, diag::MAP_WARNING, "multi-character character constant", 217, true, false, false, false, 1)
DIAG(ext_named_variadic_macro, CLASS_EXTENSION, diag::MAP_IGNORE, "named variadic macros are a GNU extension", 387, true, false, false, false, 1)
DIAG(ext_no_newline_eof, CLASS_EXTENSION, diag::MAP_IGNORE, "no newline at end of file", 221, true, false, false, false, 1)
DIAG(ext_nonstandard_escape, CLASS_EXTENSION, diag::MAP_IGNORE, "use of non-standard escape character '\\%0'", 267, true, false, false, false, 1)
DIAG(ext_on_off_switch_syntax, CLASS_EXTENSION, diag::MAP_WARNING, "expected 'ON' or 'OFF' or 'DEFAULT' in pragma", 361, true, false, false, false, 1)
DIAG(ext_paste_comma, CLASS_EXTENSION, diag::MAP_IGNORE, "token pasting of ',' and __VA_ARGS__ is a GNU extension", 145, true, false, false, false, 1)
DIAG(ext_pp_bad_vaargs_use, CLASS_EXTENSION, diag::MAP_IGNORE, "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro", 267, true, false, false, false, 1)
DIAG(ext_pp_comma_expr, CLASS_EXTENSION, diag::MAP_IGNORE, "comma operator in operand of #if", 267, true, false, false, false, 1)
DIAG(ext_pp_extra_tokens_at_eol, CLASS_EXTENSION, diag::MAP_WARNING, "extra tokens at end of #%0 directive", 130, true, false, false, false, 1)
DIAG(ext_pp_ident_directive, CLASS_EXTENSION, diag::MAP_IGNORE, "#ident is a language extension", 267, true, false, false, false, 1)
DIAG(ext_pp_import_directive, CLASS_EXTENSION, diag::MAP_IGNORE, "#import is a language extension", 163, true, false, false, false, 1)
DIAG(ext_pp_include_next_directive, CLASS_EXTENSION, diag::MAP_IGNORE, "#include_next is a language extension", 267, true, false, false, false, 1)
DIAG(ext_pp_line_too_big, CLASS_EXTENSION, diag::MAP_IGNORE, "C requires #line number to be less than %0, allowed as extension", 267, true, false, false, false, 1)
DIAG(ext_pp_line_zero, CLASS_EXTENSION, diag::MAP_IGNORE, "#line directive with zero argument is a GNU extension", 145, true, false, false, false, 1)
DIAG(ext_pp_macro_redef, CLASS_EXTENSION, diag::MAP_WARNING, "%0 macro redefined", 0, true, false, false, false, 1)
DIAG(ext_pp_redef_builtin_macro, CLASS_EXTENSION, diag::MAP_WARNING, "redefining builtin macro", 44, true, false, false, false, 1)
DIAG(ext_pp_undef_builtin_macro, CLASS_EXTENSION, diag::MAP_WARNING, "undefining builtin macro", 44, true, false, false, false, 1)
DIAG(ext_pp_warning_directive, CLASS_EXTENSION, diag::MAP_IGNORE, "#warning is a language extension", 267, true, false, false, false, 1)
DIAG(ext_pragma_syntax_eod, CLASS_EXTENSION, diag::MAP_WARNING, "expected end of directive in pragma", 361, true, false, false, false, 1)
DIAG(ext_reserved_user_defined_literal, CLASS_EXTENSION, diag::MAP_ERROR, "invalid suffix on literal; C++11 requires a space between literal and identifier", 284, true, false, false, false, 1)
DIAG(ext_stdc_pragma_ignored, CLASS_EXTENSION, diag::MAP_WARNING, "unknown pragma in STDC namespace", 361, true, false, false, false, 1)
DIAG(ext_string_too_long, CLASS_EXTENSION, diag::MAP_IGNORE, "string literal of length %0 exceeds maximum length %1 that %select{C90|ISO C99|C++}2 compilers are required to support", 259, true, false, false, false, 1)
DIAG(ext_token_used, CLASS_EXTENSION, diag::MAP_IGNORE, "extension used", 186, true, false, false, false, 1)
DIAG(ext_unicode_whitespace, CLASS_EXTENSION, diag::MAP_WARNING, "treating Unicode character as whitespace", 359, true, false, false, false, 1)
DIAG(ext_unknown_escape, CLASS_EXTENSION, diag::MAP_WARNING, "unknown escape sequence '\\%0'", 0, true, false, false, false, 1)
DIAG(ext_unterminated_char, CLASS_EXTENSION, diag::MAP_WARNING, "missing terminating ' character", 182, true, false, false, false, 1)
DIAG(ext_unterminated_string, CLASS_EXTENSION, diag::MAP_WARNING, "missing terminating '\"' character", 182, true, false, false, false, 1)
DIAG(ext_variadic_macro, CLASS_EXTENSION, diag::MAP_IGNORE, "variadic macros are a C99 feature", 387, true, false, false, false, 1)
DIAG(note_macro_here, CLASS_NOTE, diag::MAP_FATAL, "macro %0 defined here", 0, true, false, false, false, 1)
DIAG(note_mmap_lbrace_match, CLASS_NOTE, diag::MAP_FATAL, "to match this '{'", 0, true, false, false, false, 1)
DIAG(note_mmap_lsquare_match, CLASS_NOTE, diag::MAP_FATAL, "to match this ']'", 0, true, false, false, false, 1)
DIAG(note_mmap_prev_definition, CLASS_NOTE, diag::MAP_FATAL, "previously defined here", 0, true, false, false, false, 1)
DIAG(note_pp_ambiguous_macro_chosen, CLASS_NOTE, diag::MAP_FATAL, "expanding this definition of %0", 0, true, false, false, false, 1)
DIAG(note_pp_ambiguous_macro_other, CLASS_NOTE, diag::MAP_FATAL, "other definition of %0", 0, true, false, false, false, 1)
DIAG(note_ucn_four_not_eight, CLASS_NOTE, diag::MAP_FATAL, "did you mean to use '\\u'?", 0, true, false, false, false, 1)
DIAG(null_in_char, CLASS_WARNING, diag::MAP_WARNING, "null character(s) preserved in character literal", 229, true, false, false, false, 1)
DIAG(null_in_file, CLASS_WARNING, diag::MAP_WARNING, "null character ignored", 229, true, false, false, false, 1)
DIAG(null_in_string, CLASS_WARNING, diag::MAP_WARNING, "null character(s) preserved in string literal", 229, true, false, false, false, 1)
DIAG(pp_disabled_macro_expansion, CLASS_WARNING, diag::MAP_IGNORE, "disabled expansion of recursive macro", 101, true, false, false, false, 1)
DIAG(pp_err_elif_after_else, CLASS_ERROR, diag::MAP_ERROR, "#elif after #else", 0, true, false, false, false, 1)
DIAG(pp_err_elif_without_if, CLASS_ERROR, diag::MAP_ERROR, "#elif without #if", 0, true, false, false, false, 1)
DIAG(pp_err_else_after_else, CLASS_ERROR, diag::MAP_ERROR, "#else after #else", 0, true, false, false, false, 1)
DIAG(pp_err_else_without_if, CLASS_ERROR, diag::MAP_ERROR, "#else without #if", 0, true, false, false, false, 1)
DIAG(pp_hash_warning, CLASS_WARNING, diag::MAP_WARNING, "%0", 2, true, false, false, true, 18)
DIAG(pp_include_macros_out_of_predefines, CLASS_ERROR, diag::MAP_ERROR, "the #__include_macros directive is only for internal use by -imacros", 0, true, false, false, false, 1)
DIAG(pp_include_next_absolute_path, CLASS_WARNING, diag::MAP_WARNING, "#include_next with absolute path", 0, true, false, false, false, 1)
DIAG(pp_include_next_in_primary, CLASS_WARNING, diag::MAP_WARNING, "#include_next in primary source file", 0, true, false, false, false, 1)
DIAG(pp_invalid_string_literal, CLASS_WARNING, diag::MAP_WARNING, "invalid string literal, ignoring final '\\'", 0, true, false, false, false, 1)
DIAG(pp_macro_not_used, CLASS_WARNING, diag::MAP_IGNORE, "macro is not used", 376, true, false, false, false, 1)
DIAG(pp_out_of_date_dependency, CLASS_WARNING, diag::MAP_WARNING, "current file is older than dependency %0", 0, true, false, false, false, 1)
DIAG(pp_poisoning_existing_macro, CLASS_WARNING, diag::MAP_WARNING, "poisoning existing macro", 0, true, false, false, false, 1)
DIAG(pp_pragma_once_in_main_file, CLASS_WARNING, diag::MAP_WARNING, "#pragma once in main file", 0, true, false, false, false, 1)
DIAG(pp_pragma_sysheader_in_main_file, CLASS_WARNING, diag::MAP_WARNING, "#pragma system_header ignored in main file", 0, true, false, false, false, 1)
DIAG(trigraph_converted, CLASS_WARNING, diag::MAP_WARNING, "trigraph converted to '%0' character", 348, true, false, false, false, 1)
DIAG(trigraph_ends_block_comment, CLASS_WARNING, diag::MAP_WARNING, "trigraph ends block comment", 348, true, false, false, false, 1)
DIAG(trigraph_ignored, CLASS_WARNING, diag::MAP_WARNING, "trigraph ignored", 348, true, false, false, false, 1)
DIAG(trigraph_ignored_block_comment, CLASS_WARNING, diag::MAP_WARNING, "ignored trigraph would end block comment", 348, true, false, false, false, 1)
DIAG(warn_auto_module_import, CLASS_WARNING, diag::MAP_IGNORE, "treating #%select{include|import|include_next|__include_macros}0 as an import of module '%1'", 33, true, false, false, false, 1)
DIAG(warn_bad_character_encoding, CLASS_EXTENSION, diag::MAP_WARNING, "illegal character encoding in character literal", 183, true, false, false, false, 1)
DIAG(warn_bad_string_encoding, CLASS_EXTENSION, diag::MAP_WARNING, "illegal character encoding in string literal", 183, true, false, false, false, 1)
DIAG(warn_c99_compat_unicode_id, CLASS_WARNING, diag::MAP_IGNORE, "%select{using this character in an identifier|starting an identifier with this character}0 is incompatible with C99", 64, true, false, false, false, 1)
DIAG(warn_c99_compat_unicode_literal, CLASS_WARNING, diag::MAP_IGNORE, "unicode literals are incompatible with C99", 64, true, false, false, false, 1)
DIAG(warn_char_constant_too_large, CLASS_WARNING, diag::MAP_WARNING, "character constant too long for its type", 0, true, false, false, false, 1)
DIAG(warn_cxx11_compat_binary_literal, CLASS_WARNING, diag::MAP_IGNORE, "binary integer literals are incompatible with C++ standards before C++1y", 87, true, false, false, false, 1)
DIAG(warn_cxx11_compat_reserved_user_defined_literal, CLASS_WARNING, diag::MAP_IGNORE, "identifier after literal will be treated as a reserved user-defined literal suffix in C++11", 52, true, false, false, false, 1)
DIAG(warn_cxx11_compat_user_defined_literal, CLASS_WARNING, diag::MAP_IGNORE, "identifier after literal will be treated as a user-defined literal suffix in C++11", 50, true, false, false, false, 1)
DIAG(warn_cxx11_keyword, CLASS_WARNING, diag::MAP_IGNORE, "'%0' is a keyword in C++11", 50, true, false, false, false, 1)
DIAG(warn_cxx98_compat_empty_fnmacro_arg, CLASS_WARNING, diag::MAP_IGNORE, "empty macro arguments are incompatible with C++98", 61, true, false, false, false, 1)
DIAG(warn_cxx98_compat_less_colon_colon, CLASS_WARNING, diag::MAP_IGNORE, "'<::' is treated as digraph '<:' (aka '[') followed by ':' in C++98", 58, true, false, false, false, 1)
DIAG(warn_cxx98_compat_literal_ucn_control_character, CLASS_WARNING, diag::MAP_IGNORE, "universal character name referring to a control character is incompatible with C++98", 58, true, false, false, false, 1)
DIAG(warn_cxx98_compat_literal_ucn_escape_basic_scs, CLASS_WARNING, diag::MAP_IGNORE, "specifying character '%0' with a universal character name is incompatible with C++98", 58, true, false, false, false, 1)
DIAG(warn_cxx98_compat_no_newline_eof, CLASS_WARNING, diag::MAP_IGNORE, "C++98 requires newline at end of file", 61, true, false, false, false, 1)
DIAG(warn_cxx98_compat_pp_line_too_big, CLASS_WARNING, diag::MAP_IGNORE, "#line number greater than 32767 is incompatible with C++98", 61, true, false, false, false, 1)
DIAG(warn_cxx98_compat_raw_string_literal, CLASS_WARNING, diag::MAP_IGNORE, "raw string literals are incompatible with C++98", 58, true, false, false, false, 1)
DIAG(warn_cxx98_compat_unicode_id, CLASS_WARNING, diag::MAP_IGNORE, "using this character in an identifier is incompatible with C++98", 58, true, false, false, false, 1)
DIAG(warn_cxx98_compat_unicode_literal, CLASS_WARNING, diag::MAP_IGNORE, "unicode literals are incompatible with C++98", 58, true, false, false, false, 1)
DIAG(warn_cxx98_compat_variadic_macro, CLASS_WARNING, diag::MAP_IGNORE, "variadic macros are incompatible with C++98", 61, true, false, false, false, 1)
DIAG(warn_extraneous_char_constant, CLASS_WARNING, diag::MAP_WARNING, "extraneous characters in character constant ignored", 0, true, false, false, false, 1)
DIAG(warn_has_warning_invalid_option, CLASS_EXTENSION, diag::MAP_WARNING, "__has_warning expected option name (e.g. \"-Wundef\")", 196, true, false, false, false, 1)
DIAG(warn_hex_escape_too_large, CLASS_EXTENSION, diag::MAP_WARNING, "hex escape sequence out of range", 0, true, false, false, false, 1)
DIAG(warn_missing_whitespace_after_macro_name, CLASS_WARNING, diag::MAP_WARNING, "whitespace recommended after macro name", 0, true, false, false, false, 1)
DIAG(warn_mmap_unknown_attribute, CLASS_WARNING, diag::MAP_WARNING, "unknown attribute '%0'", 151, true, false, false, false, 1)
DIAG(warn_nested_block_comment, CLASS_WARNING, diag::MAP_WARNING, "'/*' within block comment", 71, true, false, false, false, 1)
DIAG(warn_octal_escape_too_large, CLASS_EXTENSION, diag::MAP_WARNING, "octal escape sequence out of range", 0, true, false, false, false, 1)
DIAG(warn_pp_ambiguous_macro, CLASS_WARNING, diag::MAP_WARNING, "ambiguous expansion of macro %0", 12, true, false, false, false, 1)
DIAG(warn_pp_convert_lhs_to_positive, CLASS_WARNING, diag::MAP_WARNING, "left side of operator converted from negative value to unsigned: %0", 0, true, false, false, false, 1)
DIAG(warn_pp_convert_rhs_to_positive, CLASS_WARNING, diag::MAP_WARNING, "right side of operator converted from negative value to unsigned: %0", 0, true, false, false, false, 1)
DIAG(warn_pp_expr_overflow, CLASS_WARNING, diag::MAP_WARNING, "integer overflow in preprocessor expression", 0, true, false, false, false, 1)
DIAG(warn_pp_line_decimal, CLASS_WARNING, diag::MAP_WARNING, "%select{#line|GNU line marker}0 directive interprets number as decimal, not octal", 0, true, false, false, false, 1)
DIAG(warn_pp_undef_identifier, CLASS_WARNING, diag::MAP_IGNORE, "%0 is not defined, evaluates to 0", 354, true, false, false, false, 1)
DIAG(warn_pragma_debug_unexpected_command, CLASS_WARNING, diag::MAP_WARNING, "unexpected debug command '%0'", 0, true, false, false, false, 1)
DIAG(warn_pragma_diagnostic_cannot_pop, CLASS_EXTENSION, diag::MAP_WARNING, "pragma diagnostic pop could not pop, no matching push", 361, true, false, false, false, 1)
DIAG(warn_pragma_diagnostic_invalid, CLASS_EXTENSION, diag::MAP_WARNING, "pragma diagnostic expected 'error', 'warning', 'ignored', 'fatal', 'push', or 'pop'", 361, true, false, false, false, 1)
DIAG(warn_pragma_diagnostic_invalid_option, CLASS_EXTENSION, diag::MAP_WARNING, "pragma diagnostic expected option name (e.g. \"-Wundef\")", 361, true, false, false, false, 1)
DIAG(warn_pragma_diagnostic_invalid_token, CLASS_EXTENSION, diag::MAP_WARNING, "unexpected token in pragma diagnostic", 361, true, false, false, false, 1)
DIAG(warn_pragma_diagnostic_unknown_warning, CLASS_EXTENSION, diag::MAP_WARNING, "unknown warning group '%0', ignored", 361, true, false, false, false, 1)
DIAG(warn_pragma_ignored, CLASS_WARNING, diag::MAP_IGNORE, "unknown pragma ignored", 361, true, false, false, false, 1)
DIAG(warn_pragma_include_alias_expected, CLASS_EXTENSION, diag::MAP_WARNING, "pragma include_alias expected '%0'", 361, true, false, false, false, 1)
DIAG(warn_pragma_include_alias_expected_filename, CLASS_EXTENSION, diag::MAP_WARNING, "pragma include_alias expected include filename", 361, true, false, false, false, 1)
DIAG(warn_pragma_include_alias_mismatch_angle, CLASS_EXTENSION, diag::MAP_WARNING, "angle-bracketed include <%0> cannot be aliased to double-quoted include \"%1\"", 361, true, false, false, false, 1)
DIAG(warn_pragma_include_alias_mismatch_quote, CLASS_EXTENSION, diag::MAP_WARNING, "double-quoted include \"%0\" cannot be aliased to angle-bracketed include <%1>", 361, true, false, false, false, 1)
DIAG(warn_pragma_message, CLASS_WARNING, diag::MAP_WARNING, "%0", 1, true, false, true, false, 22)
DIAG(warn_pragma_pop_macro_no_push, CLASS_WARNING, diag::MAP_WARNING, "pragma pop_macro could not pop '%0', no matching push_macro", 0, true, false, false, false, 1)
DIAG(warn_stdc_fenv_access_not_supported, CLASS_WARNING, diag::MAP_WARNING, "pragma STDC FENV_ACCESS ON is not supported, ignoring pragma", 361, true, false, false, false, 1)
DIAG(warn_ucn_escape_incomplete, CLASS_WARNING, diag::MAP_WARNING, "incomplete universal character name; treating as '\\' followed by identifier", 358, true, false, false, false, 1)
DIAG(warn_ucn_escape_no_digits, CLASS_WARNING, diag::MAP_WARNING, "\\%0 used with no following hex digits; treating as '\\' followed by identifier", 358, true, false, false, false, 1)
DIAG(warn_ucn_escape_surrogate, CLASS_WARNING, diag::MAP_WARNING, "universal character name refers to a surrogate character", 358, true, false, false, false, 1)
DIAG(warn_ucn_not_valid_in_c89, CLASS_WARNING, diag::MAP_WARNING, "universal character names are only valid in C99 or C++; treating as '\\' followed by identifier", 358, true, false, false, false, 1)
DIAG(warn_ucn_not_valid_in_c89_literal, CLASS_EXTENSION, diag::MAP_WARNING, "universal character names are only valid in C99 or C++", 358, true, false, false, false, 1)
DIAG(warn_uncovered_module_header, CLASS_WARNING, diag::MAP_WARNING, "umbrella header for module '%0' does not include header '%1'", 168, true, false, false, false, 1)

View File

@@ -0,0 +1,349 @@
#ifdef PARSESTART
__PARSESTART = DIAG_START_PARSE,
#undef PARSESTART
#endif
DIAG(err_access_specifier_interface, CLASS_ERROR, diag::MAP_ERROR, "interface types cannot specify '%select{private|protected}0' access", 0, true, false, false, false, 4)
DIAG(err_address_of_label_outside_fn, CLASS_ERROR, diag::MAP_ERROR, "use of address-of-label extension outside of a function body", 0, true, false, false, false, 4)
DIAG(err_alias_declaration_not_identifier, CLASS_ERROR, diag::MAP_ERROR, "name defined in alias declaration must be an identifier", 0, true, false, false, false, 4)
DIAG(err_alias_declaration_specialization, CLASS_ERROR, diag::MAP_ERROR, "%select{partial specialization|explicit specialization|explicit instantiation}0 of alias templates is not permitted", 0, true, false, false, false, 4)
DIAG(err_anon_type_definition, CLASS_ERROR, diag::MAP_ERROR, "declaration of anonymous %0 must be a definition", 0, true, false, false, false, 4)
DIAG(err_arc_bridge_retain, CLASS_ERROR, diag::MAP_ERROR, "unknown cast annotation __bridge_retain; did you mean __bridge_retained?", 0, true, false, false, false, 8)
DIAG(err_argument_required_after_attribute, CLASS_ERROR, diag::MAP_ERROR, "argument required after attribute", 0, true, false, false, false, 4)
DIAG(err_asm_operand_wide_string_literal, CLASS_ERROR, diag::MAP_ERROR, "cannot use %select{unicode|wide}0 string literal in 'asm'", 0, true, false, false, false, 4)
DIAG(err_at_defs_cxx, CLASS_ERROR, diag::MAP_ERROR, "@defs is not supported in Objective-C++", 0, true, false, false, false, 4)
DIAG(err_at_in_class, CLASS_ERROR, diag::MAP_ERROR, "unexpected '@' in member specification", 0, true, false, false, false, 4)
DIAG(err_attributes_not_allowed, CLASS_ERROR, diag::MAP_ERROR, "an attribute list cannot appear here", 0, true, false, false, false, 4)
DIAG(err_availability_expected_change, CLASS_ERROR, diag::MAP_ERROR, "expected 'introduced', 'deprecated', or 'obsoleted'", 0, true, false, false, false, 4)
DIAG(err_availability_expected_platform, CLASS_ERROR, diag::MAP_ERROR, "expected a platform name, e.g., 'macosx'", 0, true, false, false, false, 4)
DIAG(err_availability_redundant, CLASS_ERROR, diag::MAP_ERROR, "redundant %0 availability change; only the last specified change will be used", 0, true, false, false, false, 4)
DIAG(err_availability_unknown_change, CLASS_ERROR, diag::MAP_ERROR, "%0 is not an availability stage; use 'introduced', 'deprecated', or 'obsoleted'", 0, true, false, false, false, 4)
DIAG(err_bitfield_member_init, CLASS_ERROR, diag::MAP_ERROR, "bitfield member cannot have an in-class initializer", 0, true, false, false, false, 4)
DIAG(err_bool_redeclaration, CLASS_ERROR, diag::MAP_ERROR, "redeclaration of C++ built-in type 'bool'", 0, true, false, false, false, 4)
DIAG(err_bracket_depth_exceeded, CLASS_ERROR, diag::MAP_FATAL, "bracket nesting level exceeded maximum of %0", 0, true, false, false, false, 4)
DIAG(err_class_on_template_template_param, CLASS_ERROR, diag::MAP_ERROR, "template template parameter requires 'class' after the parameter list", 0, true, false, false, false, 4)
DIAG(err_ctor_init_missing_comma, CLASS_ERROR, diag::MAP_ERROR, "missing ',' between base or member initializers", 0, true, false, false, false, 4)
DIAG(err_cxx11_attribute_forbids_arguments, CLASS_ERROR, diag::MAP_ERROR, "attribute '%0' cannot have an argument list", 0, true, false, false, false, 4)
DIAG(err_cxx11_attribute_forbids_ellipsis, CLASS_ERROR, diag::MAP_ERROR, "attribute '%0' cannot be used as an attribute pack", 0, true, false, false, false, 4)
DIAG(err_cxx11_attribute_repeated, CLASS_ERROR, diag::MAP_ERROR, "attribute %0 cannot appear multiple times in an attribute specifier", 0, true, false, false, false, 4)
DIAG(err_declaration_does_not_declare_param, CLASS_ERROR, diag::MAP_ERROR, "declaration does not declare a parameter", 0, true, false, false, false, 4)
DIAG(err_default_arg_unparsed, CLASS_ERROR, diag::MAP_ERROR, "unexpected end of default argument expression", 0, true, false, false, false, 4)
DIAG(err_default_delete_in_multiple_declaration, CLASS_ERROR, diag::MAP_ERROR, "'= %select{default|delete}0' is a function definition and must occur in a standalone declaration", 0, true, false, false, false, 4)
DIAG(err_default_template_template_parameter_not_template, CLASS_ERROR, diag::MAP_ERROR, "default template argument for a template template parameter must be a class template", 0, true, false, false, false, 4)
DIAG(err_destructor_template_id, CLASS_ERROR, diag::MAP_ERROR, "destructor name %0 does not refer to a template", 0, true, false, false, false, 4)
DIAG(err_destructor_tilde_identifier, CLASS_ERROR, diag::MAP_ERROR, "expected a class name after '~' to name a destructor", 0, true, false, false, false, 4)
DIAG(err_dup_virtual, CLASS_ERROR, diag::MAP_ERROR, "duplicate 'virtual' in base specifier", 0, true, false, false, false, 4)
DIAG(err_duplicate_default_assoc, CLASS_ERROR, diag::MAP_ERROR, "duplicate default generic association", 0, true, false, false, false, 4)
DIAG(err_duplicate_virt_specifier, CLASS_ERROR, diag::MAP_ERROR, "class member already marked '%0'", 0, true, false, false, false, 4)
DIAG(err_dynamic_and_noexcept_specification, CLASS_ERROR, diag::MAP_ERROR, "cannot have both throw() and noexcept() clause on the same function", 0, true, false, false, false, 4)
DIAG(err_enumerator_list_missing_comma, CLASS_ERROR, diag::MAP_ERROR, "missing ',' between enumerators", 0, true, false, false, false, 4)
DIAG(err_enumerator_unnamed_no_def, CLASS_ERROR, diag::MAP_ERROR, "unnamed enumeration must be a definition", 0, true, false, false, false, 4)
DIAG(err_expected_capture, CLASS_ERROR, diag::MAP_ERROR, "expected variable name or 'this' in lambda capture list", 0, true, false, false, false, 4)
DIAG(err_expected_case_before_expression, CLASS_ERROR, diag::MAP_ERROR, "expected 'case' keyword before expression", 0, true, false, false, false, 4)
DIAG(err_expected_catch, CLASS_ERROR, diag::MAP_ERROR, "expected catch", 0, true, false, false, false, 4)
DIAG(err_expected_class_name, CLASS_ERROR, diag::MAP_ERROR, "expected class name", 0, true, false, false, false, 4)
DIAG(err_expected_class_name_not_template, CLASS_ERROR, diag::MAP_ERROR, "'typename' is redundant; base classes are implicitly types", 0, true, false, false, false, 4)
DIAG(err_expected_colon_after, CLASS_ERROR, diag::MAP_ERROR, "expected ':' after %0", 0, true, false, false, false, 4)
DIAG(err_expected_comma, CLASS_ERROR, diag::MAP_ERROR, "expected ','", 0, true, false, false, false, 4)
DIAG(err_expected_comma_greater, CLASS_ERROR, diag::MAP_ERROR, "expected ',' or '>' in template-parameter-list", 0, true, false, false, false, 4)
DIAG(err_expected_comma_or_rsquare, CLASS_ERROR, diag::MAP_ERROR, "expected ',' or ']' in lambda capture list", 0, true, false, false, false, 4)
DIAG(err_expected_equal_after, CLASS_ERROR, diag::MAP_ERROR, "expected '=' after %0", 0, true, false, false, false, 4)
DIAG(err_expected_equal_designator, CLASS_ERROR, diag::MAP_ERROR, "expected '=' or another designator", 0, true, false, false, false, 4)
DIAG(err_expected_expression, CLASS_ERROR, diag::MAP_ERROR, "expected expression", 0, true, false, false, false, 4)
DIAG(err_expected_external_declaration, CLASS_ERROR, diag::MAP_ERROR, "expected external declaration", 0, true, false, false, false, 4)
DIAG(err_expected_field_designator, CLASS_ERROR, diag::MAP_ERROR, "expected a field designator, such as '.field = 4'", 0, true, false, false, false, 4)
DIAG(err_expected_fn_body, CLASS_ERROR, diag::MAP_ERROR, "expected function body after function declarator", 0, true, false, false, false, 4)
DIAG(err_expected_ggg, CLASS_ERROR, diag::MAP_ERROR, "expected '>>>'", 0, true, false, false, false, 4)
DIAG(err_expected_greater, CLASS_ERROR, diag::MAP_ERROR, "expected '>'", 0, true, false, false, false, 4)
DIAG(err_expected_ident, CLASS_ERROR, diag::MAP_ERROR, "expected identifier", 0, true, false, false, false, 4)
DIAG(err_expected_ident_lbrace, CLASS_ERROR, diag::MAP_ERROR, "expected identifier or '{'", 0, true, false, false, false, 4)
DIAG(err_expected_ident_lparen, CLASS_ERROR, diag::MAP_ERROR, "expected identifier or '('", 0, true, false, false, false, 4)
DIAG(err_expected_init_in_condition, CLASS_ERROR, diag::MAP_ERROR, "variable declaration in condition must have an initializer", 0, true, false, false, false, 4)
DIAG(err_expected_init_in_condition_lparen, CLASS_ERROR, diag::MAP_ERROR, "variable declaration in condition cannot have a parenthesized initializer", 0, true, false, false, false, 4)
DIAG(err_expected_lambda_body, CLASS_ERROR, diag::MAP_ERROR, "expected body of lambda expression", 0, true, false, false, false, 4)
DIAG(err_expected_lbrace, CLASS_ERROR, diag::MAP_ERROR, "expected '{'", 0, true, false, false, false, 4)
DIAG(err_expected_lbrace_after_base_specifiers, CLASS_ERROR, diag::MAP_ERROR, "expected '{' after base class list", 0, true, false, false, false, 4)
DIAG(err_expected_lbrace_in_compound_literal, CLASS_ERROR, diag::MAP_ERROR, "expected '{' in compound literal", 0, true, false, false, false, 4)
DIAG(err_expected_lbrace_or_comma, CLASS_ERROR, diag::MAP_ERROR, "expected '{' or ','", 0, true, false, false, false, 4)
DIAG(err_expected_less_after, CLASS_ERROR, diag::MAP_ERROR, "expected '<' after '%0'", 0, true, false, false, false, 4)
DIAG(err_expected_lparen, CLASS_ERROR, diag::MAP_ERROR, "expected '('", 0, true, false, false, false, 4)
DIAG(err_expected_lparen_after, CLASS_ERROR, diag::MAP_ERROR, "expected '(' after '%0'", 0, true, false, false, false, 4)
DIAG(err_expected_lparen_after_id, CLASS_ERROR, diag::MAP_ERROR, "expected '(' after %0", 0, true, false, false, false, 4)
DIAG(err_expected_lparen_after_type, CLASS_ERROR, diag::MAP_ERROR, "expected '(' for function-style cast or type construction", 0, true, false, false, false, 4)
DIAG(err_expected_lparen_or_lbrace, CLASS_ERROR, diag::MAP_ERROR, "expected '('or '{'", 0, true, false, false, false, 4)
DIAG(err_expected_lsquare, CLASS_ERROR, diag::MAP_ERROR, "expected '['", 0, true, false, false, false, 4)
DIAG(err_expected_member_name_or_semi, CLASS_ERROR, diag::MAP_ERROR, "expected member name or ';' after declaration specifiers", 0, true, false, false, false, 4)
DIAG(err_expected_member_or_base_name, CLASS_ERROR, diag::MAP_ERROR, "expected class member or base class name", 0, true, false, false, false, 4)
DIAG(err_expected_method_body, CLASS_ERROR, diag::MAP_ERROR, "expected method body", 0, true, false, false, false, 4)
DIAG(err_expected_minus_or_plus, CLASS_ERROR, diag::MAP_ERROR, "method type specifier must start with '-' or '+'", 0, true, false, false, false, 4)
DIAG(err_expected_objc_container, CLASS_ERROR, diag::MAP_ERROR, "'@end' must appear in an Objective-C context", 0, true, false, false, false, 4)
DIAG(err_expected_parameter_pack, CLASS_ERROR, diag::MAP_ERROR, "expected the name of a parameter pack", 0, true, false, false, false, 4)
DIAG(err_expected_property_name, CLASS_ERROR, diag::MAP_ERROR, "expected property name", 0, true, false, false, false, 4)
DIAG(err_expected_qualified_after_typename, CLASS_ERROR, diag::MAP_ERROR, "expected a qualified name after 'typename'", 0, true, false, false, false, 4)
DIAG(err_expected_rbrace, CLASS_ERROR, diag::MAP_ERROR, "expected '}'", 0, true, false, false, false, 4)
DIAG(err_expected_rbrace_or_comma, CLASS_ERROR, diag::MAP_ERROR, "expected '}' or ','", 0, true, false, false, false, 4)
DIAG(err_expected_rparen, CLASS_ERROR, diag::MAP_ERROR, "expected ')'", 0, true, false, false, false, 4)
DIAG(err_expected_rsquare, CLASS_ERROR, diag::MAP_ERROR, "expected ']'", 0, true, false, false, false, 4)
DIAG(err_expected_rsquare_or_comma, CLASS_ERROR, diag::MAP_ERROR, "expected ']' or ','", 0, true, false, false, false, 4)
DIAG(err_expected_selector_for_method, CLASS_ERROR, diag::MAP_ERROR, "expected selector for Objective-C method", 0, true, false, false, false, 4)
DIAG(err_expected_semi_after, CLASS_ERROR, diag::MAP_ERROR, "expected ';' after %0", 0, true, false, false, false, 4)
DIAG(err_expected_semi_after_attribute_list, CLASS_ERROR, diag::MAP_ERROR, "expected ';' after attribute list", 0, true, false, false, false, 4)
DIAG(err_expected_semi_after_expr, CLASS_ERROR, diag::MAP_ERROR, "expected ';' after expression", 0, true, false, false, false, 4)
DIAG(err_expected_semi_after_method_proto, CLASS_ERROR, diag::MAP_ERROR, "expected ';' after method prototype", 0, true, false, false, false, 4)
DIAG(err_expected_semi_after_namespace_name, CLASS_ERROR, diag::MAP_ERROR, "expected ';' after namespace name", 0, true, false, false, false, 4)
DIAG(err_expected_semi_after_static_assert, CLASS_ERROR, diag::MAP_ERROR, "expected ';' after static_assert", 0, true, false, false, false, 4)
DIAG(err_expected_semi_after_stmt, CLASS_ERROR, diag::MAP_ERROR, "expected ';' after %0 statement", 0, true, false, false, false, 4)
DIAG(err_expected_semi_after_tagdecl, CLASS_ERROR, diag::MAP_ERROR, "expected ';' after %0", 0, true, false, false, false, 4)
DIAG(err_expected_semi_decl_list, CLASS_ERROR, diag::MAP_ERROR, "expected ';' at end of declaration list", 0, true, false, false, false, 4)
DIAG(err_expected_semi_declaration, CLASS_ERROR, diag::MAP_ERROR, "expected ';' at end of declaration", 0, true, false, false, false, 4)
DIAG(err_expected_semi_for, CLASS_ERROR, diag::MAP_ERROR, "expected ';' in 'for' statement specifier", 0, true, false, false, false, 4)
DIAG(err_expected_statement, CLASS_ERROR, diag::MAP_ERROR, "expected statement", 0, true, false, false, false, 4)
DIAG(err_expected_template, CLASS_ERROR, diag::MAP_ERROR, "expected template", 0, true, false, false, false, 4)
DIAG(err_expected_template_parameter, CLASS_ERROR, diag::MAP_ERROR, "expected template parameter", 0, true, false, false, false, 4)
DIAG(err_expected_type, CLASS_ERROR, diag::MAP_ERROR, "expected a type", 0, true, false, false, false, 4)
DIAG(err_expected_type_name_after_typename, CLASS_ERROR, diag::MAP_ERROR, "expected an identifier or template-id after '::'", 0, true, false, false, false, 4)
DIAG(err_expected_unqualified_id, CLASS_ERROR, diag::MAP_ERROR, "expected %select{identifier|unqualified-id}0", 0, true, false, false, false, 4)
DIAG(err_expected_version, CLASS_ERROR, diag::MAP_ERROR, "expected a version of the form 'major[.minor[.subminor]]'", 0, true, false, false, false, 4)
DIAG(err_expected_while, CLASS_ERROR, diag::MAP_ERROR, "expected 'while' in do/while loop", 0, true, false, false, false, 4)
DIAG(err_explicit_instantiation_enum, CLASS_ERROR, diag::MAP_ERROR, "enumerations cannot be explicitly instantiated", 0, true, false, false, false, 4)
DIAG(err_explicit_instantiation_with_definition, CLASS_ERROR, diag::MAP_ERROR, "explicit template instantiation cannot have a definition; if this definition is meant to be an explicit specialization, add '<>' after the 'template' keyword", 0, true, false, false, false, 4)
DIAG(err_explicit_spec_non_template, CLASS_ERROR, diag::MAP_ERROR, "explicit %select{specialization|instantiation}0 of non-template %select{class|struct|union|interface}1 %2", 0, true, false, false, false, 4)
DIAG(err_extraneous_closing_brace, CLASS_ERROR, diag::MAP_ERROR, "extraneous closing brace ('}')", 0, true, false, false, false, 4)
DIAG(err_extraneous_rparen_in_condition, CLASS_ERROR, diag::MAP_ERROR, "extraneous ')' after condition, expected a statement", 0, true, false, false, false, 4)
DIAG(err_extraneous_token_before_semi, CLASS_ERROR, diag::MAP_ERROR, "extraneous '%0' before ';'", 0, true, false, false, false, 4)
DIAG(err_for_range_expected_decl, CLASS_ERROR, diag::MAP_ERROR, "for range declaration must declare a variable", 0, true, false, false, false, 4)
DIAG(err_friend_decl_defines_type, CLASS_ERROR, diag::MAP_ERROR, "cannot define a type in a friend declaration", 0, true, false, false, false, 4)
DIAG(err_friend_invalid_in_context, CLASS_ERROR, diag::MAP_ERROR, "'friend' used outside of class", 0, true, false, false, false, 4)
DIAG(err_friend_storage_spec, CLASS_ERROR, diag::MAP_ERROR, "'%0' is invalid in friend declarations", 0, true, false, false, false, 4)
DIAG(err_func_def_no_params, CLASS_ERROR, diag::MAP_ERROR, "function definition does not declare parameters", 0, true, false, false, false, 4)
DIAG(err_function_declared_typedef, CLASS_ERROR, diag::MAP_ERROR, "function definition declared 'typedef'", 0, true, false, false, false, 4)
DIAG(err_function_definition_not_allowed, CLASS_ERROR, diag::MAP_ERROR, "function definition is not allowed here", 0, true, false, false, false, 4)
DIAG(err_iboutletcollection_builtintype, CLASS_ERROR, diag::MAP_ERROR, "type argument of iboutletcollection attribute cannot be a builtin type", 0, true, false, false, false, 4)
DIAG(err_iboutletcollection_with_protocol, CLASS_ERROR, diag::MAP_ERROR, "invalid argument of iboutletcollection attribute", 0, true, false, false, false, 4)
DIAG(err_id_after_template_in_nested_name_spec, CLASS_ERROR, diag::MAP_ERROR, "expected template name after 'template' keyword in nested name specifier", 0, true, false, false, false, 4)
DIAG(err_illegal_decl_reference_to_reference, CLASS_ERROR, diag::MAP_ERROR, "%0 declared as a reference to a reference", 0, true, false, false, false, 4)
DIAG(err_illegal_super_cast, CLASS_ERROR, diag::MAP_ERROR, "cannot cast 'super' (it isn't an expression)", 0, true, false, false, false, 4)
DIAG(err_incomplete_array_member_init, CLASS_ERROR, diag::MAP_ERROR, "array bound cannot be deduced from an in-class initializer", 0, true, false, false, false, 4)
DIAG(err_init_list_bin_op, CLASS_ERROR, diag::MAP_ERROR, "initializer list cannot be used on the %select{left|right}0 hand side of operator '%1'", 0, true, false, false, false, 4)
DIAG(err_inline_namespace_alias, CLASS_ERROR, diag::MAP_ERROR, "namespace alias cannot be inline", 0, true, false, false, false, 4)
DIAG(err_invalid_complex_spec, CLASS_ERROR, diag::MAP_ERROR, "'_Complex %0' is invalid", 0, true, false, false, false, 4)
DIAG(err_invalid_decl_spec_combination, CLASS_ERROR, diag::MAP_ERROR, "cannot combine with previous '%0' declaration specifier", 0, true, false, false, false, 4)
DIAG(err_invalid_long_spec, CLASS_ERROR, diag::MAP_ERROR, "'long %0' is invalid", 0, true, false, false, false, 4)
DIAG(err_invalid_longlong_spec, CLASS_ERROR, diag::MAP_ERROR, "'long long %0' is invalid", 0, true, false, false, false, 4)
DIAG(err_invalid_operator_on_type, CLASS_ERROR, diag::MAP_ERROR, "cannot use %select{dot|arrow}0 operator on a type", 0, true, false, false, false, 4)
DIAG(err_invalid_pixel_decl_spec_combination, CLASS_ERROR, diag::MAP_ERROR, "'__pixel' must be preceded by '__vector'. '%0' declaration specifier not allowed here", 0, true, false, false, false, 4)
DIAG(err_invalid_reference_qualifier_application, CLASS_ERROR, diag::MAP_ERROR, "'%0' qualifier may not be applied to a reference", 0, true, false, false, false, 4)
DIAG(err_invalid_short_spec, CLASS_ERROR, diag::MAP_ERROR, "'short %0' is invalid", 0, true, false, false, false, 4)
DIAG(err_invalid_sign_spec, CLASS_ERROR, diag::MAP_ERROR, "'%0' cannot be signed or unsigned", 0, true, false, false, false, 4)
DIAG(err_invalid_token_after_declarator_suggest_equal, CLASS_ERROR, diag::MAP_ERROR, "invalid '%0' at end of declaration; did you mean '='?", 0, true, false, false, false, 4)
DIAG(err_invalid_token_after_toplevel_declarator, CLASS_ERROR, diag::MAP_ERROR, "expected ';' after top level declarator", 0, true, false, false, false, 4)
DIAG(err_invalid_vector_bool_decl_spec, CLASS_ERROR, diag::MAP_ERROR, "cannot use '%0' with '__vector bool'", 0, true, false, false, false, 4)
DIAG(err_invalid_vector_decl_spec, CLASS_ERROR, diag::MAP_ERROR, "cannot use '%0' with '__vector'", 0, true, false, false, false, 4)
DIAG(err_invalid_vector_decl_spec_combination, CLASS_ERROR, diag::MAP_ERROR, "cannot combine with previous '%0' declaration specifier. '__vector' must be first", 0, true, false, false, false, 4)
DIAG(err_l_square_l_square_not_attribute, CLASS_ERROR, diag::MAP_ERROR, "C++11 only allows consecutive left square brackets when introducing an attribute", 0, true, false, false, false, 4)
DIAG(err_label_end_of_compound_statement, CLASS_ERROR, diag::MAP_ERROR, "label at end of compound statement: expected statement", 0, true, false, false, false, 4)
DIAG(err_lambda_missing_parens, CLASS_ERROR, diag::MAP_ERROR, "lambda requires '()' before %select{'mutable'|return type}0", 0, true, false, false, false, 4)
DIAG(err_literal_operator_string_not_empty, CLASS_ERROR, diag::MAP_ERROR, "string literal after 'operator' must be '\"\"'", 0, true, false, false, false, 4)
DIAG(err_literal_operator_string_prefix, CLASS_ERROR, diag::MAP_ERROR, "string literal after 'operator' cannot have an encoding prefix", 0, true, false, false, false, 4)
DIAG(err_misplaced_ellipsis_in_declaration, CLASS_ERROR, diag::MAP_ERROR, "'...' must %select{immediately precede declared identifier|be innermost component of anonymous pack declaration}0", 0, true, false, false, false, 4)
DIAG(err_missing_catch_finally, CLASS_ERROR, diag::MAP_ERROR, "@try statement without a @catch and @finally clause", 0, true, false, false, false, 4)
DIAG(err_missing_comma_before_ellipsis, CLASS_ERROR, diag::MAP_ERROR, "C requires a comma prior to the ellipsis in a variadic function type", 0, true, false, false, false, 4)
DIAG(err_missing_dependent_template_keyword, CLASS_ERROR, diag::MAP_ERROR, "use 'template' keyword to treat '%0' as a dependent template name", 0, true, false, false, false, 4)
DIAG(err_missing_param, CLASS_ERROR, diag::MAP_ERROR, "expected parameter declarator", 0, true, false, false, false, 4)
DIAG(err_missing_whitespace_digraph, CLASS_ERROR, diag::MAP_ERROR, "found '<::' after a %select{template name|const_cast|dynamic_cast|reinterpret_cast|static_cast}0 which forms the digraph '<:' (aka '[') and a ':', did you mean '< ::'?", 0, true, false, false, false, 4)
DIAG(err_module_expected_ident, CLASS_ERROR, diag::MAP_ERROR, "expected a module name after module import", 0, true, false, false, false, 12)
DIAG(err_module_expected_semi, CLASS_ERROR, diag::MAP_ERROR, "expected ';' after module name", 0, true, false, false, false, 12)
DIAG(err_ms_declspec_type, CLASS_ERROR, diag::MAP_ERROR, "__declspec attributes must be an identifier or string literal", 0, true, false, false, false, 4)
DIAG(err_ms_property_duplicate_accessor, CLASS_ERROR, diag::MAP_ERROR, "property declaration specifies '%0' accessor twice", 0, true, false, false, false, 4)
DIAG(err_ms_property_expected_accessor_name, CLASS_ERROR, diag::MAP_ERROR, "expected name of accessor method", 0, true, false, false, false, 4)
DIAG(err_ms_property_expected_comma_or_rparen, CLASS_ERROR, diag::MAP_ERROR, "expected ',' or ')' at end of property accessor list", 0, true, false, false, false, 4)
DIAG(err_ms_property_expected_equal, CLASS_ERROR, diag::MAP_ERROR, "expected '=' after '%0'", 0, true, false, false, false, 4)
DIAG(err_ms_property_has_set_accessor, CLASS_ERROR, diag::MAP_ERROR, "putter for property must be specified as 'put', not 'set'", 0, true, false, false, false, 4)
DIAG(err_ms_property_missing_accessor_kind, CLASS_ERROR, diag::MAP_ERROR, "missing 'get=' or 'put='", 0, true, false, false, false, 4)
DIAG(err_ms_property_no_getter_or_putter, CLASS_ERROR, diag::MAP_ERROR, "property does not specify a getter or a putter", 0, true, false, false, false, 4)
DIAG(err_ms_property_unknown_accessor, CLASS_ERROR, diag::MAP_ERROR, "expected 'get' or 'put' in property declaration", 0, true, false, false, false, 4)
DIAG(err_multiple_template_declarators, CLASS_ERROR, diag::MAP_ERROR, "%select{|a template declaration|an explicit template specialization|an explicit template instantiation}0 can only %select{|declare|declare|instantiate}0 a single entity", 0, true, false, false, false, 4)
DIAG(err_namespace_nonnamespace_scope, CLASS_ERROR, diag::MAP_ERROR, "namespaces can only be defined in global or namespace scope", 0, true, false, false, false, 4)
DIAG(err_nested_namespaces_with_double_colon, CLASS_ERROR, diag::MAP_ERROR, "nested namespace definition must define each namespace separately", 0, true, false, false, false, 4)
DIAG(err_no_matching_param, CLASS_ERROR, diag::MAP_ERROR, "parameter named %0 is missing", 0, true, false, false, false, 4)
DIAG(err_not_opencl_storage_class_specifier, CLASS_ERROR, diag::MAP_ERROR, "OpenCL does not support the '%0' storage class specifier", 0, true, false, false, false, 4)
DIAG(err_nsnumber_nonliteral_unary, CLASS_ERROR, diag::MAP_ERROR, "@%0 must be followed by a number to form an NSNumber object", 0, true, false, false, false, 4)
DIAG(err_objc_concat_string, CLASS_ERROR, diag::MAP_ERROR, "unexpected token after Objective-C string", 0, true, false, false, false, 4)
DIAG(err_objc_directive_only_in_protocol, CLASS_ERROR, diag::MAP_ERROR, "directive may only be specified in protocols only", 0, true, false, false, false, 4)
DIAG(err_objc_expected_equal_for_getter, CLASS_ERROR, diag::MAP_ERROR, "expected '=' for Objective-C getter", 0, true, false, false, false, 4)
DIAG(err_objc_expected_equal_for_setter, CLASS_ERROR, diag::MAP_ERROR, "expected '=' for Objective-C setter", 0, true, false, false, false, 4)
DIAG(err_objc_expected_property_attr, CLASS_ERROR, diag::MAP_ERROR, "unknown property attribute %0", 0, true, false, false, false, 4)
DIAG(err_objc_expected_selector_for_getter_setter, CLASS_ERROR, diag::MAP_ERROR, "expected selector for Objective-C %select{setter|getter}0", 0, true, false, false, false, 4)
DIAG(err_objc_illegal_interface_qual, CLASS_ERROR, diag::MAP_ERROR, "illegal interface qualifier", 0, true, false, false, false, 4)
DIAG(err_objc_illegal_visibility_spec, CLASS_ERROR, diag::MAP_ERROR, "illegal visibility specification", 0, true, false, false, false, 4)
DIAG(err_objc_missing_end, CLASS_ERROR, diag::MAP_ERROR, "missing '@end'", 0, true, false, false, false, 4)
DIAG(err_objc_no_attributes_on_category, CLASS_ERROR, diag::MAP_ERROR, "attributes may not be specified on a category", 0, true, false, false, false, 4)
DIAG(err_objc_postfix_attribute, CLASS_ERROR, diag::MAP_ERROR, "postfix attributes are not allowed on Objective-C directives", 0, true, false, false, false, 4)
DIAG(err_objc_postfix_attribute_hint, CLASS_ERROR, diag::MAP_ERROR, "postfix attributes are not allowed on Objective-C directives, place them in front of '%select{@interface|@protocol}0'", 0, true, false, false, false, 4)
DIAG(err_objc_properties_require_objc2, CLASS_ERROR, diag::MAP_ERROR, "properties are an Objective-C 2 feature", 0, true, false, false, false, 4)
DIAG(err_objc_property_bitfield, CLASS_ERROR, diag::MAP_ERROR, "property name cannot be a bitfield", 0, true, false, false, false, 4)
DIAG(err_objc_property_requires_field_name, CLASS_ERROR, diag::MAP_ERROR, "property requires fields to be named", 0, true, false, false, false, 4)
DIAG(err_objc_unexpected_atend, CLASS_ERROR, diag::MAP_ERROR, "'@end' appears where closing brace '}' is expected", 0, true, false, false, false, 4)
DIAG(err_objc_unexpected_attr, CLASS_ERROR, diag::MAP_ERROR, "prefix attribute must be followed by an interface or protocol", 0, true, false, false, false, 4)
DIAG(err_objc_unknown_at, CLASS_ERROR, diag::MAP_ERROR, "expected an Objective-C directive after '@'", 0, true, false, false, false, 4)
DIAG(err_omp_unexpected_directive, CLASS_ERROR, diag::MAP_ERROR, "unexpected OpenMP directive '#pragma omp %0'", 0, true, false, false, false, 4)
DIAG(err_omp_unknown_directive, CLASS_ERROR, diag::MAP_ERROR, "expected an OpenMP directive", 0, true, false, false, false, 4)
DIAG(err_out_of_line_constructor_template_id, CLASS_ERROR, diag::MAP_ERROR, "out-of-line constructor for %0 cannot have template arguments", 0, true, false, false, false, 4)
DIAG(err_out_of_line_template_id_names_constructor, CLASS_ERROR, diag::MAP_ERROR, "qualified reference to %0 is a constructor name rather than a template name wherever a constructor can be declared", 0, true, false, false, false, 4)
DIAG(err_out_of_line_type_names_constructor, CLASS_ERROR, diag::MAP_ERROR, "qualified reference to %0 is a constructor name rather than a type wherever a constructor can be declared", 0, true, false, false, false, 4)
DIAG(err_override_control_interface, CLASS_ERROR, diag::MAP_ERROR, "'%0' keyword not permitted with interface types", 0, true, false, false, false, 4)
DIAG(err_paren_after_colon_colon, CLASS_ERROR, diag::MAP_ERROR, "unexpected parenthesis after '::'", 0, true, false, false, false, 4)
DIAG(err_paren_sizeof_parameter_pack, CLASS_ERROR, diag::MAP_ERROR, "missing parentheses around the size of parameter pack %0", 0, true, false, false, false, 4)
DIAG(err_pragma_fp_contract_scope, CLASS_ERROR, diag::MAP_ERROR, "'#pragma fp_contract' should only appear at file scope or at the start of a compound expression", 0, true, false, false, false, 4)
DIAG(err_right_angle_bracket_equal_needs_space, CLASS_ERROR, diag::MAP_ERROR, "a space is required between a right angle bracket and an equals sign (use '> =')", 0, true, false, false, false, 4)
DIAG(err_scoped_enum_missing_identifier, CLASS_ERROR, diag::MAP_ERROR, "scoped enumeration requires a name", 0, true, false, false, false, 4)
DIAG(err_seh___except_block, CLASS_ERROR, diag::MAP_ERROR, "%0 only allowed in __except block", 0, true, false, false, false, 4)
DIAG(err_seh___except_filter, CLASS_ERROR, diag::MAP_ERROR, "%0 only allowed in __except filter expression", 0, true, false, false, false, 4)
DIAG(err_seh___finally_block, CLASS_ERROR, diag::MAP_ERROR, "%0 only allowed in __finally block", 0, true, false, false, false, 4)
DIAG(err_seh_expected_handler, CLASS_ERROR, diag::MAP_ERROR, "expected '__except' or '__finally' block", 0, true, false, false, false, 4)
DIAG(err_sizeof_parameter_pack, CLASS_ERROR, diag::MAP_ERROR, "expected parenthesized parameter pack name in 'sizeof...' expression", 0, true, false, false, false, 4)
DIAG(err_synthesized_property_name, CLASS_ERROR, diag::MAP_ERROR, "expected a property name in @synthesize", 0, true, false, false, false, 4)
DIAG(err_template_spec_syntax_non_template, CLASS_ERROR, diag::MAP_ERROR, "identifier followed by '<' indicates a class template specialization but %0 %select{does not refer to a template|refers to a function template|<unused>|refers to a template template parameter}1", 0, true, false, false, false, 4)
DIAG(err_templated_using_declaration, CLASS_ERROR, diag::MAP_ERROR, "cannot template a using declaration", 0, true, false, false, false, 4)
DIAG(err_templated_using_directive, CLASS_ERROR, diag::MAP_ERROR, "cannot template a using directive", 0, true, false, false, false, 4)
DIAG(err_this_captured_by_reference, CLASS_ERROR, diag::MAP_ERROR, "'this' cannot be captured by reference", 0, true, false, false, false, 4)
DIAG(err_two_right_angle_brackets_need_space, CLASS_ERROR, diag::MAP_ERROR, "a space is required between consecutive right angle brackets (use '> >')", 0, true, false, false, false, 4)
DIAG(err_type_safety_unknown_flag, CLASS_ERROR, diag::MAP_ERROR, "invalid comparison flag %0; use 'layout_compatible' or 'must_be_null'", 0, true, false, false, false, 4)
DIAG(err_typename_identifiers_only, CLASS_ERROR, diag::MAP_ERROR, "typename is allowed for identifiers only", 0, true, false, false, false, 4)
DIAG(err_typename_invalid_constexpr, CLASS_ERROR, diag::MAP_ERROR, "type name does not allow constexpr specifier to be specified", 0, true, false, false, false, 4)
DIAG(err_typename_invalid_functionspec, CLASS_ERROR, diag::MAP_ERROR, "type name does not allow function specifier to be specified", 0, true, false, false, false, 4)
DIAG(err_typename_invalid_storageclass, CLASS_ERROR, diag::MAP_ERROR, "type name does not allow storage class to be specified", 0, true, false, false, false, 4)
DIAG(err_typename_refers_to_non_type_template, CLASS_ERROR, diag::MAP_ERROR, "typename specifier refers to a non-template", 0, true, false, false, false, 4)
DIAG(err_typename_requires_specqual, CLASS_ERROR, diag::MAP_ERROR, "type name requires a specifier or qualifier", 0, true, false, false, false, 4)
DIAG(err_unexected_colon_in_nested_name_spec, CLASS_ERROR, diag::MAP_ERROR, "unexpected ':' in nested name specifier; did you mean '::'?", 0, true, false, false, false, 4)
DIAG(err_unexpected_at, CLASS_ERROR, diag::MAP_ERROR, "unexpected '@' in program", 0, true, false, false, false, 4)
DIAG(err_unexpected_namespace_attributes_alias, CLASS_ERROR, diag::MAP_ERROR, "attributes can not be specified on namespace alias", 0, true, false, false, false, 4)
DIAG(err_unexpected_scope_on_base_decltype, CLASS_ERROR, diag::MAP_ERROR, "unexpected namespace scope prior to decltype", 0, true, false, false, false, 4)
DIAG(err_unexpected_typedef_ident, CLASS_ERROR, diag::MAP_ERROR, "unexpected type name %0: expected identifier", 0, true, false, false, false, 4)
DIAG(err_unknown_template_name, CLASS_ERROR, diag::MAP_ERROR, "unknown template name %0", 0, true, false, false, false, 4)
DIAG(err_unknown_typename, CLASS_ERROR, diag::MAP_ERROR, "unknown type name %0", 0, true, false, false, false, 4)
DIAG(err_unspecified_vla_size_with_static, CLASS_ERROR, diag::MAP_ERROR, "'static' may not be used with an unspecified variable length array size", 0, true, false, false, false, 4)
DIAG(err_use_of_tag_name_without_tag, CLASS_ERROR, diag::MAP_ERROR, "must use '%1' tag to refer to type %0%select{| in this scope}2", 0, true, false, false, false, 4)
DIAG(err_using_namespace_in_class, CLASS_ERROR, diag::MAP_ERROR, "'using namespace' is not allowed in classes", 0, true, false, false, false, 4)
DIAG(err_zero_version, CLASS_ERROR, diag::MAP_ERROR, "version number must have non-zero major, minor, or sub-minor version", 0, true, false, false, false, 4)
DIAG(error_empty_enum, CLASS_ERROR, diag::MAP_ERROR, "use of empty enum", 0, true, false, false, false, 4)
DIAG(error_property_ivar_decl, CLASS_ERROR, diag::MAP_ERROR, "property synthesize requires specification of an ivar", 0, true, false, false, false, 4)
DIAG(ext_abstract_pack_declarator_parens, CLASS_EXTENSION, diag::MAP_WARNING, "ISO C++11 requires a parenthesized pack declaration to have a name", 15, true, false, false, false, 4)
DIAG(ext_alias_declaration, CLASS_EXTENSION, diag::MAP_WARNING, "alias declarations are a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_alignof_expr, CLASS_EXTENSION, diag::MAP_WARNING, "%0 applied to an expression is a GNU extension", 145, true, false, false, false, 4)
DIAG(ext_auto_storage_class, CLASS_EXTENSION, diag::MAP_WARNING, "'auto' storage class specifier is not permitted in C++11, and will not be supported in future releases", 34, true, false, false, false, 4)
DIAG(ext_auto_type_specifier, CLASS_EXTENSION, diag::MAP_WARNING, "'auto' type specifier is a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_c11_alignment, CLASS_EXTENSION, diag::MAP_IGNORE, "%0 is a C11-specific feature", 63, true, false, false, false, 4)
DIAG(ext_c11_generic_selection, CLASS_EXTENSION, diag::MAP_IGNORE, "generic selections are a C11-specific feature", 63, true, false, false, false, 4)
DIAG(ext_c11_noreturn, CLASS_EXTENSION, diag::MAP_IGNORE, "_Noreturn functions are a C11-specific feature", 63, true, false, false, false, 4)
DIAG(ext_c11_static_assert, CLASS_EXTENSION, diag::MAP_IGNORE, "_Static_assert is a C11-specific feature", 63, true, false, false, false, 4)
DIAG(ext_c99_compound_literal, CLASS_EXTENSION, diag::MAP_IGNORE, "compound literals are a C99-specific feature", 65, true, false, false, false, 4)
DIAG(ext_c99_flexible_array_member, CLASS_EXTENSION, diag::MAP_IGNORE, "Flexible array members are a C99-specific feature", 65, true, false, false, false, 4)
DIAG(ext_c99_variable_decl_in_for_loop, CLASS_EXTENSION, diag::MAP_IGNORE, "variable declaration in for loop is a C99-specific feature", 65, true, false, false, false, 4)
DIAG(ext_c_enum_fixed_underlying_type, CLASS_EXTENSION, diag::MAP_IGNORE, "enumeration types with a fixed underlying type are a Microsoft extension", 198, true, false, false, false, 4)
DIAG(ext_cxx11_enum_fixed_underlying_type, CLASS_EXTENSION, diag::MAP_IGNORE, "enumeration types with a fixed underlying type are a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_defaulted_function, CLASS_EXTENSION, diag::MAP_WARNING, "defaulted function definitions are a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_deleted_function, CLASS_EXTENSION, diag::MAP_WARNING, "deleted function definitions are a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_duplicate_declspec, CLASS_EXTENSION, diag::MAP_WARNING, "duplicate '%0' declaration specifier", 112, true, false, false, false, 4)
DIAG(ext_ellipsis_exception_spec, CLASS_EXTENSION, diag::MAP_IGNORE, "exception specification of '...' is a Microsoft extension", 198, true, false, false, false, 4)
DIAG(ext_empty_struct_union, CLASS_EXTENSION, diag::MAP_IGNORE, "empty %select{struct|union}0 is a GNU extension", 145, true, false, false, false, 4)
DIAG(ext_empty_translation_unit, CLASS_EXTENSION, diag::MAP_IGNORE, "ISO C requires a translation unit to contain at least one declaration", 120, true, false, false, false, 4)
DIAG(ext_enumerator_list_comma_c, CLASS_EXTENSION, diag::MAP_IGNORE, "commas at the end of enumerator lists are a C99-specific feature", 65, true, false, false, false, 4)
DIAG(ext_enumerator_list_comma_cxx, CLASS_EXTENSION, diag::MAP_IGNORE, "commas at the end of enumerator lists are a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_expected_semi_decl_list, CLASS_EXTENSION, diag::MAP_WARNING, "expected ';' at end of declaration list", 0, true, false, false, false, 4)
DIAG(ext_extern_template, CLASS_EXTENSION, diag::MAP_IGNORE, "extern templates are a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_extra_semi, CLASS_EXTENSION, diag::MAP_IGNORE, "extra ';' %select{outside of a function|inside a %1|inside instance variable list|after member function definition}0", 129, true, false, false, false, 4)
DIAG(ext_extra_semi_cxx11, CLASS_EXTENSION, diag::MAP_IGNORE, "extra ';' outside of a function is a C++11 extension", 54, true, false, false, false, 4)
DIAG(ext_for_range, CLASS_EXTENSION, diag::MAP_WARNING, "range-based for loop is a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_generalized_initializer_lists, CLASS_EXTENSION, diag::MAP_WARNING, "generalized initializer lists are a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_gnu_address_of_label, CLASS_EXTENSION, diag::MAP_IGNORE, "use of GNU address-of-label extension", 145, true, false, false, false, 4)
DIAG(ext_gnu_array_range, CLASS_EXTENSION, diag::MAP_IGNORE, "use of GNU array range extension", 147, true, false, false, false, 4)
DIAG(ext_gnu_case_range, CLASS_EXTENSION, diag::MAP_IGNORE, "use of GNU case range extension", 145, true, false, false, false, 4)
DIAG(ext_gnu_conditional_expr, CLASS_EXTENSION, diag::MAP_IGNORE, "use of GNU ?: expression extension, eliding middle term", 145, true, false, false, false, 4)
DIAG(ext_gnu_empty_initializer, CLASS_EXTENSION, diag::MAP_IGNORE, "use of GNU empty initializer extension", 145, true, false, false, false, 4)
DIAG(ext_gnu_indirect_goto, CLASS_EXTENSION, diag::MAP_IGNORE, "use of GNU indirect-goto extension", 145, true, false, false, false, 4)
DIAG(ext_gnu_local_label, CLASS_EXTENSION, diag::MAP_IGNORE, "use of GNU locally declared label extension", 145, true, false, false, false, 4)
DIAG(ext_gnu_missing_equal_designator, CLASS_EXTENSION, diag::MAP_WARNING, "use of GNU 'missing =' extension in designator", 147, true, false, false, false, 4)
DIAG(ext_gnu_old_style_field_designator, CLASS_EXTENSION, diag::MAP_WARNING, "use of GNU old-style field designator extension", 147, true, false, false, false, 4)
DIAG(ext_gnu_statement_expr, CLASS_EXTENSION, diag::MAP_IGNORE, "use of GNU statement expression extension", 145, true, false, false, false, 4)
DIAG(ext_ident_list_in_param, CLASS_EXTENSION, diag::MAP_IGNORE, "type-less parameter names in function declaration", 267, true, false, false, false, 4)
DIAG(ext_inline_namespace, CLASS_EXTENSION, diag::MAP_WARNING, "inline namespaces are a C++11 feature", 53, true, false, false, false, 4)
DIAG(ext_integer_complex, CLASS_EXTENSION, diag::MAP_IGNORE, "complex integer types are a GNU extension", 145, true, false, false, false, 4)
DIAG(ext_nonstatic_member_init, CLASS_EXTENSION, diag::MAP_WARNING, "in-class initialization of non-static data member is a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_override_control_keyword, CLASS_EXTENSION, diag::MAP_WARNING, "'%0' keyword is a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_plain_complex, CLASS_EXTENSION, diag::MAP_WARNING, "plain '_Complex' requires a type specifier; assuming '_Complex double'", 0, true, false, false, false, 4)
DIAG(ext_ref_qualifier, CLASS_EXTENSION, diag::MAP_WARNING, "reference qualifiers on functions are a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_rvalue_reference, CLASS_EXTENSION, diag::MAP_WARNING, "rvalue references are a C++11 extension", 53, true, false, false, false, 4)
DIAG(ext_thread_before, CLASS_EXTENSION, diag::MAP_IGNORE, "'__thread' before '%0'", 267, true, false, false, false, 4)
DIAG(note_bracket_depth, CLASS_NOTE, diag::MAP_FATAL, "use -fbracket-depth=N to increase maximum nesting level", 0, true, false, false, false, 4)
DIAG(note_extra_comma_message_arg, CLASS_NOTE, diag::MAP_FATAL, "comma separating Objective-C messaging arguments", 0, true, false, false, false, 4)
DIAG(note_force_empty_selector_name, CLASS_NOTE, diag::MAP_FATAL, "or insert whitespace before ':' to use %0 as parameter name and have an empty entry in the selector", 0, true, false, false, false, 4)
DIAG(note_missing_selector_name, CLASS_NOTE, diag::MAP_FATAL, "introduce a parameter name to make %0 part of the selector", 0, true, false, false, false, 4)
DIAG(note_objc_container_start, CLASS_NOTE, diag::MAP_FATAL, "%select{class|protocol|category|class extension|implementation|category implementation}0 started here", 0, true, false, false, false, 4)
DIAG(note_previous_default_assoc, CLASS_NOTE, diag::MAP_FATAL, "previous default generic association is here", 0, true, false, false, false, 4)
DIAG(w_asm_qualifier_ignored, CLASS_WARNING, diag::MAP_WARNING, "ignored %0 qualifier on asm", 0, true, false, false, false, 11)
DIAG(warn_arc_bridge_cast_nonarc, CLASS_WARNING, diag::MAP_WARNING, "'%0' casts have no effect when not using ARC", 18, true, false, false, false, 8)
DIAG(warn_attribute_no_decl, CLASS_WARNING, diag::MAP_WARNING, "attribute %0 ignored, because it is not attached to a declaration", 151, true, false, false, false, 4)
DIAG(warn_attribute_on_function_definition, CLASS_WARNING, diag::MAP_WARNING, "GCC does not allow %0 attribute in this position on a function definition", 143, true, false, false, false, 4)
DIAG(warn_auto_storage_class, CLASS_WARNING, diag::MAP_IGNORE, "'auto' storage class specifier is redundant and incompatible with C++11", 50, true, false, false, false, 4)
DIAG(warn_availability_and_unavailable, CLASS_WARNING, diag::MAP_WARNING, "'unavailable' availability overrides all other availability information", 36, true, false, false, false, 4)
DIAG(warn_cstyle_param, CLASS_WARNING, diag::MAP_WARNING, "use of C-style parameters in Objective-C method declarations is deprecated", 96, true, false, false, false, 19)
DIAG(warn_cxx0x_right_shift_in_template_arg, CLASS_WARNING, diag::MAP_WARNING, "use of right-shift operator ('>>') in template argument will require parentheses in C++11", 50, true, false, false, false, 4)
DIAG(warn_cxx98_compat_alias_declaration, CLASS_WARNING, diag::MAP_IGNORE, "alias declarations are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_alignas, CLASS_WARNING, diag::MAP_IGNORE, "'alignas' is incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_alignof, CLASS_WARNING, diag::MAP_IGNORE, "alignof expressions are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_attribute, CLASS_WARNING, diag::MAP_IGNORE, "attributes are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_decltype, CLASS_WARNING, diag::MAP_IGNORE, "'decltype' type specifier is incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_defaulted_function, CLASS_WARNING, diag::MAP_IGNORE, "defaulted function definitions are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_deleted_function, CLASS_WARNING, diag::MAP_IGNORE, "deleted function definitions are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_enum_fixed_underlying_type, CLASS_WARNING, diag::MAP_IGNORE, "enumeration types with a fixed underlying type are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_enumerator_list_comma, CLASS_WARNING, diag::MAP_IGNORE, "commas at the end of enumerator lists are incompatible with C++98", 61, true, false, false, false, 4)
DIAG(warn_cxx98_compat_extern_template, CLASS_WARNING, diag::MAP_IGNORE, "extern templates are incompatible with C++98", 61, true, false, false, false, 4)
DIAG(warn_cxx98_compat_for_range, CLASS_WARNING, diag::MAP_IGNORE, "range-based for loop is incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_generalized_initializer_lists, CLASS_WARNING, diag::MAP_IGNORE, "generalized initializer lists are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_inline_namespace, CLASS_WARNING, diag::MAP_IGNORE, "inline namespaces are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_lambda, CLASS_WARNING, diag::MAP_IGNORE, "lambda expressions are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_literal_operator, CLASS_WARNING, diag::MAP_IGNORE, "literal operators are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_noexcept_decl, CLASS_WARNING, diag::MAP_IGNORE, "noexcept specifications are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_noexcept_expr, CLASS_WARNING, diag::MAP_IGNORE, "noexcept expressions are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_nonstatic_member_init, CLASS_WARNING, diag::MAP_IGNORE, "in-class initialization of non-static data members is incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_nullptr, CLASS_WARNING, diag::MAP_IGNORE, "'nullptr' is incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_override_control_keyword, CLASS_WARNING, diag::MAP_IGNORE, "'%0' keyword is incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_ref_qualifier, CLASS_WARNING, diag::MAP_IGNORE, "reference qualifiers on functions are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_rvalue_reference, CLASS_WARNING, diag::MAP_IGNORE, "rvalue references are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_scoped_enum, CLASS_WARNING, diag::MAP_IGNORE, "scoped enumerations are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_static_assert, CLASS_WARNING, diag::MAP_IGNORE, "static_assert declarations are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_top_level_semi, CLASS_WARNING, diag::MAP_IGNORE, "extra ';' outside of a function is incompatible with C++98", 61, true, false, false, false, 4)
DIAG(warn_cxx98_compat_trailing_return_type, CLASS_WARNING, diag::MAP_IGNORE, "trailing return types are incompatible with C++98", 58, true, false, false, false, 4)
DIAG(warn_cxx98_compat_two_right_angle_brackets, CLASS_WARNING, diag::MAP_IGNORE, "consecutive right angle brackets are incompatible with C++98 (use '> >')", 58, true, false, false, false, 4)
DIAG(warn_dangling_else, CLASS_WARNING, diag::MAP_WARNING, "add explicit braces to avoid dangling else", 88, true, false, false, false, 4)
DIAG(warn_duplicate_declspec, CLASS_WARNING, diag::MAP_WARNING, "duplicate '%0' declaration specifier", 112, true, false, false, false, 4)
DIAG(warn_empty_struct_union_compat, CLASS_WARNING, diag::MAP_IGNORE, "empty %select{struct|union}0 has size 0 in C, size 1 in C++", 46, true, false, false, false, 4)
DIAG(warn_expected_qualified_after_typename, CLASS_EXTENSION, diag::MAP_WARNING, "expected a qualified name after 'typename'", 0, true, false, false, false, 4)
DIAG(warn_extra_semi_after_mem_fn_def, CLASS_WARNING, diag::MAP_IGNORE, "extra ';' after member function definition", 129, true, false, false, false, 4)
DIAG(warn_file_asm_volatile, CLASS_WARNING, diag::MAP_WARNING, "meaningless 'volatile' on asm outside function", 0, true, false, false, false, 11)
DIAG(warn_microsoft_dependent_exists, CLASS_WARNING, diag::MAP_WARNING, "dependent %select{__if_not_exists|__if_exists}0 declarations are ignored", 199, true, false, false, false, 4)
DIAG(warn_missing_dependent_template_keyword, CLASS_EXTENSION, diag::MAP_WARNING, "use 'template' keyword to treat '%0' as a dependent template name", 0, true, false, false, false, 4)
DIAG(warn_missing_selector_name, CLASS_WARNING, diag::MAP_WARNING, "%0 used as the name of the previous parameter rather than as part of the selector", 212, true, false, false, false, 4)
DIAG(warn_ms_declspec_unknown, CLASS_WARNING, diag::MAP_WARNING, "unknown __declspec attribute %0 ignored", 32, true, false, false, false, 4)
DIAG(warn_objc_protocol_qualifier_missing_id, CLASS_WARNING, diag::MAP_WARNING, "protocol has no object type specified; defaults to qualified 'id'", 0, true, false, false, false, 4)
DIAG(warn_omp_extra_tokens_at_eol, CLASS_WARNING, diag::MAP_WARNING, "extra tokens at end of '#pragma omp %0' are ignored", 130, true, false, false, false, 4)
DIAG(warn_pragma_align_expected_equal, CLASS_WARNING, diag::MAP_WARNING, "expected '=' following '#pragma %select{align|options align}0' - ignored", 0, true, false, false, false, 4)
DIAG(warn_pragma_align_invalid_option, CLASS_WARNING, diag::MAP_WARNING, "invalid alignment option in '#pragma %select{align|options align}0' - ignored", 0, true, false, false, false, 4)
DIAG(warn_pragma_expected_colon, CLASS_WARNING, diag::MAP_WARNING, "missing ':' after %0 - ignoring", 0, true, false, false, false, 4)
DIAG(warn_pragma_expected_enable_disable, CLASS_WARNING, diag::MAP_WARNING, "expected 'enable' or 'disable' - ignoring", 0, true, false, false, false, 4)
DIAG(warn_pragma_expected_identifier, CLASS_WARNING, diag::MAP_WARNING, "expected identifier in '#pragma %0' - ignored", 0, true, false, false, false, 4)
DIAG(warn_pragma_expected_lparen, CLASS_WARNING, diag::MAP_WARNING, "missing '(' after '#pragma %0' - ignoring", 0, true, false, false, false, 4)
DIAG(warn_pragma_expected_rparen, CLASS_WARNING, diag::MAP_WARNING, "missing ')' after '#pragma %0' - ignoring", 0, true, false, false, false, 4)
DIAG(warn_pragma_extra_tokens_at_eol, CLASS_WARNING, diag::MAP_WARNING, "extra tokens at end of '#pragma %0' - ignored", 0, true, false, false, false, 4)
DIAG(warn_pragma_ms_struct, CLASS_WARNING, diag::MAP_WARNING, "incorrect use of '#pragma ms_struct on|off' - ignored", 0, true, false, false, false, 4)
DIAG(warn_pragma_omp_ignored, CLASS_WARNING, diag::MAP_IGNORE, "unexpected '#pragma omp ...' in program", 311, true, false, false, false, 4)
DIAG(warn_pragma_options_expected_align, CLASS_WARNING, diag::MAP_WARNING, "expected 'align' following '#pragma options' - ignored", 0, true, false, false, false, 4)
DIAG(warn_pragma_pack_invalid_action, CLASS_WARNING, diag::MAP_WARNING, "unknown action for '#pragma pack' - ignored", 0, true, false, false, false, 4)
DIAG(warn_pragma_pack_malformed, CLASS_WARNING, diag::MAP_WARNING, "expected integer or identifier in '#pragma pack' - ignored", 0, true, false, false, false, 4)
DIAG(warn_pragma_unknown_extension, CLASS_WARNING, diag::MAP_WARNING, "unknown OpenCL extension %0 - ignoring", 0, true, false, false, false, 4)
DIAG(warn_pragma_unused_expected_punc, CLASS_WARNING, diag::MAP_WARNING, "expected ')' or ',' in '#pragma unused'", 0, true, false, false, false, 4)
DIAG(warn_pragma_unused_expected_var, CLASS_WARNING, diag::MAP_WARNING, "expected '#pragma unused' argument to be a variable name", 0, true, false, false, false, 4)
DIAG(warn_semicolon_before_method_body, CLASS_WARNING, diag::MAP_IGNORE, "semicolon before method body is ignored", 292, true, false, false, false, 4)
DIAG(warn_static_inline_explicit_inst_ignored, CLASS_WARNING, diag::MAP_WARNING, "ignoring '%select{static|inline}0' keyword on explicit template instantiation", 0, true, false, false, false, 4)
DIAG(warn_vector_long_decl_spec_combination, CLASS_WARNING, diag::MAP_WARNING, "Use of 'long' with '__vector' is deprecated", 95, true, false, false, false, 19)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,24 @@
#ifdef SERIALIZATIONSTART
__SERIALIZATIONSTART = DIAG_START_SERIALIZATION,
#undef SERIALIZATIONSTART
#endif
DIAG(err_fe_not_a_pch_file, CLASS_ERROR, diag::MAP_ERROR, "input is not a PCH file: '%0'", 0, true, false, false, false, 0)
DIAG(err_fe_pch_file_modified, CLASS_ERROR, diag::MAP_FATAL, "file '%0' has been modified since the precompiled header '%1' was built", 0, true, false, false, false, 0)
DIAG(err_fe_pch_file_overridden, CLASS_ERROR, diag::MAP_ERROR, "file '%0' from the precompiled header has been overridden", 0, true, false, false, false, 0)
DIAG(err_fe_pch_malformed, CLASS_ERROR, diag::MAP_FATAL, "malformed or corrupted PCH file: '%0'", 0, true, false, false, false, 0)
DIAG(err_fe_pch_malformed_block, CLASS_ERROR, diag::MAP_FATAL, "malformed block record in PCH file: '%0'", 0, true, false, false, false, 0)
DIAG(err_fe_unable_to_read_pch_file, CLASS_ERROR, diag::MAP_ERROR, "unable to read PCH file %0: '%1'", 0, true, false, false, false, 0)
DIAG(err_not_a_pch_file, CLASS_ERROR, diag::MAP_FATAL, "'%0' does not appear to be a precompiled header file", 0, true, false, false, false, 0)
DIAG(err_pch_langopt_mismatch, CLASS_ERROR, diag::MAP_ERROR, "%0 was %select{disabled|enabled}1 in PCH file but is currently %select{disabled|enabled}2", 0, true, false, false, false, 0)
DIAG(err_pch_langopt_value_mismatch, CLASS_ERROR, diag::MAP_ERROR, "%0 differs in PCH file vs. current file", 0, true, false, false, false, 0)
DIAG(err_pch_macro_def_conflict, CLASS_ERROR, diag::MAP_ERROR, "definition of macro '%0' differs between the precompiled header ('%1') and the command line ('%2')", 0, true, false, false, false, 0)
DIAG(err_pch_macro_def_undef, CLASS_ERROR, diag::MAP_ERROR, "macro '%0' was %select{defined|undef'd}1 in the precompiled header but %select{undef'd|defined}1 on the command line", 0, true, false, false, false, 0)
DIAG(err_pch_targetopt_feature_mismatch, CLASS_ERROR, diag::MAP_ERROR, "%select{AST file|current translation unit}0 was compiled with the target feature'%1' but the %select{current translation unit is|AST file was}0 not", 0, true, false, false, false, 0)
DIAG(err_pch_targetopt_mismatch, CLASS_ERROR, diag::MAP_ERROR, "PCH file was compiled for the %0 '%1' but the current translation unit is being compiled for target '%2'", 0, true, false, false, false, 0)
DIAG(err_pch_undef, CLASS_ERROR, diag::MAP_ERROR, "%select{command line contains|precompiled header was built with}0 '-undef' but %select{precompiled header was not built with it|it is not present on the command line}0", 0, true, false, false, false, 0)
DIAG(err_pch_with_compiler_errors, CLASS_ERROR, diag::MAP_ERROR, "PCH file contains compiler errors", 0, true, false, false, false, 0)
DIAG(warn_module_conflict, CLASS_WARNING, diag::MAP_WARNING, "module '%0' conflicts with already-imported module '%1': %2", 215, true, false, false, false, 0)
DIAG(warn_pch_different_branch, CLASS_ERROR, diag::MAP_ERROR, "PCH file built from a different branch (%0) than the compiler (%1)", 0, true, false, false, false, 0)
DIAG(warn_pch_version_too_new, CLASS_ERROR, diag::MAP_ERROR, "PCH file uses a newer PCH format that cannot be read", 0, true, false, false, false, 0)
DIAG(warn_pch_version_too_old, CLASS_ERROR, diag::MAP_ERROR, "PCH file uses an older PCH format that is no longer supported", 0, true, false, false, false, 0)

View File

@@ -0,0 +1,6 @@
#define CLANG_VERSION 3.3
#define CLANG_VERSION_MAJOR 3
#define CLANG_VERSION_MINOR 3
#if 0
#define CLANG_VERSION_PATCHLEVEL
#endif

View File

@@ -0,0 +1,448 @@
#ifdef GET_NEON_BUILTINS
BUILTIN(__builtin_neon_vabd_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vabdq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vabs_v, "V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vabsq_v, "V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vaddhn_v, "V8ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vbsl_v, "V8ScV8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vbslq_v, "V16ScV16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vcage_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vcageq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vcagt_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vcagtq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vcale_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vcaleq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vcalt_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vcaltq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vcls_v, "V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vclsq_v, "V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vclz_v, "V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vclzq_v, "V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vcnt_v, "V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vcntq_v, "V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vcvt_f16_v, "V8ScV16Sci", "n")
BUILTIN(__builtin_neon_vcvt_f32_v, "V2fV8Sci", "n")
BUILTIN(__builtin_neon_vcvtq_f32_v, "V4fV16Sci", "n")
BUILTIN(__builtin_neon_vcvt_f32_f16, "V4fV8Sci", "n")
BUILTIN(__builtin_neon_vcvt_n_f32_v, "V2fV8Scii", "n")
BUILTIN(__builtin_neon_vcvtq_n_f32_v, "V4fV16Scii", "n")
BUILTIN(__builtin_neon_vcvt_n_s32_v, "V8ScV8Scii", "n")
BUILTIN(__builtin_neon_vcvtq_n_s32_v, "V16ScV16Scii", "n")
BUILTIN(__builtin_neon_vcvt_n_u32_v, "V8ScV8Scii", "n")
BUILTIN(__builtin_neon_vcvtq_n_u32_v, "V16ScV16Scii", "n")
BUILTIN(__builtin_neon_vcvt_s32_v, "V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vcvtq_s32_v, "V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vcvt_u32_v, "V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vcvtq_u32_v, "V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vext_v, "V8ScV8ScV8Scii", "n")
BUILTIN(__builtin_neon_vextq_v, "V16ScV16ScV16Scii", "n")
BUILTIN(__builtin_neon_vfma_v, "V8ScV8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vfmaq_v, "V16ScV16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vget_lane_i8, "UcV8Sci", "n")
BUILTIN(__builtin_neon_vget_lane_i16, "UsV4si", "n")
BUILTIN(__builtin_neon_vget_lane_i32, "UiV2ii", "n")
BUILTIN(__builtin_neon_vget_lane_f32, "fV2fi", "n")
BUILTIN(__builtin_neon_vgetq_lane_i8, "UcV16Sci", "n")
BUILTIN(__builtin_neon_vgetq_lane_i16, "UsV8si", "n")
BUILTIN(__builtin_neon_vgetq_lane_i32, "UiV4ii", "n")
BUILTIN(__builtin_neon_vgetq_lane_f32, "fV4fi", "n")
BUILTIN(__builtin_neon_vget_lane_i64, "ULLiV1LLii", "n")
BUILTIN(__builtin_neon_vgetq_lane_i64, "ULLiV2LLii", "n")
BUILTIN(__builtin_neon_vhadd_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vhaddq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vhsub_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vhsubq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vld1q_v, "V16ScvC*i", "n")
BUILTIN(__builtin_neon_vld1_v, "V8ScvC*i", "n")
BUILTIN(__builtin_neon_vld1q_dup_v, "V16ScvC*i", "n")
BUILTIN(__builtin_neon_vld1_dup_v, "V8ScvC*i", "n")
BUILTIN(__builtin_neon_vld1q_lane_v, "V16ScvC*V16Scii", "n")
BUILTIN(__builtin_neon_vld1_lane_v, "V8ScvC*V8Scii", "n")
BUILTIN(__builtin_neon_vld2q_v, "vv*vC*i", "n")
BUILTIN(__builtin_neon_vld2_v, "vv*vC*i", "n")
BUILTIN(__builtin_neon_vld2_dup_v, "vv*vC*i", "n")
BUILTIN(__builtin_neon_vld2q_lane_v, "vv*vC*V16ScV16Scii", "n")
BUILTIN(__builtin_neon_vld2_lane_v, "vv*vC*V8ScV8Scii", "n")
BUILTIN(__builtin_neon_vld3q_v, "vv*vC*i", "n")
BUILTIN(__builtin_neon_vld3_v, "vv*vC*i", "n")
BUILTIN(__builtin_neon_vld3_dup_v, "vv*vC*i", "n")
BUILTIN(__builtin_neon_vld3q_lane_v, "vv*vC*V16ScV16ScV16Scii", "n")
BUILTIN(__builtin_neon_vld3_lane_v, "vv*vC*V8ScV8ScV8Scii", "n")
BUILTIN(__builtin_neon_vld4q_v, "vv*vC*i", "n")
BUILTIN(__builtin_neon_vld4_v, "vv*vC*i", "n")
BUILTIN(__builtin_neon_vld4_dup_v, "vv*vC*i", "n")
BUILTIN(__builtin_neon_vld4q_lane_v, "vv*vC*V16ScV16ScV16ScV16Scii", "n")
BUILTIN(__builtin_neon_vld4_lane_v, "vv*vC*V8ScV8ScV8ScV8Scii", "n")
BUILTIN(__builtin_neon_vmax_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vmaxq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vmin_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vminq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vmovl_v, "V16ScV8Sci", "n")
BUILTIN(__builtin_neon_vmovn_v, "V8ScV16Sci", "n")
BUILTIN(__builtin_neon_vmull_v, "V16ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vmul_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vmulq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vpadal_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vpadalq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vpadd_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vpaddl_v, "V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vpaddlq_v, "V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vpmax_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vpmin_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqabs_v, "V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqabsq_v, "V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vqadd_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqaddq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vqdmlal_v, "V16ScV16ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqdmlsl_v, "V16ScV16ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqdmulh_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqdmulhq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vqdmull_v, "V16ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqmovn_v, "V8ScV16Sci", "n")
BUILTIN(__builtin_neon_vqmovun_v, "V8ScV16Sci", "n")
BUILTIN(__builtin_neon_vqneg_v, "V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqnegq_v, "V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vqrdmulh_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqrdmulhq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vqrshl_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqrshlq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vqrshrn_n_v, "V8ScV16Scii", "n")
BUILTIN(__builtin_neon_vqrshrun_n_v, "V8ScV16Scii", "n")
BUILTIN(__builtin_neon_vqshl_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqshlq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vqshlu_n_v, "V8ScV8Scii", "n")
BUILTIN(__builtin_neon_vqshluq_n_v, "V16ScV16Scii", "n")
BUILTIN(__builtin_neon_vqshl_n_v, "V8ScV8Scii", "n")
BUILTIN(__builtin_neon_vqshlq_n_v, "V16ScV16Scii", "n")
BUILTIN(__builtin_neon_vqshrn_n_v, "V8ScV16Scii", "n")
BUILTIN(__builtin_neon_vqshrun_n_v, "V8ScV16Scii", "n")
BUILTIN(__builtin_neon_vqsub_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vqsubq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vraddhn_v, "V8ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vrecpe_v, "V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vrecpeq_v, "V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vrecps_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vrecpsq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vrhadd_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vrhaddq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vrshl_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vrshlq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vrshrn_n_v, "V8ScV16Scii", "n")
BUILTIN(__builtin_neon_vrshr_n_v, "V8ScV8Scii", "n")
BUILTIN(__builtin_neon_vrshrq_n_v, "V16ScV16Scii", "n")
BUILTIN(__builtin_neon_vrsqrte_v, "V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vrsqrteq_v, "V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vrsqrts_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vrsqrtsq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vrsra_n_v, "V8ScV8ScV8Scii", "n")
BUILTIN(__builtin_neon_vrsraq_n_v, "V16ScV16ScV16Scii", "n")
BUILTIN(__builtin_neon_vrsubhn_v, "V8ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vset_lane_i8, "V8ScUcV8Sci", "n")
BUILTIN(__builtin_neon_vset_lane_i16, "V4sUsV4si", "n")
BUILTIN(__builtin_neon_vset_lane_i32, "V2iUiV2ii", "n")
BUILTIN(__builtin_neon_vset_lane_f32, "V2ffV2fi", "n")
BUILTIN(__builtin_neon_vsetq_lane_i8, "V16ScUcV16Sci", "n")
BUILTIN(__builtin_neon_vsetq_lane_i16, "V8sUsV8si", "n")
BUILTIN(__builtin_neon_vsetq_lane_i32, "V4iUiV4ii", "n")
BUILTIN(__builtin_neon_vsetq_lane_f32, "V4ffV4fi", "n")
BUILTIN(__builtin_neon_vset_lane_i64, "V1LLiULLiV1LLii", "n")
BUILTIN(__builtin_neon_vsetq_lane_i64, "V2LLiULLiV2LLii", "n")
BUILTIN(__builtin_neon_vshl_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vshlq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vshll_n_v, "V16ScV8Scii", "n")
BUILTIN(__builtin_neon_vshl_n_v, "V8ScV8Scii", "n")
BUILTIN(__builtin_neon_vshlq_n_v, "V16ScV16Scii", "n")
BUILTIN(__builtin_neon_vshrn_n_v, "V8ScV16Scii", "n")
BUILTIN(__builtin_neon_vshr_n_v, "V8ScV8Scii", "n")
BUILTIN(__builtin_neon_vshrq_n_v, "V16ScV16Scii", "n")
BUILTIN(__builtin_neon_vsli_n_v, "V8ScV8ScV8Scii", "n")
BUILTIN(__builtin_neon_vsliq_n_v, "V16ScV16ScV16Scii", "n")
BUILTIN(__builtin_neon_vsra_n_v, "V8ScV8ScV8Scii", "n")
BUILTIN(__builtin_neon_vsraq_n_v, "V16ScV16ScV16Scii", "n")
BUILTIN(__builtin_neon_vsri_n_v, "V8ScV8ScV8Scii", "n")
BUILTIN(__builtin_neon_vsriq_n_v, "V16ScV16ScV16Scii", "n")
BUILTIN(__builtin_neon_vst1q_v, "vv*V16Sci", "n")
BUILTIN(__builtin_neon_vst1_v, "vv*V8Sci", "n")
BUILTIN(__builtin_neon_vst1q_lane_v, "vv*V16Scii", "n")
BUILTIN(__builtin_neon_vst1_lane_v, "vv*V8Scii", "n")
BUILTIN(__builtin_neon_vst2q_v, "vv*V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vst2_v, "vv*V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vst2q_lane_v, "vv*V16ScV16Scii", "n")
BUILTIN(__builtin_neon_vst2_lane_v, "vv*V8ScV8Scii", "n")
BUILTIN(__builtin_neon_vst3q_v, "vv*V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vst3_v, "vv*V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vst3q_lane_v, "vv*V16ScV16ScV16Scii", "n")
BUILTIN(__builtin_neon_vst3_lane_v, "vv*V8ScV8ScV8Scii", "n")
BUILTIN(__builtin_neon_vst4q_v, "vv*V16ScV16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vst4_v, "vv*V8ScV8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vst4q_lane_v, "vv*V16ScV16ScV16ScV16Scii", "n")
BUILTIN(__builtin_neon_vst4_lane_v, "vv*V8ScV8ScV8ScV8Scii", "n")
BUILTIN(__builtin_neon_vsubhn_v, "V8ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vtbl1_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vtbl2_v, "V8ScV8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vtbl3_v, "V8ScV8ScV8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vtbl4_v, "V8ScV8ScV8ScV8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vtbx1_v, "V8ScV8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vtbx2_v, "V8ScV8ScV8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vtbx3_v, "V8ScV8ScV8ScV8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vtbx4_v, "V8ScV8ScV8ScV8ScV8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vtrn_v, "vv*V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vtrnq_v, "vv*V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vtst_v, "V8ScV8ScV8Sci", "n")
BUILTIN(__builtin_neon_vtstq_v, "V16ScV16ScV16Sci", "n")
BUILTIN(__builtin_neon_vuzp_v, "vv*V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vuzpq_v, "vv*V16ScV16Sci", "n")
BUILTIN(__builtin_neon_vzip_v, "vv*V8ScV8Sci", "n")
BUILTIN(__builtin_neon_vzipq_v, "vv*V16ScV16Sci", "n")
#endif
#ifdef GET_NEON_OVERLOAD_CHECK
case ARM::BI__builtin_neon_vabd_v: mask = 0x70087ULL; break;
case ARM::BI__builtin_neon_vabdq_v: mask = 0x7008700000000ULL; break;
case ARM::BI__builtin_neon_vabs_v: mask = 0x87ULL; break;
case ARM::BI__builtin_neon_vabsq_v: mask = 0x8700000000ULL; break;
case ARM::BI__builtin_neon_vaddhn_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vbsl_v: mask = 0xF00BFULL; break;
case ARM::BI__builtin_neon_vbslq_v: mask = 0xF00BF00000000ULL; break;
case ARM::BI__builtin_neon_vcage_v: mask = 0x40000ULL; break;
case ARM::BI__builtin_neon_vcageq_v: mask = 0x4000000000000ULL; break;
case ARM::BI__builtin_neon_vcagt_v: mask = 0x40000ULL; break;
case ARM::BI__builtin_neon_vcagtq_v: mask = 0x4000000000000ULL; break;
case ARM::BI__builtin_neon_vcale_v: mask = 0x40000ULL; break;
case ARM::BI__builtin_neon_vcaleq_v: mask = 0x4000000000000ULL; break;
case ARM::BI__builtin_neon_vcalt_v: mask = 0x40000ULL; break;
case ARM::BI__builtin_neon_vcaltq_v: mask = 0x4000000000000ULL; break;
case ARM::BI__builtin_neon_vcls_v: mask = 0x7ULL; break;
case ARM::BI__builtin_neon_vclsq_v: mask = 0x700000000ULL; break;
case ARM::BI__builtin_neon_vclz_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vclzq_v: mask = 0x7000700000000ULL; break;
case ARM::BI__builtin_neon_vcnt_v: mask = 0x10011ULL; break;
case ARM::BI__builtin_neon_vcntq_v: mask = 0x1001100000000ULL; break;
case ARM::BI__builtin_neon_vcvt_f16_v: mask = 0x40ULL; break;
case ARM::BI__builtin_neon_vcvt_f32_v: mask = 0x40004ULL; break;
case ARM::BI__builtin_neon_vcvtq_f32_v: mask = 0x4000400000000ULL; break;
case ARM::BI__builtin_neon_vcvt_f32_f16: mask = 0x40ULL; break;
case ARM::BI__builtin_neon_vcvt_n_f32_v: mask = 0x40004ULL; break;
case ARM::BI__builtin_neon_vcvtq_n_f32_v: mask = 0x4000400000000ULL; break;
case ARM::BI__builtin_neon_vcvt_n_s32_v: mask = 0x4ULL; break;
case ARM::BI__builtin_neon_vcvtq_n_s32_v: mask = 0x400000000ULL; break;
case ARM::BI__builtin_neon_vcvt_n_u32_v: mask = 0x40000ULL; break;
case ARM::BI__builtin_neon_vcvtq_n_u32_v: mask = 0x4000000000000ULL; break;
case ARM::BI__builtin_neon_vcvt_s32_v: mask = 0x4ULL; break;
case ARM::BI__builtin_neon_vcvtq_s32_v: mask = 0x400000000ULL; break;
case ARM::BI__builtin_neon_vcvt_u32_v: mask = 0x40000ULL; break;
case ARM::BI__builtin_neon_vcvtq_u32_v: mask = 0x4000000000000ULL; break;
case ARM::BI__builtin_neon_vext_v: mask = 0xF00BFULL; break;
case ARM::BI__builtin_neon_vextq_v: mask = 0xF00BF00000000ULL; break;
case ARM::BI__builtin_neon_vfma_v: mask = 0x80ULL; break;
case ARM::BI__builtin_neon_vfmaq_v: mask = 0x8000000000ULL; break;
case ARM::BI__builtin_neon_vhadd_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vhaddq_v: mask = 0x7000700000000ULL; break;
case ARM::BI__builtin_neon_vhsub_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vhsubq_v: mask = 0x7000700000000ULL; break;
case ARM::BI__builtin_neon_vld1_v: mask = 0xF00FFULL; PtrArgNum = 0; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld1q_v: mask = 0xF00FF00000000ULL; PtrArgNum = 0; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld1_dup_v: mask = 0xF00FFULL; break;
case ARM::BI__builtin_neon_vld1q_dup_v: mask = 0xF00FF00000000ULL; break;
case ARM::BI__builtin_neon_vld1_lane_v: mask = 0xF00FFULL; break;
case ARM::BI__builtin_neon_vld1q_lane_v: mask = 0xF00FF00000000ULL; break;
case ARM::BI__builtin_neon_vld2_v: mask = 0xF00FFULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld2q_v: mask = 0x700F700000000ULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld2_dup_v: mask = 0xF00FFULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld2_lane_v: mask = 0x700F7ULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld2q_lane_v: mask = 0x600E600000000ULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld3_v: mask = 0xF00FFULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld3q_v: mask = 0x700F700000000ULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld3_dup_v: mask = 0xF00FFULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld3_lane_v: mask = 0x700F7ULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld3q_lane_v: mask = 0x600E600000000ULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld4_v: mask = 0xF00FFULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld4q_v: mask = 0x700F700000000ULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld4_dup_v: mask = 0xF00FFULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld4_lane_v: mask = 0x700F7ULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vld4q_lane_v: mask = 0x600E600000000ULL; PtrArgNum = 1; HasConstPtr = true; break;
case ARM::BI__builtin_neon_vmax_v: mask = 0x70087ULL; break;
case ARM::BI__builtin_neon_vmaxq_v: mask = 0x7008700000000ULL; break;
case ARM::BI__builtin_neon_vmin_v: mask = 0x70087ULL; break;
case ARM::BI__builtin_neon_vminq_v: mask = 0x7008700000000ULL; break;
case ARM::BI__builtin_neon_vmovl_v: mask = 0xE000E00000000ULL; break;
case ARM::BI__builtin_neon_vmovn_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vmull_v: mask = 0xE002E00000000ULL; break;
case ARM::BI__builtin_neon_vmul_v: mask = 0x10ULL; break;
case ARM::BI__builtin_neon_vmulq_v: mask = 0x1000000000ULL; break;
case ARM::BI__builtin_neon_vpadal_v: mask = 0xE000EULL; break;
case ARM::BI__builtin_neon_vpadalq_v: mask = 0xE000E00000000ULL; break;
case ARM::BI__builtin_neon_vpadd_v: mask = 0x70087ULL; break;
case ARM::BI__builtin_neon_vpaddl_v: mask = 0xE000EULL; break;
case ARM::BI__builtin_neon_vpaddlq_v: mask = 0xE000E00000000ULL; break;
case ARM::BI__builtin_neon_vpmax_v: mask = 0x70087ULL; break;
case ARM::BI__builtin_neon_vpmin_v: mask = 0x70087ULL; break;
case ARM::BI__builtin_neon_vqabs_v: mask = 0x7ULL; break;
case ARM::BI__builtin_neon_vqabsq_v: mask = 0x700000000ULL; break;
case ARM::BI__builtin_neon_vqadd_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vqaddq_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vqdmlal_v: mask = 0xC00000000ULL; break;
case ARM::BI__builtin_neon_vqdmlsl_v: mask = 0xC00000000ULL; break;
case ARM::BI__builtin_neon_vqdmulh_v: mask = 0x6ULL; break;
case ARM::BI__builtin_neon_vqdmulhq_v: mask = 0x600000000ULL; break;
case ARM::BI__builtin_neon_vqdmull_v: mask = 0xC00000000ULL; break;
case ARM::BI__builtin_neon_vqmovn_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vqmovun_v: mask = 0x70000ULL; break;
case ARM::BI__builtin_neon_vqneg_v: mask = 0x7ULL; break;
case ARM::BI__builtin_neon_vqnegq_v: mask = 0x700000000ULL; break;
case ARM::BI__builtin_neon_vqrdmulh_v: mask = 0x6ULL; break;
case ARM::BI__builtin_neon_vqrdmulhq_v: mask = 0x600000000ULL; break;
case ARM::BI__builtin_neon_vqrshl_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vqrshlq_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vqrshrn_n_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vqrshrun_n_v: mask = 0x70000ULL; break;
case ARM::BI__builtin_neon_vqshl_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vqshlq_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vqshlu_n_v: mask = 0xF0000ULL; break;
case ARM::BI__builtin_neon_vqshluq_n_v: mask = 0xF000000000000ULL; break;
case ARM::BI__builtin_neon_vqshl_n_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vqshlq_n_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vqshrn_n_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vqshrun_n_v: mask = 0x70000ULL; break;
case ARM::BI__builtin_neon_vqsub_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vqsubq_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vraddhn_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vrecpe_v: mask = 0x40080ULL; break;
case ARM::BI__builtin_neon_vrecpeq_v: mask = 0x4008000000000ULL; break;
case ARM::BI__builtin_neon_vrecps_v: mask = 0x80ULL; break;
case ARM::BI__builtin_neon_vrecpsq_v: mask = 0x8000000000ULL; break;
case ARM::BI__builtin_neon_vrhadd_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vrhaddq_v: mask = 0x7000700000000ULL; break;
case ARM::BI__builtin_neon_vrshl_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vrshlq_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vrshrn_n_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vrshr_n_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vrshrq_n_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vrsqrte_v: mask = 0x40080ULL; break;
case ARM::BI__builtin_neon_vrsqrteq_v: mask = 0x4008000000000ULL; break;
case ARM::BI__builtin_neon_vrsqrts_v: mask = 0x80ULL; break;
case ARM::BI__builtin_neon_vrsqrtsq_v: mask = 0x8000000000ULL; break;
case ARM::BI__builtin_neon_vrsra_n_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vrsraq_n_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vrsubhn_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vshl_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vshlq_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vshll_n_v: mask = 0xE000E00000000ULL; break;
case ARM::BI__builtin_neon_vshl_n_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vshlq_n_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vshrn_n_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vshr_n_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vshrq_n_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vsli_n_v: mask = 0xF003FULL; break;
case ARM::BI__builtin_neon_vsliq_n_v: mask = 0xF003F00000000ULL; break;
case ARM::BI__builtin_neon_vsra_n_v: mask = 0xF000FULL; break;
case ARM::BI__builtin_neon_vsraq_n_v: mask = 0xF000F00000000ULL; break;
case ARM::BI__builtin_neon_vsri_n_v: mask = 0xF003FULL; break;
case ARM::BI__builtin_neon_vsriq_n_v: mask = 0xF003F00000000ULL; break;
case ARM::BI__builtin_neon_vst1_v: mask = 0xF00FFULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst1q_v: mask = 0xF00FF00000000ULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst1_lane_v: mask = 0xF00FFULL; break;
case ARM::BI__builtin_neon_vst1q_lane_v: mask = 0xF00FF00000000ULL; break;
case ARM::BI__builtin_neon_vst2_v: mask = 0xF00FFULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst2q_v: mask = 0x700F700000000ULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst2_lane_v: mask = 0x700F7ULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst2q_lane_v: mask = 0x600E600000000ULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst3_v: mask = 0xF00FFULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst3q_v: mask = 0x700F700000000ULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst3_lane_v: mask = 0x700F7ULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst3q_lane_v: mask = 0x600E600000000ULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst4_v: mask = 0xF00FFULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst4q_v: mask = 0x700F700000000ULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst4_lane_v: mask = 0x700F7ULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vst4q_lane_v: mask = 0x600E600000000ULL; PtrArgNum = 0; break;
case ARM::BI__builtin_neon_vsubhn_v: mask = 0x70007ULL; break;
case ARM::BI__builtin_neon_vtbl1_v: mask = 0x10011ULL; break;
case ARM::BI__builtin_neon_vtbl2_v: mask = 0x10011ULL; break;
case ARM::BI__builtin_neon_vtbl3_v: mask = 0x10011ULL; break;
case ARM::BI__builtin_neon_vtbl4_v: mask = 0x10011ULL; break;
case ARM::BI__builtin_neon_vtbx1_v: mask = 0x10011ULL; break;
case ARM::BI__builtin_neon_vtbx2_v: mask = 0x10011ULL; break;
case ARM::BI__builtin_neon_vtbx3_v: mask = 0x10011ULL; break;
case ARM::BI__builtin_neon_vtbx4_v: mask = 0x10011ULL; break;
case ARM::BI__builtin_neon_vtrn_v: mask = 0x700B7ULL; break;
case ARM::BI__builtin_neon_vtrnq_v: mask = 0x700B700000000ULL; break;
case ARM::BI__builtin_neon_vtst_v: mask = 0x70000ULL; break;
case ARM::BI__builtin_neon_vtstq_v: mask = 0x7000000000000ULL; break;
case ARM::BI__builtin_neon_vuzp_v: mask = 0x700B7ULL; break;
case ARM::BI__builtin_neon_vuzpq_v: mask = 0x700B700000000ULL; break;
case ARM::BI__builtin_neon_vzip_v: mask = 0x700B7ULL; break;
case ARM::BI__builtin_neon_vzipq_v: mask = 0x700B700000000ULL; break;
#endif
#ifdef GET_NEON_IMMEDIATE_CHECK
case ARM::BI__builtin_neon_vcvt_n_f32_v: i = 1; l = 1; u = 31; break;
case ARM::BI__builtin_neon_vcvtq_n_f32_v: i = 1; l = 1; u = 31; break;
case ARM::BI__builtin_neon_vcvt_n_s32_v: i = 1; l = 1; u = 31; break;
case ARM::BI__builtin_neon_vcvtq_n_s32_v: i = 1; l = 1; u = 31; break;
case ARM::BI__builtin_neon_vcvt_n_u32_v: i = 1; l = 1; u = 31; break;
case ARM::BI__builtin_neon_vcvtq_n_u32_v: i = 1; l = 1; u = 31; break;
case ARM::BI__builtin_neon_vext_v: i = 2; u = RFT(TV); break;
case ARM::BI__builtin_neon_vextq_v: i = 2; u = RFT(TV); break;
case ARM::BI__builtin_neon_vget_lane_i8: i = 1; u = 7; break;
case ARM::BI__builtin_neon_vget_lane_i16: i = 1; u = 3; break;
case ARM::BI__builtin_neon_vget_lane_i32: i = 1; u = 1; break;
case ARM::BI__builtin_neon_vget_lane_f32: i = 1; u = 1; break;
case ARM::BI__builtin_neon_vgetq_lane_i8: i = 1; u = 15; break;
case ARM::BI__builtin_neon_vgetq_lane_i16: i = 1; u = 7; break;
case ARM::BI__builtin_neon_vgetq_lane_i32: i = 1; u = 3; break;
case ARM::BI__builtin_neon_vgetq_lane_f32: i = 1; u = 3; break;
case ARM::BI__builtin_neon_vget_lane_i64: i = 1; u = 0; break;
case ARM::BI__builtin_neon_vgetq_lane_i64: i = 1; u = 1; break;
case ARM::BI__builtin_neon_vld1q_lane_v: i = 2; u = RFT(TV); break;
case ARM::BI__builtin_neon_vld1_lane_v: i = 2; u = RFT(TV); break;
case ARM::BI__builtin_neon_vld2q_lane_v: i = 4; u = RFT(TV); break;
case ARM::BI__builtin_neon_vld2_lane_v: i = 4; u = RFT(TV); break;
case ARM::BI__builtin_neon_vld3q_lane_v: i = 5; u = RFT(TV); break;
case ARM::BI__builtin_neon_vld3_lane_v: i = 5; u = RFT(TV); break;
case ARM::BI__builtin_neon_vld4q_lane_v: i = 6; u = RFT(TV); break;
case ARM::BI__builtin_neon_vld4_lane_v: i = 6; u = RFT(TV); break;
case ARM::BI__builtin_neon_vqrshrn_n_v: i = 1; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vqrshrun_n_v: i = 1; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vqshlu_n_v: i = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vqshluq_n_v: i = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vqshl_n_v: i = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vqshlq_n_v: i = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vqshrn_n_v: i = 1; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vqshrun_n_v: i = 1; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vrshrn_n_v: i = 1; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vrshr_n_v: i = 1; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vrshrq_n_v: i = 1; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vrsra_n_v: i = 2; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vrsraq_n_v: i = 2; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vset_lane_i8: i = 2; u = 7; break;
case ARM::BI__builtin_neon_vset_lane_i16: i = 2; u = 3; break;
case ARM::BI__builtin_neon_vset_lane_i32: i = 2; u = 1; break;
case ARM::BI__builtin_neon_vset_lane_f32: i = 2; u = 1; break;
case ARM::BI__builtin_neon_vsetq_lane_i8: i = 2; u = 15; break;
case ARM::BI__builtin_neon_vsetq_lane_i16: i = 2; u = 7; break;
case ARM::BI__builtin_neon_vsetq_lane_i32: i = 2; u = 3; break;
case ARM::BI__builtin_neon_vsetq_lane_f32: i = 2; u = 3; break;
case ARM::BI__builtin_neon_vset_lane_i64: i = 2; u = 0; break;
case ARM::BI__builtin_neon_vsetq_lane_i64: i = 2; u = 1; break;
case ARM::BI__builtin_neon_vshll_n_v: i = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vshl_n_v: i = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vshlq_n_v: i = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vshrn_n_v: i = 1; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vshr_n_v: i = 1; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vshrq_n_v: i = 1; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vsli_n_v: i = 2; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vsliq_n_v: i = 2; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vsra_n_v: i = 2; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vsraq_n_v: i = 2; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vsri_n_v: i = 2; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vsriq_n_v: i = 2; l = 1; u = RFT(TV, true); break;
case ARM::BI__builtin_neon_vst1q_lane_v: i = 2; u = RFT(TV); break;
case ARM::BI__builtin_neon_vst1_lane_v: i = 2; u = RFT(TV); break;
case ARM::BI__builtin_neon_vst2q_lane_v: i = 3; u = RFT(TV); break;
case ARM::BI__builtin_neon_vst2_lane_v: i = 3; u = RFT(TV); break;
case ARM::BI__builtin_neon_vst3q_lane_v: i = 4; u = RFT(TV); break;
case ARM::BI__builtin_neon_vst3_lane_v: i = 4; u = RFT(TV); break;
case ARM::BI__builtin_neon_vst4q_lane_v: i = 5; u = RFT(TV); break;
case ARM::BI__builtin_neon_vst4_lane_v: i = 5; u = RFT(TV); break;
#endif

View File

@@ -0,0 +1,14 @@
/* Bug report URL. */
#define BUG_REPORT_URL "http://llvm.org/bugs/"
/* Relative directory for resource files */
#define CLANG_RESOURCE_DIR ""
/* Directories clang will search for headers */
#define C_INCLUDE_DIRS ""
/* Default <path> to all compiler invocations for --sysroot=<path>. */
#define DEFAULT_SYSROOT ""
/* Directory where gcc is installed. */
#define GCC_INSTALL_PREFIX ""

View File

@@ -0,0 +1,80 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*Option Parsing Definitions *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef PREFIX
#error "Define PREFIX prior to including this file!"
#endif
/////////
// Prefixes
#define COMMA ,
PREFIX(prefix_0, {0})
PREFIX(prefix_1, {"-" COMMA 0})
PREFIX(prefix_3, {"-" COMMA "--" COMMA 0})
PREFIX(prefix_2, {"--" COMMA 0})
#undef COMMA
#ifndef OPTION
#error "Define OPTION prior to including this file!"
#endif
/////////
// Groups
//////////
// Options
OPTION(prefix_0, "<input>", INPUT, Input, INVALID, INVALID, DriverOption | CC1Option, 0, 0, 0)
OPTION(prefix_0, "<unknown>", UNKNOWN, Unknown, INVALID, INVALID, 0, 0, 0, 0)
OPTION(prefix_1, "I", I, JoinedOrSeparate, INVALID, INVALID, 0, 0,
"Add directory to include search path", "<directory>")
OPTION(prefix_1, "L", L, Flag, INVALID, INVALID, 0, 0,
"Save temporary labels in the symbol table. Note this may change .s semantics, it should almost never be used on compiler generated code!", 0)
OPTION(prefix_1, "dwarf-debug-flags", dwarf_debug_flags, Separate, INVALID, INVALID, 0, 0,
"The string to embed in the Dwarf debug flags record.", 0)
OPTION(prefix_1, "dwarf-debug-producer", dwarf_debug_producer, Separate, INVALID, INVALID, 0, 0,
"The string to embed in the Dwarf debug AT_producer record.", 0)
OPTION(prefix_2, "fatal-warnings", fatal_warnings, Flag, INVALID, INVALID, 0, 0,
"Consider warnings as errors", 0)
OPTION(prefix_1, "fdebug-compilation-dir", fdebug_compilation_dir, Separate, INVALID, INVALID, 0, 0,
"The compilation directory to embed in the debug info.", 0)
OPTION(prefix_1, "filetype", filetype, Separate, INVALID, INVALID, 0, 0,
"Specify the output file type ('asm', 'null', or 'obj')", 0)
OPTION(prefix_1, "g", g, Flag, INVALID, INVALID, 0, 0,
"Generate source level debug information", 0)
OPTION(prefix_3, "help", help, Flag, INVALID, INVALID, 0, 0,
"Print this help text", 0)
OPTION(prefix_1, "main-file-name", main_file_name, Separate, INVALID, INVALID, 0, 0,
"Main file name to use for debug info", 0)
OPTION(prefix_1, "mllvm", mllvm, Separate, INVALID, INVALID, 0, 0,
"Additional arguments to forward to LLVM's option processing", 0)
OPTION(prefix_2, "noexecstack", no_exec_stack, Flag, INVALID, INVALID, 0, 0,
"Mark the file as not needing an executable stack", 0)
OPTION(prefix_1, "n", n, Flag, INVALID, INVALID, 0, 0,
"Don't automatically start assembly file with a text section", 0)
OPTION(prefix_1, "output-asm-variant", output_asm_variant, Separate, INVALID, INVALID, 0, 0,
"Select the asm variant index to use for output", 0)
OPTION(prefix_1, "o", o, Separate, INVALID, INVALID, 0, 0,
"Specify output file", "<path>")
OPTION(prefix_1, "relax-all", relax_all, Flag, INVALID, INVALID, 0, 0,
"Relax all fixups (for performance testing)", 0)
OPTION(prefix_1, "show-encoding", show_encoding, Flag, INVALID, INVALID, 0, 0,
"Show instruction encoding information in transliterate mode", 0)
OPTION(prefix_1, "show-inst", show_inst, Flag, INVALID, INVALID, 0, 0,
"Show internal instruction representation in transliterate mode", 0)
OPTION(prefix_1, "target-cpu", target_cpu, Separate, INVALID, INVALID, 0, 0,
"Target a specific cpu type", 0)
OPTION(prefix_1, "target-feature", target_feature, Separate, INVALID, INVALID, 0, 0,
"Target specific attributes", 0)
OPTION(prefix_1, "triple", triple, Separate, INVALID, INVALID, 0, 0,
"Specify target triple (e.g. x86_64-pc-linux-gnu)", 0)
OPTION(prefix_3, "version", version, Flag, INVALID, INVALID, 0, 0,
"Print the assembler version", 0)
OPTION(prefix_1, "v", v, Flag, INVALID, version, 0, 0, 0, 0)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,224 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*llvm::StringSwitch code to match all known attributes *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
.Case("acquired_after", true)
.Case("acquired_before", true)
.Case("address_space", true)
.Case("alias", true)
.Case("alias", true)
.Case("aligned", true)
.Case("align", true)
.Case("aligned", true)
.Case("alignas", true)
.Case("_Alignas", true)
.Case("alloc_size", true)
.Case("alloc_size", true)
.Case("always_inline", true)
.Case("always_inline", true)
.Case("analyzer_noreturn", true)
.Case("annotate", true)
.Case("objc_arc_weak_reference_unavailable", true)
.Case("argument_with_type_tag", true)
.Case("pointer_with_type_tag", true)
.Case("availability", true)
.Case("blocks", true)
.Case("bounded", true)
.Case("_Noreturn", true)
.Case("cdecl", true)
.Case("cdecl", true)
.Case("__cdecl", true)
.Case("_cdecl", true)
.Case("cf_audited_transfer", true)
.Case("cf_consumed", true)
.Case("cf_returns_not_retained", true)
.Case("cf_returns_retained", true)
.Case("cf_unknown_transfer", true)
.Case("constant", true)
.Case("device", true)
.Case("global", true)
.Case("host", true)
.Case("launch_bounds", true)
.Case("shared", true)
.Case("noreturn", true)
.Case("noreturn", true)
.Case("carries_dependency", true)
.Case("carries_dependency", true)
.Case("carries_dependency", true)
.Case("cleanup", true)
.Case("cleanup", true)
.Case("cold", true)
.Case("cold", true)
.Case("common", true)
.Case("common", true)
.Case("const", true)
.Case("__const", true)
.Case("const", true)
.Case("constructor", true)
.Case("constructor", true)
.Case("dllexport", true)
.Case("dllimport", true)
.Case("deprecated", true)
.Case("deprecated", true)
.Case("destructor", true)
.Case("destructor", true)
.Case("endian", true)
.Case("exclusive_lock_function", true)
.Case("exclusive_locks_required", true)
.Case("exclusive_trylock_function", true)
.Case("ext_vector_type", true)
.Case("fallthrough", true)
.Case("fastcall", true)
.Case("fastcall", true)
.Case("__fastcall", true)
.Case("_fastcall", true)
.Case("__forceinline", true)
.Case("format", true)
.Case("format", true)
.Case("format_arg", true)
.Case("format_arg", true)
.Case("gnu_inline", true)
.Case("gnu_inline", true)
.Case("guarded_by", true)
.Case("guarded_var", true)
.Case("hot", true)
.Case("hot", true)
.Case("ibaction", true)
.Case("iboutlet", true)
.Case("iboutletcollection", true)
.Case("init_priority", true)
.Case("intel_ocl_bicc", true)
.Case("lock_returned", true)
.Case("lockable", true)
.Case("locks_excluded", true)
.Case("malloc", true)
.Case("malloc", true)
.Case("may_alias", true)
.Case("may_alias", true)
.Case("minsize", true)
.Case("mips16", true)
.Case("mips16", true)
.Case("mode", true)
.Case("mode", true)
.Case("property", true)
.Case("ms_struct", true)
.Case("__multiple_inheritance", true)
.Case("ns_bridged", true)
.Case("ns_consumed", true)
.Case("ns_consumes_self", true)
.Case("ns_returns_autoreleased", true)
.Case("ns_returns_not_retained", true)
.Case("ns_returns_retained", true)
.Case("naked", true)
.Case("naked", true)
.Case("neon_polyvector_type", true)
.Case("neon_vector_type", true)
.Case("nocommon", true)
.Case("nocommon", true)
.Case("nodebug", true)
.Case("noinline", true)
.Case("noinline", true)
.Case("no_instrument_function", true)
.Case("no_instrument_function", true)
.Case("nomips16", true)
.Case("nomips16", true)
.Case("noreturn", true)
.Case("noreturn", true)
.Case("no_address_safety_analysis", true)
.Case("no_sanitize_address", true)
.Case("no_sanitize_memory", true)
.Case("no_sanitize_thread", true)
.Case("no_thread_safety_analysis", true)
.Case("nothrow", true)
.Case("nothrow", true)
.Case("nonnull", true)
.Case("nonnull", true)
.Case("objc_exception", true)
.Case("objc_gc", true)
.Case("objc_method_family", true)
.Case("NSObject", true)
.Case("objc_ownership", true)
.Case("objc_precise_lifetime", true)
.Case("objc_requires_property_definitions", true)
.Case("objc_requires_super", true)
.Case("objc_returns_inner_pointer", true)
.Case("objc_root_class", true)
.Case("opencl_image_access", true)
.Case("__kernel", true)
.Case("kernel", true)
.Case("overloadable", true)
.Case("ownership_holds", true)
.Case("ownership_returns", true)
.Case("ownership_takes", true)
.Case("packed", true)
.Case("packed", true)
.Case("pascal", true)
.Case("__pascal", true)
.Case("_pascal", true)
.Case("pcs", true)
.Case("pcs", true)
.Case("pnaclcall", true)
.Case("pt_guarded_by", true)
.Case("pt_guarded_var", true)
.Case("__ptr32", true)
.Case("__ptr64", true)
.Case("pure", true)
.Case("pure", true)
.Case("regparm", true)
.Case("regparm", true)
.Case("reqd_work_group_size", true)
.Case("returns_twice", true)
.Case("returns_twice", true)
.Case("scoped_lockable", true)
.Case("section", true)
.Case("section", true)
.Case("sentinel", true)
.Case("sentinel", true)
.Case("shared_lock_function", true)
.Case("shared_locks_required", true)
.Case("shared_trylock_function", true)
.Case("__single_inheritance", true)
.Case("stdcall", true)
.Case("stdcall", true)
.Case("__stdcall", true)
.Case("_stdcall", true)
.Case("tls_model", true)
.Case("tls_model", true)
.Case("thiscall", true)
.Case("thiscall", true)
.Case("__thiscall", true)
.Case("_thiscall", true)
.Case("transparent_union", true)
.Case("transparent_union", true)
.Case("type_tag_for_datatype", true)
.Case("type_visibility", true)
.Case("type_visibility", true)
.Case("__unaligned", true)
.Case("unavailable", true)
.Case("unlock_function", true)
.Case("unused", true)
.Case("unused", true)
.Case("used", true)
.Case("used", true)
.Case("uuid", true)
.Case("vecreturn", true)
.Case("vec_type_hint", true)
.Case("vector_size", true)
.Case("vector_size", true)
.Case("__virtual_inheritance", true)
.Case("visibility", true)
.Case("visibility", true)
.Case("warn_unused_result", true)
.Case("warn_unused_result", true)
.Case("warn_unused_result", true)
.Case("weak", true)
.Case("weak", true)
.Case("weak_import", true)
.Case("weakref", true)
.Case("weakref", true)
.Case("__w64", true)
.Case("work_group_size_hint", true)

View File

@@ -0,0 +1,21 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*llvm::StringSwitch code to match late parsed attributes *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
.Case("acquired_after", 1)
.Case("acquired_before", 1)
.Case("exclusive_lock_function", 1)
.Case("exclusive_locks_required", 1)
.Case("exclusive_trylock_function", 1)
.Case("guarded_by", 1)
.Case("lock_returned", 1)
.Case("locks_excluded", 1)
.Case("pt_guarded_by", 1)
.Case("shared_lock_function", 1)
.Case("shared_locks_required", 1)
.Case("shared_trylock_function", 1)
.Case("unlock_function", 1)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,158 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*List of all attributes that Clang recognizes *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef PARSED_ATTR
#define PARSED_ATTR(NAME) NAME
#endif
PARSED_ATTR(AcquiredAfter)
PARSED_ATTR(AcquiredBefore)
PARSED_ATTR(AddressSpace)
PARSED_ATTR(Alias)
PARSED_ATTR(Aligned)
PARSED_ATTR(AllocSize)
PARSED_ATTR(AlwaysInline)
PARSED_ATTR(AnalyzerNoReturn)
PARSED_ATTR(Annotate)
PARSED_ATTR(ArcWeakrefUnavailable)
PARSED_ATTR(ArgumentWithTypeTag)
PARSED_ATTR(Availability)
PARSED_ATTR(Blocks)
PARSED_ATTR(CDecl)
PARSED_ATTR(CFAuditedTransfer)
PARSED_ATTR(CFConsumed)
PARSED_ATTR(CFReturnsNotRetained)
PARSED_ATTR(CFReturnsRetained)
PARSED_ATTR(CFUnknownTransfer)
PARSED_ATTR(CUDAConstant)
PARSED_ATTR(CUDADevice)
PARSED_ATTR(CUDAGlobal)
PARSED_ATTR(CUDAHost)
PARSED_ATTR(CUDALaunchBounds)
PARSED_ATTR(CUDAShared)
PARSED_ATTR(CXX11NoReturn)
PARSED_ATTR(CarriesDependency)
PARSED_ATTR(Cleanup)
PARSED_ATTR(Cold)
PARSED_ATTR(Common)
PARSED_ATTR(Const)
PARSED_ATTR(Constructor)
PARSED_ATTR(DLLExport)
PARSED_ATTR(DLLImport)
PARSED_ATTR(Deprecated)
PARSED_ATTR(Destructor)
PARSED_ATTR(Endian)
PARSED_ATTR(ExclusiveLockFunction)
PARSED_ATTR(ExclusiveLocksRequired)
PARSED_ATTR(ExclusiveTrylockFunction)
PARSED_ATTR(ExtVectorType)
PARSED_ATTR(FallThrough)
PARSED_ATTR(FastCall)
PARSED_ATTR(ForceInline)
PARSED_ATTR(Format)
PARSED_ATTR(FormatArg)
PARSED_ATTR(GNUInline)
PARSED_ATTR(GuardedBy)
PARSED_ATTR(GuardedVar)
PARSED_ATTR(Hot)
PARSED_ATTR(IBAction)
PARSED_ATTR(IBOutlet)
PARSED_ATTR(IBOutletCollection)
PARSED_ATTR(InitPriority)
PARSED_ATTR(IntelOclBicc)
PARSED_ATTR(LockReturned)
PARSED_ATTR(Lockable)
PARSED_ATTR(LocksExcluded)
PARSED_ATTR(Malloc)
PARSED_ATTR(MayAlias)
PARSED_ATTR(MinSize)
PARSED_ATTR(Mips16)
PARSED_ATTR(Mode)
PARSED_ATTR(MsProperty)
PARSED_ATTR(MsStruct)
PARSED_ATTR(MultipleInheritance)
PARSED_ATTR(NSBridged)
PARSED_ATTR(NSConsumed)
PARSED_ATTR(NSConsumesSelf)
PARSED_ATTR(NSReturnsAutoreleased)
PARSED_ATTR(NSReturnsNotRetained)
PARSED_ATTR(NSReturnsRetained)
PARSED_ATTR(Naked)
PARSED_ATTR(NeonPolyVectorType)
PARSED_ATTR(NeonVectorType)
PARSED_ATTR(NoCommon)
PARSED_ATTR(NoDebug)
PARSED_ATTR(NoInline)
PARSED_ATTR(NoInstrumentFunction)
PARSED_ATTR(NoMips16)
PARSED_ATTR(NoReturn)
PARSED_ATTR(NoSanitizeAddress)
PARSED_ATTR(NoSanitizeMemory)
PARSED_ATTR(NoSanitizeThread)
PARSED_ATTR(NoThreadSafetyAnalysis)
PARSED_ATTR(NoThrow)
PARSED_ATTR(NonNull)
PARSED_ATTR(ObjCException)
PARSED_ATTR(ObjCGC)
PARSED_ATTR(ObjCMethodFamily)
PARSED_ATTR(ObjCNSObject)
PARSED_ATTR(ObjCOwnership)
PARSED_ATTR(ObjCPreciseLifetime)
PARSED_ATTR(ObjCRequiresPropertyDefs)
PARSED_ATTR(ObjCRequiresSuper)
PARSED_ATTR(ObjCReturnsInnerPointer)
PARSED_ATTR(ObjCRootClass)
PARSED_ATTR(OpenCLImageAccess)
PARSED_ATTR(OpenCLKernel)
PARSED_ATTR(Overloadable)
PARSED_ATTR(ownership_holds)
PARSED_ATTR(ownership_returns)
PARSED_ATTR(ownership_takes)
PARSED_ATTR(Packed)
PARSED_ATTR(Pascal)
PARSED_ATTR(Pcs)
PARSED_ATTR(PnaclCall)
PARSED_ATTR(PtGuardedBy)
PARSED_ATTR(PtGuardedVar)
PARSED_ATTR(Ptr32)
PARSED_ATTR(Ptr64)
PARSED_ATTR(Pure)
PARSED_ATTR(Regparm)
PARSED_ATTR(ReqdWorkGroupSize)
PARSED_ATTR(ReturnsTwice)
PARSED_ATTR(ScopedLockable)
PARSED_ATTR(Section)
PARSED_ATTR(Sentinel)
PARSED_ATTR(SharedLockFunction)
PARSED_ATTR(SharedLocksRequired)
PARSED_ATTR(SharedTrylockFunction)
PARSED_ATTR(SingleInheritance)
PARSED_ATTR(StdCall)
PARSED_ATTR(TLSModel)
PARSED_ATTR(ThisCall)
PARSED_ATTR(TransparentUnion)
PARSED_ATTR(TypeTagForDatatype)
PARSED_ATTR(TypeVisibility)
PARSED_ATTR(Unavailable)
PARSED_ATTR(UnlockFunction)
PARSED_ATTR(UnspecifiedInheritance)
PARSED_ATTR(Unused)
PARSED_ATTR(Used)
PARSED_ATTR(Uuid)
PARSED_ATTR(VecReturn)
PARSED_ATTR(VecTypeHint)
PARSED_ATTR(VectorSize)
PARSED_ATTR(VirtualInheritance)
PARSED_ATTR(Visibility)
PARSED_ATTR(WarnUnusedResult)
PARSED_ATTR(Weak)
PARSED_ATTR(WeakImport)
PARSED_ATTR(WeakRef)
PARSED_ATTR(Win64)
PARSED_ATTR(WorkGroupSizeHint)
PARSED_ATTR(X86ForceAlignArgPointer)

View File

@@ -0,0 +1,873 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*Code to translate different attribute spellings into internal identifiers *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
unsigned Index = 0;
switch (AttrKind) {
default:
llvm_unreachable("Unknown attribute kind!");
break;
case AT_AcquiredAfter : {
if (Name == "acquired_after" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_AcquiredBefore : {
if (Name == "acquired_before" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_AddressSpace : {
if (Name == "address_space" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_Alias : {
if (Name == "alias" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "alias" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Aligned : {
if (Name == "aligned" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "align" && SyntaxUsed == 2 && Scope == "")
return 1;
if (Name == "aligned" && SyntaxUsed == 1 && Scope == "gnu")
return 2;
if (Name == "alignas" && SyntaxUsed == 3 && Scope == "")
return 3;
if (Name == "_Alignas" && SyntaxUsed == 3 && Scope == "")
return 4;
break;
}
case AT_AllocSize : {
if (Name == "alloc_size" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "alloc_size" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_AlwaysInline : {
if (Name == "always_inline" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "always_inline" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_AnalyzerNoReturn : {
if (Name == "analyzer_noreturn" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_Annotate : {
if (Name == "annotate" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ArcWeakrefUnavailable : {
if (Name == "objc_arc_weak_reference_unavailable" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ArgumentWithTypeTag : {
if (Name == "argument_with_type_tag" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "pointer_with_type_tag" && SyntaxUsed == 0 && Scope == "")
return 1;
break;
}
case AT_Availability : {
if (Name == "availability" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_Blocks : {
if (Name == "blocks" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CDecl : {
if (Name == "cdecl" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "cdecl" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
if (Name == "__cdecl" && SyntaxUsed == 3 && Scope == "")
return 2;
if (Name == "_cdecl" && SyntaxUsed == 3 && Scope == "")
return 3;
break;
}
case AT_CFAuditedTransfer : {
if (Name == "cf_audited_transfer" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CFConsumed : {
if (Name == "cf_consumed" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CFReturnsNotRetained : {
if (Name == "cf_returns_not_retained" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CFReturnsRetained : {
if (Name == "cf_returns_retained" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CFUnknownTransfer : {
if (Name == "cf_unknown_transfer" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CUDAConstant : {
if (Name == "constant" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CUDADevice : {
if (Name == "device" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CUDAGlobal : {
if (Name == "global" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CUDAHost : {
if (Name == "host" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CUDALaunchBounds : {
if (Name == "launch_bounds" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CUDAShared : {
if (Name == "shared" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_CXX11NoReturn : {
if (Name == "noreturn" && SyntaxUsed == 1 && Scope == "")
return 0;
if (Name == "noreturn" && SyntaxUsed == 1 && Scope == "std")
return 1;
break;
}
case AT_CarriesDependency : {
if (Name == "carries_dependency" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "carries_dependency" && SyntaxUsed == 1 && Scope == "")
return 1;
if (Name == "carries_dependency" && SyntaxUsed == 1 && Scope == "std")
return 2;
break;
}
case AT_Cleanup : {
if (Name == "cleanup" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "cleanup" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Cold : {
if (Name == "cold" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "cold" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Common : {
if (Name == "common" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "common" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Const : {
if (Name == "const" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "__const" && SyntaxUsed == 0 && Scope == "")
return 1;
if (Name == "const" && SyntaxUsed == 1 && Scope == "gnu")
return 2;
break;
}
case AT_Constructor : {
if (Name == "constructor" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "constructor" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_DLLExport : {
if (Name == "dllexport" && SyntaxUsed == 2 && Scope == "")
return 0;
break;
}
case AT_DLLImport : {
if (Name == "dllimport" && SyntaxUsed == 2 && Scope == "")
return 0;
break;
}
case AT_Deprecated : {
if (Name == "deprecated" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "deprecated" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Destructor : {
if (Name == "destructor" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "destructor" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Endian : {
if (Name == "endian" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ExclusiveLockFunction : {
if (Name == "exclusive_lock_function" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ExclusiveLocksRequired : {
if (Name == "exclusive_locks_required" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ExclusiveTrylockFunction : {
if (Name == "exclusive_trylock_function" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ExtVectorType : {
if (Name == "ext_vector_type" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_FallThrough : {
if (Name == "fallthrough" && SyntaxUsed == 1 && Scope == "clang")
return 0;
break;
}
case AT_FastCall : {
if (Name == "fastcall" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "fastcall" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
if (Name == "__fastcall" && SyntaxUsed == 3 && Scope == "")
return 2;
if (Name == "_fastcall" && SyntaxUsed == 3 && Scope == "")
return 3;
break;
}
case AT_ForceInline : {
if (Name == "__forceinline" && SyntaxUsed == 3 && Scope == "")
return 0;
break;
}
case AT_Format : {
if (Name == "format" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "format" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_FormatArg : {
if (Name == "format_arg" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "format_arg" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_GNUInline : {
if (Name == "gnu_inline" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "gnu_inline" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_GuardedBy : {
if (Name == "guarded_by" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_GuardedVar : {
if (Name == "guarded_var" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_Hot : {
if (Name == "hot" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "hot" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_IBAction : {
if (Name == "ibaction" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_IBOutlet : {
if (Name == "iboutlet" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_IBOutletCollection : {
if (Name == "iboutletcollection" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_InitPriority : {
if (Name == "init_priority" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_IntelOclBicc : {
if (Name == "intel_ocl_bicc" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_LockReturned : {
if (Name == "lock_returned" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_Lockable : {
if (Name == "lockable" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_LocksExcluded : {
if (Name == "locks_excluded" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_Malloc : {
if (Name == "malloc" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "malloc" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_MayAlias : {
if (Name == "may_alias" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "may_alias" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_MinSize : {
if (Name == "minsize" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_Mips16 : {
if (Name == "mips16" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "mips16" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Mode : {
if (Name == "mode" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "mode" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_MsProperty : {
if (Name == "property" && SyntaxUsed == 2 && Scope == "")
return 0;
break;
}
case AT_MsStruct : {
if (Name == "ms_struct" && SyntaxUsed == 2 && Scope == "")
return 0;
break;
}
case AT_MultipleInheritance : {
if (Name == "__multiple_inheritance" && SyntaxUsed == 3 && Scope == "")
return 0;
break;
}
case AT_NSBridged : {
if (Name == "ns_bridged" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_NSConsumed : {
if (Name == "ns_consumed" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_NSConsumesSelf : {
if (Name == "ns_consumes_self" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_NSReturnsAutoreleased : {
if (Name == "ns_returns_autoreleased" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_NSReturnsNotRetained : {
if (Name == "ns_returns_not_retained" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_NSReturnsRetained : {
if (Name == "ns_returns_retained" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_Naked : {
if (Name == "naked" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "naked" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_NeonPolyVectorType : {
if (Name == "neon_polyvector_type" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_NeonVectorType : {
if (Name == "neon_vector_type" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_NoCommon : {
if (Name == "nocommon" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "nocommon" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_NoDebug : {
if (Name == "nodebug" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_NoInline : {
if (Name == "noinline" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "noinline" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_NoInstrumentFunction : {
if (Name == "no_instrument_function" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "no_instrument_function" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_NoMips16 : {
if (Name == "nomips16" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "nomips16" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_NoReturn : {
if (Name == "noreturn" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "noreturn" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_NoSanitizeAddress : {
if (Name == "no_address_safety_analysis" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "no_sanitize_address" && SyntaxUsed == 0 && Scope == "")
return 1;
break;
}
case AT_NoSanitizeMemory : {
if (Name == "no_sanitize_memory" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_NoSanitizeThread : {
if (Name == "no_sanitize_thread" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_NoThreadSafetyAnalysis : {
if (Name == "no_thread_safety_analysis" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_NoThrow : {
if (Name == "nothrow" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "nothrow" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_NonNull : {
if (Name == "nonnull" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "nonnull" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_ObjCException : {
if (Name == "objc_exception" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ObjCGC : {
if (Name == "objc_gc" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ObjCMethodFamily : {
if (Name == "objc_method_family" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ObjCNSObject : {
if (Name == "NSObject" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ObjCOwnership : {
if (Name == "objc_ownership" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ObjCPreciseLifetime : {
if (Name == "objc_precise_lifetime" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ObjCRequiresPropertyDefs : {
if (Name == "objc_requires_property_definitions" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ObjCRequiresSuper : {
if (Name == "objc_requires_super" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ObjCReturnsInnerPointer : {
if (Name == "objc_returns_inner_pointer" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ObjCRootClass : {
if (Name == "objc_root_class" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_OpenCLImageAccess : {
if (Name == "opencl_image_access" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_OpenCLKernel : {
if (Name == "__kernel" && SyntaxUsed == 3 && Scope == "")
return 0;
if (Name == "kernel" && SyntaxUsed == 3 && Scope == "")
return 1;
break;
}
case AT_Overloadable : {
if (Name == "overloadable" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ownership_holds:
Index = 0;
break;
case AT_ownership_returns:
Index = 1;
break;
case AT_ownership_takes:
Index = 2;
break;
case AT_Packed : {
if (Name == "packed" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "packed" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Pascal : {
if (Name == "pascal" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "__pascal" && SyntaxUsed == 3 && Scope == "")
return 1;
if (Name == "_pascal" && SyntaxUsed == 3 && Scope == "")
return 2;
break;
}
case AT_Pcs : {
if (Name == "pcs" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "pcs" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_PnaclCall : {
if (Name == "pnaclcall" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_PtGuardedBy : {
if (Name == "pt_guarded_by" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_PtGuardedVar : {
if (Name == "pt_guarded_var" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_Ptr32 : {
if (Name == "__ptr32" && SyntaxUsed == 3 && Scope == "")
return 0;
break;
}
case AT_Ptr64 : {
if (Name == "__ptr64" && SyntaxUsed == 3 && Scope == "")
return 0;
break;
}
case AT_Pure : {
if (Name == "pure" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "pure" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Regparm : {
if (Name == "regparm" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "regparm" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_ReqdWorkGroupSize : {
if (Name == "reqd_work_group_size" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_ReturnsTwice : {
if (Name == "returns_twice" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "returns_twice" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_ScopedLockable : {
if (Name == "scoped_lockable" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_Section : {
if (Name == "section" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "section" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Sentinel : {
if (Name == "sentinel" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "sentinel" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_SharedLockFunction : {
if (Name == "shared_lock_function" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_SharedLocksRequired : {
if (Name == "shared_locks_required" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_SharedTrylockFunction : {
if (Name == "shared_trylock_function" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_SingleInheritance : {
if (Name == "__single_inheritance" && SyntaxUsed == 3 && Scope == "")
return 0;
break;
}
case AT_StdCall : {
if (Name == "stdcall" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "stdcall" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
if (Name == "__stdcall" && SyntaxUsed == 3 && Scope == "")
return 2;
if (Name == "_stdcall" && SyntaxUsed == 3 && Scope == "")
return 3;
break;
}
case AT_TLSModel : {
if (Name == "tls_model" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "tls_model" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_ThisCall : {
if (Name == "thiscall" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "thiscall" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
if (Name == "__thiscall" && SyntaxUsed == 3 && Scope == "")
return 2;
if (Name == "_thiscall" && SyntaxUsed == 3 && Scope == "")
return 3;
break;
}
case AT_TransparentUnion : {
if (Name == "transparent_union" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "transparent_union" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_TypeTagForDatatype : {
if (Name == "type_tag_for_datatype" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_TypeVisibility : {
if (Name == "type_visibility" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "type_visibility" && SyntaxUsed == 1 && Scope == "clang")
return 1;
break;
}
case AT_Unavailable : {
if (Name == "unavailable" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_UnlockFunction : {
if (Name == "unlock_function" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_UnspecifiedInheritance : {
break;
}
case AT_Unused : {
if (Name == "unused" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "unused" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Used : {
if (Name == "used" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "used" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Uuid : {
if (Name == "uuid" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_VecReturn : {
if (Name == "vecreturn" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_VecTypeHint : {
if (Name == "vec_type_hint" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_VectorSize : {
if (Name == "vector_size" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "vector_size" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_VirtualInheritance : {
if (Name == "__virtual_inheritance" && SyntaxUsed == 3 && Scope == "")
return 0;
break;
}
case AT_Visibility : {
if (Name == "visibility" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "visibility" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_WarnUnusedResult : {
if (Name == "warn_unused_result" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "warn_unused_result" && SyntaxUsed == 1 && Scope == "clang")
return 1;
if (Name == "warn_unused_result" && SyntaxUsed == 1 && Scope == "gnu")
return 2;
break;
}
case AT_Weak : {
if (Name == "weak" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "weak" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_WeakImport : {
if (Name == "weak_import" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_WeakRef : {
if (Name == "weakref" && SyntaxUsed == 0 && Scope == "")
return 0;
if (Name == "weakref" && SyntaxUsed == 1 && Scope == "gnu")
return 1;
break;
}
case AT_Win64 : {
if (Name == "__w64" && SyntaxUsed == 3 && Scope == "")
return 0;
break;
}
case AT_WorkGroupSizeHint : {
if (Name == "work_group_size_hint" && SyntaxUsed == 0 && Scope == "")
return 0;
break;
}
case AT_X86ForceAlignArgPointer : {
break;
}
}
return Index;

View File

@@ -0,0 +1,741 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*Template instantiation code for attributes *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
namespace clang {
namespace sema {
Attr *instantiateTemplateAttribute(const Attr *At, ASTContext &C, Sema &S,
const MultiLevelTemplateArgumentList &TemplateArgs) {
switch (At->getKind()) {
default:
break;
case attr::AcquiredAfter: {
const AcquiredAfterAttr *A = cast<AcquiredAfterAttr>(At);
Expr * *tempInstArgs = new (C, 16) Expr *[A->args_size()];
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
Expr * *TI = tempInstArgs;
Expr * *I = A->args_begin();
Expr * *E = A->args_end();
for (; I != E; ++I, ++TI) {
ExprResult Result = S.SubstExpr(*I, TemplateArgs);
*TI = Result.takeAs<Expr>();
}
}
return new (C) AcquiredAfterAttr(A->getLocation(), C, tempInstArgs, A->args_size());
}
case attr::AcquiredBefore: {
const AcquiredBeforeAttr *A = cast<AcquiredBeforeAttr>(At);
Expr * *tempInstArgs = new (C, 16) Expr *[A->args_size()];
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
Expr * *TI = tempInstArgs;
Expr * *I = A->args_begin();
Expr * *E = A->args_end();
for (; I != E; ++I, ++TI) {
ExprResult Result = S.SubstExpr(*I, TemplateArgs);
*TI = Result.takeAs<Expr>();
}
}
return new (C) AcquiredBeforeAttr(A->getLocation(), C, tempInstArgs, A->args_size());
}
case attr::Alias: {
const AliasAttr *A = cast<AliasAttr>(At);
return A->clone(C);
}
case attr::AlignMac68k: {
const AlignMac68kAttr *A = cast<AlignMac68kAttr>(At);
return A->clone(C);
}
case attr::Aligned: {
const AlignedAttr *A = cast<AlignedAttr>(At);
return A->clone(C);
}
case attr::AllocSize: {
const AllocSizeAttr *A = cast<AllocSizeAttr>(At);
return A->clone(C);
}
case attr::AlwaysInline: {
const AlwaysInlineAttr *A = cast<AlwaysInlineAttr>(At);
return A->clone(C);
}
case attr::AnalyzerNoReturn: {
const AnalyzerNoReturnAttr *A = cast<AnalyzerNoReturnAttr>(At);
return A->clone(C);
}
case attr::Annotate: {
const AnnotateAttr *A = cast<AnnotateAttr>(At);
return A->clone(C);
}
case attr::ArcWeakrefUnavailable: {
const ArcWeakrefUnavailableAttr *A = cast<ArcWeakrefUnavailableAttr>(At);
return A->clone(C);
}
case attr::ArgumentWithTypeTag: {
const ArgumentWithTypeTagAttr *A = cast<ArgumentWithTypeTagAttr>(At);
return A->clone(C);
}
case attr::AsmLabel: {
const AsmLabelAttr *A = cast<AsmLabelAttr>(At);
return A->clone(C);
}
case attr::Availability: {
const AvailabilityAttr *A = cast<AvailabilityAttr>(At);
return A->clone(C);
}
case attr::Blocks: {
const BlocksAttr *A = cast<BlocksAttr>(At);
return A->clone(C);
}
case attr::C11NoReturn: {
const C11NoReturnAttr *A = cast<C11NoReturnAttr>(At);
return A->clone(C);
}
case attr::CDecl: {
const CDeclAttr *A = cast<CDeclAttr>(At);
return A->clone(C);
}
case attr::CFAuditedTransfer: {
const CFAuditedTransferAttr *A = cast<CFAuditedTransferAttr>(At);
return A->clone(C);
}
case attr::CFConsumed: {
const CFConsumedAttr *A = cast<CFConsumedAttr>(At);
return A->clone(C);
}
case attr::CFReturnsNotRetained: {
const CFReturnsNotRetainedAttr *A = cast<CFReturnsNotRetainedAttr>(At);
return A->clone(C);
}
case attr::CFReturnsRetained: {
const CFReturnsRetainedAttr *A = cast<CFReturnsRetainedAttr>(At);
return A->clone(C);
}
case attr::CFUnknownTransfer: {
const CFUnknownTransferAttr *A = cast<CFUnknownTransferAttr>(At);
return A->clone(C);
}
case attr::CUDAConstant: {
const CUDAConstantAttr *A = cast<CUDAConstantAttr>(At);
return A->clone(C);
}
case attr::CUDADevice: {
const CUDADeviceAttr *A = cast<CUDADeviceAttr>(At);
return A->clone(C);
}
case attr::CUDAGlobal: {
const CUDAGlobalAttr *A = cast<CUDAGlobalAttr>(At);
return A->clone(C);
}
case attr::CUDAHost: {
const CUDAHostAttr *A = cast<CUDAHostAttr>(At);
return A->clone(C);
}
case attr::CUDALaunchBounds: {
const CUDALaunchBoundsAttr *A = cast<CUDALaunchBoundsAttr>(At);
return A->clone(C);
}
case attr::CUDAShared: {
const CUDASharedAttr *A = cast<CUDASharedAttr>(At);
return A->clone(C);
}
case attr::CXX11NoReturn: {
const CXX11NoReturnAttr *A = cast<CXX11NoReturnAttr>(At);
return A->clone(C);
}
case attr::CarriesDependency: {
const CarriesDependencyAttr *A = cast<CarriesDependencyAttr>(At);
return A->clone(C);
}
case attr::Cleanup: {
const CleanupAttr *A = cast<CleanupAttr>(At);
return A->clone(C);
}
case attr::Cold: {
const ColdAttr *A = cast<ColdAttr>(At);
return A->clone(C);
}
case attr::Common: {
const CommonAttr *A = cast<CommonAttr>(At);
return A->clone(C);
}
case attr::Const: {
const ConstAttr *A = cast<ConstAttr>(At);
return A->clone(C);
}
case attr::Constructor: {
const ConstructorAttr *A = cast<ConstructorAttr>(At);
return A->clone(C);
}
case attr::DLLExport: {
const DLLExportAttr *A = cast<DLLExportAttr>(At);
return A->clone(C);
}
case attr::DLLImport: {
const DLLImportAttr *A = cast<DLLImportAttr>(At);
return A->clone(C);
}
case attr::Deprecated: {
const DeprecatedAttr *A = cast<DeprecatedAttr>(At);
return A->clone(C);
}
case attr::Destructor: {
const DestructorAttr *A = cast<DestructorAttr>(At);
return A->clone(C);
}
case attr::Endian: {
const EndianAttr *A = cast<EndianAttr>(At);
return A->clone(C);
}
case attr::ExclusiveLockFunction: {
const ExclusiveLockFunctionAttr *A = cast<ExclusiveLockFunctionAttr>(At);
Expr * *tempInstArgs = new (C, 16) Expr *[A->args_size()];
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
Expr * *TI = tempInstArgs;
Expr * *I = A->args_begin();
Expr * *E = A->args_end();
for (; I != E; ++I, ++TI) {
ExprResult Result = S.SubstExpr(*I, TemplateArgs);
*TI = Result.takeAs<Expr>();
}
}
return new (C) ExclusiveLockFunctionAttr(A->getLocation(), C, tempInstArgs, A->args_size());
}
case attr::ExclusiveLocksRequired: {
const ExclusiveLocksRequiredAttr *A = cast<ExclusiveLocksRequiredAttr>(At);
Expr * *tempInstArgs = new (C, 16) Expr *[A->args_size()];
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
Expr * *TI = tempInstArgs;
Expr * *I = A->args_begin();
Expr * *E = A->args_end();
for (; I != E; ++I, ++TI) {
ExprResult Result = S.SubstExpr(*I, TemplateArgs);
*TI = Result.takeAs<Expr>();
}
}
return new (C) ExclusiveLocksRequiredAttr(A->getLocation(), C, tempInstArgs, A->args_size());
}
case attr::ExclusiveTrylockFunction: {
const ExclusiveTrylockFunctionAttr *A = cast<ExclusiveTrylockFunctionAttr>(At);
Expr * tempInstSuccessValue;
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
ExprResult Result = S.SubstExpr(A->getSuccessValue(), TemplateArgs);
tempInstSuccessValue = Result.takeAs<Expr>();
}
Expr * *tempInstArgs = new (C, 16) Expr *[A->args_size()];
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
Expr * *TI = tempInstArgs;
Expr * *I = A->args_begin();
Expr * *E = A->args_end();
for (; I != E; ++I, ++TI) {
ExprResult Result = S.SubstExpr(*I, TemplateArgs);
*TI = Result.takeAs<Expr>();
}
}
return new (C) ExclusiveTrylockFunctionAttr(A->getLocation(), C, tempInstSuccessValue, tempInstArgs, A->args_size());
}
case attr::FallThrough: {
const FallThroughAttr *A = cast<FallThroughAttr>(At);
return A->clone(C);
}
case attr::FastCall: {
const FastCallAttr *A = cast<FastCallAttr>(At);
return A->clone(C);
}
case attr::Final: {
const FinalAttr *A = cast<FinalAttr>(At);
return A->clone(C);
}
case attr::ForceInline: {
const ForceInlineAttr *A = cast<ForceInlineAttr>(At);
return A->clone(C);
}
case attr::Format: {
const FormatAttr *A = cast<FormatAttr>(At);
return A->clone(C);
}
case attr::FormatArg: {
const FormatArgAttr *A = cast<FormatArgAttr>(At);
return A->clone(C);
}
case attr::GNUInline: {
const GNUInlineAttr *A = cast<GNUInlineAttr>(At);
return A->clone(C);
}
case attr::GuardedBy: {
const GuardedByAttr *A = cast<GuardedByAttr>(At);
Expr * tempInstArg;
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
ExprResult Result = S.SubstExpr(A->getArg(), TemplateArgs);
tempInstArg = Result.takeAs<Expr>();
}
return new (C) GuardedByAttr(A->getLocation(), C, tempInstArg);
}
case attr::GuardedVar: {
const GuardedVarAttr *A = cast<GuardedVarAttr>(At);
return A->clone(C);
}
case attr::Hot: {
const HotAttr *A = cast<HotAttr>(At);
return A->clone(C);
}
case attr::IBAction: {
const IBActionAttr *A = cast<IBActionAttr>(At);
return A->clone(C);
}
case attr::IBOutlet: {
const IBOutletAttr *A = cast<IBOutletAttr>(At);
return A->clone(C);
}
case attr::IBOutletCollection: {
const IBOutletCollectionAttr *A = cast<IBOutletCollectionAttr>(At);
return A->clone(C);
}
case attr::InitPriority: {
const InitPriorityAttr *A = cast<InitPriorityAttr>(At);
return A->clone(C);
}
case attr::IntelOclBicc: {
const IntelOclBiccAttr *A = cast<IntelOclBiccAttr>(At);
return A->clone(C);
}
case attr::LockReturned: {
const LockReturnedAttr *A = cast<LockReturnedAttr>(At);
Expr * tempInstArg;
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
ExprResult Result = S.SubstExpr(A->getArg(), TemplateArgs);
tempInstArg = Result.takeAs<Expr>();
}
return new (C) LockReturnedAttr(A->getLocation(), C, tempInstArg);
}
case attr::Lockable: {
const LockableAttr *A = cast<LockableAttr>(At);
return A->clone(C);
}
case attr::LocksExcluded: {
const LocksExcludedAttr *A = cast<LocksExcludedAttr>(At);
Expr * *tempInstArgs = new (C, 16) Expr *[A->args_size()];
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
Expr * *TI = tempInstArgs;
Expr * *I = A->args_begin();
Expr * *E = A->args_end();
for (; I != E; ++I, ++TI) {
ExprResult Result = S.SubstExpr(*I, TemplateArgs);
*TI = Result.takeAs<Expr>();
}
}
return new (C) LocksExcludedAttr(A->getLocation(), C, tempInstArgs, A->args_size());
}
case attr::MBlazeInterruptHandler: {
const MBlazeInterruptHandlerAttr *A = cast<MBlazeInterruptHandlerAttr>(At);
return A->clone(C);
}
case attr::MBlazeSaveVolatiles: {
const MBlazeSaveVolatilesAttr *A = cast<MBlazeSaveVolatilesAttr>(At);
return A->clone(C);
}
case attr::MSP430Interrupt: {
const MSP430InterruptAttr *A = cast<MSP430InterruptAttr>(At);
return A->clone(C);
}
case attr::Malloc: {
const MallocAttr *A = cast<MallocAttr>(At);
return A->clone(C);
}
case attr::MaxFieldAlignment: {
const MaxFieldAlignmentAttr *A = cast<MaxFieldAlignmentAttr>(At);
return A->clone(C);
}
case attr::MayAlias: {
const MayAliasAttr *A = cast<MayAliasAttr>(At);
return A->clone(C);
}
case attr::MinSize: {
const MinSizeAttr *A = cast<MinSizeAttr>(At);
return A->clone(C);
}
case attr::Mips16: {
const Mips16Attr *A = cast<Mips16Attr>(At);
return A->clone(C);
}
case attr::MsProperty: {
const MsPropertyAttr *A = cast<MsPropertyAttr>(At);
return A->clone(C);
}
case attr::MsStruct: {
const MsStructAttr *A = cast<MsStructAttr>(At);
return A->clone(C);
}
case attr::MultipleInheritance: {
const MultipleInheritanceAttr *A = cast<MultipleInheritanceAttr>(At);
return A->clone(C);
}
case attr::NSBridged: {
const NSBridgedAttr *A = cast<NSBridgedAttr>(At);
return A->clone(C);
}
case attr::NSConsumed: {
const NSConsumedAttr *A = cast<NSConsumedAttr>(At);
return A->clone(C);
}
case attr::NSConsumesSelf: {
const NSConsumesSelfAttr *A = cast<NSConsumesSelfAttr>(At);
return A->clone(C);
}
case attr::NSReturnsAutoreleased: {
const NSReturnsAutoreleasedAttr *A = cast<NSReturnsAutoreleasedAttr>(At);
return A->clone(C);
}
case attr::NSReturnsNotRetained: {
const NSReturnsNotRetainedAttr *A = cast<NSReturnsNotRetainedAttr>(At);
return A->clone(C);
}
case attr::NSReturnsRetained: {
const NSReturnsRetainedAttr *A = cast<NSReturnsRetainedAttr>(At);
return A->clone(C);
}
case attr::Naked: {
const NakedAttr *A = cast<NakedAttr>(At);
return A->clone(C);
}
case attr::NoCommon: {
const NoCommonAttr *A = cast<NoCommonAttr>(At);
return A->clone(C);
}
case attr::NoDebug: {
const NoDebugAttr *A = cast<NoDebugAttr>(At);
return A->clone(C);
}
case attr::NoInline: {
const NoInlineAttr *A = cast<NoInlineAttr>(At);
return A->clone(C);
}
case attr::NoInstrumentFunction: {
const NoInstrumentFunctionAttr *A = cast<NoInstrumentFunctionAttr>(At);
return A->clone(C);
}
case attr::NoMips16: {
const NoMips16Attr *A = cast<NoMips16Attr>(At);
return A->clone(C);
}
case attr::NoReturn: {
const NoReturnAttr *A = cast<NoReturnAttr>(At);
return A->clone(C);
}
case attr::NoSanitizeAddress: {
const NoSanitizeAddressAttr *A = cast<NoSanitizeAddressAttr>(At);
return A->clone(C);
}
case attr::NoSanitizeMemory: {
const NoSanitizeMemoryAttr *A = cast<NoSanitizeMemoryAttr>(At);
return A->clone(C);
}
case attr::NoSanitizeThread: {
const NoSanitizeThreadAttr *A = cast<NoSanitizeThreadAttr>(At);
return A->clone(C);
}
case attr::NoThreadSafetyAnalysis: {
const NoThreadSafetyAnalysisAttr *A = cast<NoThreadSafetyAnalysisAttr>(At);
return A->clone(C);
}
case attr::NoThrow: {
const NoThrowAttr *A = cast<NoThrowAttr>(At);
return A->clone(C);
}
case attr::NonNull: {
const NonNullAttr *A = cast<NonNullAttr>(At);
return A->clone(C);
}
case attr::ObjCException: {
const ObjCExceptionAttr *A = cast<ObjCExceptionAttr>(At);
return A->clone(C);
}
case attr::ObjCMethodFamily: {
const ObjCMethodFamilyAttr *A = cast<ObjCMethodFamilyAttr>(At);
return A->clone(C);
}
case attr::ObjCNSObject: {
const ObjCNSObjectAttr *A = cast<ObjCNSObjectAttr>(At);
return A->clone(C);
}
case attr::ObjCPreciseLifetime: {
const ObjCPreciseLifetimeAttr *A = cast<ObjCPreciseLifetimeAttr>(At);
return A->clone(C);
}
case attr::ObjCRequiresPropertyDefs: {
const ObjCRequiresPropertyDefsAttr *A = cast<ObjCRequiresPropertyDefsAttr>(At);
return A->clone(C);
}
case attr::ObjCRequiresSuper: {
const ObjCRequiresSuperAttr *A = cast<ObjCRequiresSuperAttr>(At);
return A->clone(C);
}
case attr::ObjCReturnsInnerPointer: {
const ObjCReturnsInnerPointerAttr *A = cast<ObjCReturnsInnerPointerAttr>(At);
return A->clone(C);
}
case attr::ObjCRootClass: {
const ObjCRootClassAttr *A = cast<ObjCRootClassAttr>(At);
return A->clone(C);
}
case attr::OpenCLImageAccess: {
const OpenCLImageAccessAttr *A = cast<OpenCLImageAccessAttr>(At);
return A->clone(C);
}
case attr::OpenCLKernel: {
const OpenCLKernelAttr *A = cast<OpenCLKernelAttr>(At);
return A->clone(C);
}
case attr::Overloadable: {
const OverloadableAttr *A = cast<OverloadableAttr>(At);
return A->clone(C);
}
case attr::Override: {
const OverrideAttr *A = cast<OverrideAttr>(At);
return A->clone(C);
}
case attr::Ownership: {
const OwnershipAttr *A = cast<OwnershipAttr>(At);
return A->clone(C);
}
case attr::Packed: {
const PackedAttr *A = cast<PackedAttr>(At);
return A->clone(C);
}
case attr::Pascal: {
const PascalAttr *A = cast<PascalAttr>(At);
return A->clone(C);
}
case attr::Pcs: {
const PcsAttr *A = cast<PcsAttr>(At);
return A->clone(C);
}
case attr::PnaclCall: {
const PnaclCallAttr *A = cast<PnaclCallAttr>(At);
return A->clone(C);
}
case attr::PtGuardedBy: {
const PtGuardedByAttr *A = cast<PtGuardedByAttr>(At);
Expr * tempInstArg;
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
ExprResult Result = S.SubstExpr(A->getArg(), TemplateArgs);
tempInstArg = Result.takeAs<Expr>();
}
return new (C) PtGuardedByAttr(A->getLocation(), C, tempInstArg);
}
case attr::PtGuardedVar: {
const PtGuardedVarAttr *A = cast<PtGuardedVarAttr>(At);
return A->clone(C);
}
case attr::Ptr32: {
const Ptr32Attr *A = cast<Ptr32Attr>(At);
return A->clone(C);
}
case attr::Ptr64: {
const Ptr64Attr *A = cast<Ptr64Attr>(At);
return A->clone(C);
}
case attr::Pure: {
const PureAttr *A = cast<PureAttr>(At);
return A->clone(C);
}
case attr::Regparm: {
const RegparmAttr *A = cast<RegparmAttr>(At);
return A->clone(C);
}
case attr::ReqdWorkGroupSize: {
const ReqdWorkGroupSizeAttr *A = cast<ReqdWorkGroupSizeAttr>(At);
return A->clone(C);
}
case attr::ReturnsTwice: {
const ReturnsTwiceAttr *A = cast<ReturnsTwiceAttr>(At);
return A->clone(C);
}
case attr::ScopedLockable: {
const ScopedLockableAttr *A = cast<ScopedLockableAttr>(At);
return A->clone(C);
}
case attr::Section: {
const SectionAttr *A = cast<SectionAttr>(At);
return A->clone(C);
}
case attr::Sentinel: {
const SentinelAttr *A = cast<SentinelAttr>(At);
return A->clone(C);
}
case attr::SharedLockFunction: {
const SharedLockFunctionAttr *A = cast<SharedLockFunctionAttr>(At);
Expr * *tempInstArgs = new (C, 16) Expr *[A->args_size()];
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
Expr * *TI = tempInstArgs;
Expr * *I = A->args_begin();
Expr * *E = A->args_end();
for (; I != E; ++I, ++TI) {
ExprResult Result = S.SubstExpr(*I, TemplateArgs);
*TI = Result.takeAs<Expr>();
}
}
return new (C) SharedLockFunctionAttr(A->getLocation(), C, tempInstArgs, A->args_size());
}
case attr::SharedLocksRequired: {
const SharedLocksRequiredAttr *A = cast<SharedLocksRequiredAttr>(At);
Expr * *tempInstArgs = new (C, 16) Expr *[A->args_size()];
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
Expr * *TI = tempInstArgs;
Expr * *I = A->args_begin();
Expr * *E = A->args_end();
for (; I != E; ++I, ++TI) {
ExprResult Result = S.SubstExpr(*I, TemplateArgs);
*TI = Result.takeAs<Expr>();
}
}
return new (C) SharedLocksRequiredAttr(A->getLocation(), C, tempInstArgs, A->args_size());
}
case attr::SharedTrylockFunction: {
const SharedTrylockFunctionAttr *A = cast<SharedTrylockFunctionAttr>(At);
Expr * tempInstSuccessValue;
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
ExprResult Result = S.SubstExpr(A->getSuccessValue(), TemplateArgs);
tempInstSuccessValue = Result.takeAs<Expr>();
}
Expr * *tempInstArgs = new (C, 16) Expr *[A->args_size()];
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
Expr * *TI = tempInstArgs;
Expr * *I = A->args_begin();
Expr * *E = A->args_end();
for (; I != E; ++I, ++TI) {
ExprResult Result = S.SubstExpr(*I, TemplateArgs);
*TI = Result.takeAs<Expr>();
}
}
return new (C) SharedTrylockFunctionAttr(A->getLocation(), C, tempInstSuccessValue, tempInstArgs, A->args_size());
}
case attr::SingleInheritance: {
const SingleInheritanceAttr *A = cast<SingleInheritanceAttr>(At);
return A->clone(C);
}
case attr::StdCall: {
const StdCallAttr *A = cast<StdCallAttr>(At);
return A->clone(C);
}
case attr::TLSModel: {
const TLSModelAttr *A = cast<TLSModelAttr>(At);
return A->clone(C);
}
case attr::ThisCall: {
const ThisCallAttr *A = cast<ThisCallAttr>(At);
return A->clone(C);
}
case attr::TransparentUnion: {
const TransparentUnionAttr *A = cast<TransparentUnionAttr>(At);
return A->clone(C);
}
case attr::TypeTagForDatatype: {
const TypeTagForDatatypeAttr *A = cast<TypeTagForDatatypeAttr>(At);
return A->clone(C);
}
case attr::TypeVisibility: {
return NULL;
}
case attr::Unavailable: {
const UnavailableAttr *A = cast<UnavailableAttr>(At);
return A->clone(C);
}
case attr::UnlockFunction: {
const UnlockFunctionAttr *A = cast<UnlockFunctionAttr>(At);
Expr * *tempInstArgs = new (C, 16) Expr *[A->args_size()];
{
EnterExpressionEvaluationContext Unevaluated(S, Sema::Unevaluated);
Expr * *TI = tempInstArgs;
Expr * *I = A->args_begin();
Expr * *E = A->args_end();
for (; I != E; ++I, ++TI) {
ExprResult Result = S.SubstExpr(*I, TemplateArgs);
*TI = Result.takeAs<Expr>();
}
}
return new (C) UnlockFunctionAttr(A->getLocation(), C, tempInstArgs, A->args_size());
}
case attr::UnspecifiedInheritance: {
const UnspecifiedInheritanceAttr *A = cast<UnspecifiedInheritanceAttr>(At);
return A->clone(C);
}
case attr::Unused: {
const UnusedAttr *A = cast<UnusedAttr>(At);
return A->clone(C);
}
case attr::Used: {
const UsedAttr *A = cast<UsedAttr>(At);
return A->clone(C);
}
case attr::Uuid: {
const UuidAttr *A = cast<UuidAttr>(At);
return A->clone(C);
}
case attr::VecReturn: {
const VecReturnAttr *A = cast<VecReturnAttr>(At);
return A->clone(C);
}
case attr::VecTypeHint: {
const VecTypeHintAttr *A = cast<VecTypeHintAttr>(At);
return A->clone(C);
}
case attr::VirtualInheritance: {
const VirtualInheritanceAttr *A = cast<VirtualInheritanceAttr>(At);
return A->clone(C);
}
case attr::Visibility: {
return NULL;
}
case attr::WarnUnusedResult: {
const WarnUnusedResultAttr *A = cast<WarnUnusedResultAttr>(At);
return A->clone(C);
}
case attr::Weak: {
const WeakAttr *A = cast<WeakAttr>(At);
return A->clone(C);
}
case attr::WeakImport: {
const WeakImportAttr *A = cast<WeakImportAttr>(At);
return A->clone(C);
}
case attr::WeakRef: {
const WeakRefAttr *A = cast<WeakRefAttr>(At);
return A->clone(C);
}
case attr::Win64: {
const Win64Attr *A = cast<Win64Attr>(At);
return A->clone(C);
}
case attr::WorkGroupSizeHint: {
const WorkGroupSizeHintAttr *A = cast<WorkGroupSizeHintAttr>(At);
return A->clone(C);
}
case attr::X86ForceAlignArgPointer: {
const X86ForceAlignArgPointerAttr *A = cast<X86ForceAlignArgPointerAttr>(At);
return A->clone(C);
}
} // end switch
llvm_unreachable("Unknown attribute!");
return 0;
}
} // end namespace sema
} // end namespace clang

View File

@@ -0,0 +1,998 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*Attribute deserialization code *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
switch (Kind) {
default:
assert(0 && "Unknown attribute!");
break;
case attr::AcquiredAfter: {
bool isInherited = Record[Idx++];
unsigned argsSize = Record[Idx++];
SmallVector<Expr *, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(ReadExpr(F));
New = new (Context) AcquiredAfterAttr(Range, Context, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::AcquiredBefore: {
bool isInherited = Record[Idx++];
unsigned argsSize = Record[Idx++];
SmallVector<Expr *, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(ReadExpr(F));
New = new (Context) AcquiredBeforeAttr(Range, Context, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Alias: {
bool isInherited = Record[Idx++];
std::string aliasee= ReadString(Record, Idx);
New = new (Context) AliasAttr(Range, Context, aliasee);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::AlignMac68k: {
bool isInherited = Record[Idx++];
New = new (Context) AlignMac68kAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Aligned: {
bool isInherited = Record[Idx++];
bool isalignmentExpr = Record[Idx++];
void *alignmentPtr;
if (isalignmentExpr)
alignmentPtr = ReadExpr(F);
else
alignmentPtr = GetTypeSourceInfo(F, Record, Idx);
New = new (Context) AlignedAttr(Range, Context, isalignmentExpr, alignmentPtr);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::AllocSize: {
unsigned argsSize = Record[Idx++];
SmallVector<unsigned, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(Record[Idx++]);
New = new (Context) AllocSizeAttr(Range, Context, args.data(), argsSize);
break;
}
case attr::AlwaysInline: {
bool isInherited = Record[Idx++];
New = new (Context) AlwaysInlineAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::AnalyzerNoReturn: {
bool isInherited = Record[Idx++];
New = new (Context) AnalyzerNoReturnAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Annotate: {
bool isInherited = Record[Idx++];
std::string annotation= ReadString(Record, Idx);
New = new (Context) AnnotateAttr(Range, Context, annotation);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ArcWeakrefUnavailable: {
bool isInherited = Record[Idx++];
New = new (Context) ArcWeakrefUnavailableAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ArgumentWithTypeTag: {
bool isInherited = Record[Idx++];
IdentifierInfo * argumentKind = GetIdentifierInfo(F, Record, Idx);
unsigned argumentIdx = Record[Idx++];
unsigned typeTagIdx = Record[Idx++];
bool isPointer = Record[Idx++];
New = new (Context) ArgumentWithTypeTagAttr(Range, Context, argumentKind, argumentIdx, typeTagIdx, isPointer);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::AsmLabel: {
bool isInherited = Record[Idx++];
std::string label= ReadString(Record, Idx);
New = new (Context) AsmLabelAttr(Range, Context, label);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Availability: {
bool isInherited = Record[Idx++];
IdentifierInfo * platform = GetIdentifierInfo(F, Record, Idx);
VersionTuple introduced= ReadVersionTuple(Record, Idx);
VersionTuple deprecated= ReadVersionTuple(Record, Idx);
VersionTuple obsoleted= ReadVersionTuple(Record, Idx);
bool unavailable = Record[Idx++];
std::string message= ReadString(Record, Idx);
New = new (Context) AvailabilityAttr(Range, Context, platform, introduced, deprecated, obsoleted, unavailable, message);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Blocks: {
bool isInherited = Record[Idx++];
BlocksAttr::BlockType type(static_cast<BlocksAttr::BlockType>(Record[Idx++]));
New = new (Context) BlocksAttr(Range, Context, type);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::C11NoReturn: {
bool isInherited = Record[Idx++];
New = new (Context) C11NoReturnAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CDecl: {
bool isInherited = Record[Idx++];
New = new (Context) CDeclAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CFAuditedTransfer: {
bool isInherited = Record[Idx++];
New = new (Context) CFAuditedTransferAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CFConsumed: {
bool isInherited = Record[Idx++];
New = new (Context) CFConsumedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CFReturnsNotRetained: {
bool isInherited = Record[Idx++];
New = new (Context) CFReturnsNotRetainedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CFReturnsRetained: {
bool isInherited = Record[Idx++];
New = new (Context) CFReturnsRetainedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CFUnknownTransfer: {
bool isInherited = Record[Idx++];
New = new (Context) CFUnknownTransferAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CUDAConstant: {
bool isInherited = Record[Idx++];
New = new (Context) CUDAConstantAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CUDADevice: {
bool isInherited = Record[Idx++];
New = new (Context) CUDADeviceAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CUDAGlobal: {
bool isInherited = Record[Idx++];
New = new (Context) CUDAGlobalAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CUDAHost: {
bool isInherited = Record[Idx++];
New = new (Context) CUDAHostAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CUDALaunchBounds: {
bool isInherited = Record[Idx++];
int maxThreads = Record[Idx++];
int minBlocks = Record[Idx++];
New = new (Context) CUDALaunchBoundsAttr(Range, Context, maxThreads, minBlocks);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CUDAShared: {
bool isInherited = Record[Idx++];
New = new (Context) CUDASharedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CXX11NoReturn: {
bool isInherited = Record[Idx++];
New = new (Context) CXX11NoReturnAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::CarriesDependency: {
bool isInherited = Record[Idx++];
New = new (Context) CarriesDependencyAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Cleanup: {
bool isInherited = Record[Idx++];
FunctionDecl * functionDecl = GetLocalDeclAs<FunctionDecl >(F, Record[Idx++]);
New = new (Context) CleanupAttr(Range, Context, functionDecl);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Cold: {
bool isInherited = Record[Idx++];
New = new (Context) ColdAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Common: {
bool isInherited = Record[Idx++];
New = new (Context) CommonAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Const: {
bool isInherited = Record[Idx++];
New = new (Context) ConstAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Constructor: {
bool isInherited = Record[Idx++];
int priority = Record[Idx++];
New = new (Context) ConstructorAttr(Range, Context, priority);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::DLLExport: {
bool isInherited = Record[Idx++];
New = new (Context) DLLExportAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::DLLImport: {
bool isInherited = Record[Idx++];
New = new (Context) DLLImportAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Deprecated: {
bool isInherited = Record[Idx++];
std::string message= ReadString(Record, Idx);
New = new (Context) DeprecatedAttr(Range, Context, message);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Destructor: {
bool isInherited = Record[Idx++];
int priority = Record[Idx++];
New = new (Context) DestructorAttr(Range, Context, priority);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Endian: {
bool isInherited = Record[Idx++];
IdentifierInfo * platform = GetIdentifierInfo(F, Record, Idx);
New = new (Context) EndianAttr(Range, Context, platform);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ExclusiveLockFunction: {
bool isInherited = Record[Idx++];
unsigned argsSize = Record[Idx++];
SmallVector<Expr *, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(ReadExpr(F));
New = new (Context) ExclusiveLockFunctionAttr(Range, Context, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ExclusiveLocksRequired: {
bool isInherited = Record[Idx++];
unsigned argsSize = Record[Idx++];
SmallVector<Expr *, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(ReadExpr(F));
New = new (Context) ExclusiveLocksRequiredAttr(Range, Context, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ExclusiveTrylockFunction: {
bool isInherited = Record[Idx++];
Expr * successValue = ReadExpr(F);
unsigned argsSize = Record[Idx++];
SmallVector<Expr *, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(ReadExpr(F));
New = new (Context) ExclusiveTrylockFunctionAttr(Range, Context, successValue, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::FallThrough: {
New = new (Context) FallThroughAttr(Range, Context);
break;
}
case attr::FastCall: {
bool isInherited = Record[Idx++];
New = new (Context) FastCallAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Final: {
bool isInherited = Record[Idx++];
New = new (Context) FinalAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ForceInline: {
bool isInherited = Record[Idx++];
New = new (Context) ForceInlineAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Format: {
bool isInherited = Record[Idx++];
std::string type= ReadString(Record, Idx);
int formatIdx = Record[Idx++];
int firstArg = Record[Idx++];
New = new (Context) FormatAttr(Range, Context, type, formatIdx, firstArg);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::FormatArg: {
bool isInherited = Record[Idx++];
int formatIdx = Record[Idx++];
New = new (Context) FormatArgAttr(Range, Context, formatIdx);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::GNUInline: {
bool isInherited = Record[Idx++];
New = new (Context) GNUInlineAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::GuardedBy: {
bool isInherited = Record[Idx++];
Expr * arg = ReadExpr(F);
New = new (Context) GuardedByAttr(Range, Context, arg);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::GuardedVar: {
bool isInherited = Record[Idx++];
New = new (Context) GuardedVarAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Hot: {
bool isInherited = Record[Idx++];
New = new (Context) HotAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::IBAction: {
bool isInherited = Record[Idx++];
New = new (Context) IBActionAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::IBOutlet: {
bool isInherited = Record[Idx++];
New = new (Context) IBOutletAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::IBOutletCollection: {
bool isInherited = Record[Idx++];
QualType interface = getLocalType(F, Record[Idx++]);
SourceLocation interfaceLoc = ReadSourceLocation(F, Record, Idx);
New = new (Context) IBOutletCollectionAttr(Range, Context, interface, interfaceLoc);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::InitPriority: {
bool isInherited = Record[Idx++];
unsigned priority = Record[Idx++];
New = new (Context) InitPriorityAttr(Range, Context, priority);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::IntelOclBicc: {
bool isInherited = Record[Idx++];
New = new (Context) IntelOclBiccAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::LockReturned: {
bool isInherited = Record[Idx++];
Expr * arg = ReadExpr(F);
New = new (Context) LockReturnedAttr(Range, Context, arg);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Lockable: {
bool isInherited = Record[Idx++];
New = new (Context) LockableAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::LocksExcluded: {
bool isInherited = Record[Idx++];
unsigned argsSize = Record[Idx++];
SmallVector<Expr *, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(ReadExpr(F));
New = new (Context) LocksExcludedAttr(Range, Context, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::MBlazeInterruptHandler: {
bool isInherited = Record[Idx++];
New = new (Context) MBlazeInterruptHandlerAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::MBlazeSaveVolatiles: {
bool isInherited = Record[Idx++];
New = new (Context) MBlazeSaveVolatilesAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::MSP430Interrupt: {
bool isInherited = Record[Idx++];
unsigned number = Record[Idx++];
New = new (Context) MSP430InterruptAttr(Range, Context, number);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Malloc: {
bool isInherited = Record[Idx++];
New = new (Context) MallocAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::MaxFieldAlignment: {
bool isInherited = Record[Idx++];
unsigned alignment = Record[Idx++];
New = new (Context) MaxFieldAlignmentAttr(Range, Context, alignment);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::MayAlias: {
bool isInherited = Record[Idx++];
New = new (Context) MayAliasAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::MinSize: {
bool isInherited = Record[Idx++];
New = new (Context) MinSizeAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Mips16: {
bool isInherited = Record[Idx++];
New = new (Context) Mips16Attr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::MsProperty: {
New = new (Context) MsPropertyAttr(Range, Context);
break;
}
case attr::MsStruct: {
bool isInherited = Record[Idx++];
New = new (Context) MsStructAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::MultipleInheritance: {
bool isInherited = Record[Idx++];
New = new (Context) MultipleInheritanceAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NSBridged: {
bool isInherited = Record[Idx++];
IdentifierInfo * bridgedType = GetIdentifierInfo(F, Record, Idx);
New = new (Context) NSBridgedAttr(Range, Context, bridgedType);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NSConsumed: {
bool isInherited = Record[Idx++];
New = new (Context) NSConsumedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NSConsumesSelf: {
bool isInherited = Record[Idx++];
New = new (Context) NSConsumesSelfAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NSReturnsAutoreleased: {
bool isInherited = Record[Idx++];
New = new (Context) NSReturnsAutoreleasedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NSReturnsNotRetained: {
bool isInherited = Record[Idx++];
New = new (Context) NSReturnsNotRetainedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NSReturnsRetained: {
bool isInherited = Record[Idx++];
New = new (Context) NSReturnsRetainedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Naked: {
bool isInherited = Record[Idx++];
New = new (Context) NakedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NoCommon: {
bool isInherited = Record[Idx++];
New = new (Context) NoCommonAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NoDebug: {
bool isInherited = Record[Idx++];
New = new (Context) NoDebugAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NoInline: {
bool isInherited = Record[Idx++];
New = new (Context) NoInlineAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NoInstrumentFunction: {
bool isInherited = Record[Idx++];
New = new (Context) NoInstrumentFunctionAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NoMips16: {
bool isInherited = Record[Idx++];
New = new (Context) NoMips16Attr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NoReturn: {
bool isInherited = Record[Idx++];
New = new (Context) NoReturnAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NoSanitizeAddress: {
bool isInherited = Record[Idx++];
New = new (Context) NoSanitizeAddressAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NoSanitizeMemory: {
bool isInherited = Record[Idx++];
New = new (Context) NoSanitizeMemoryAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NoSanitizeThread: {
bool isInherited = Record[Idx++];
New = new (Context) NoSanitizeThreadAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NoThreadSafetyAnalysis: {
bool isInherited = Record[Idx++];
New = new (Context) NoThreadSafetyAnalysisAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NoThrow: {
bool isInherited = Record[Idx++];
New = new (Context) NoThrowAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::NonNull: {
bool isInherited = Record[Idx++];
unsigned argsSize = Record[Idx++];
SmallVector<unsigned, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(Record[Idx++]);
New = new (Context) NonNullAttr(Range, Context, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ObjCException: {
bool isInherited = Record[Idx++];
New = new (Context) ObjCExceptionAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ObjCMethodFamily: {
bool isInherited = Record[Idx++];
ObjCMethodFamilyAttr::FamilyKind family(static_cast<ObjCMethodFamilyAttr::FamilyKind>(Record[Idx++]));
New = new (Context) ObjCMethodFamilyAttr(Range, Context, family);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ObjCNSObject: {
bool isInherited = Record[Idx++];
New = new (Context) ObjCNSObjectAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ObjCPreciseLifetime: {
New = new (Context) ObjCPreciseLifetimeAttr(Range, Context);
break;
}
case attr::ObjCRequiresPropertyDefs: {
bool isInherited = Record[Idx++];
New = new (Context) ObjCRequiresPropertyDefsAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ObjCRequiresSuper: {
bool isInherited = Record[Idx++];
New = new (Context) ObjCRequiresSuperAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ObjCReturnsInnerPointer: {
New = new (Context) ObjCReturnsInnerPointerAttr(Range, Context);
break;
}
case attr::ObjCRootClass: {
New = new (Context) ObjCRootClassAttr(Range, Context);
break;
}
case attr::OpenCLImageAccess: {
int access = Record[Idx++];
New = new (Context) OpenCLImageAccessAttr(Range, Context, access);
break;
}
case attr::OpenCLKernel: {
New = new (Context) OpenCLKernelAttr(Range, Context);
break;
}
case attr::Overloadable: {
New = new (Context) OverloadableAttr(Range, Context);
break;
}
case attr::Override: {
bool isInherited = Record[Idx++];
New = new (Context) OverrideAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Ownership: {
bool isInherited = Record[Idx++];
OwnershipAttr::OwnershipKind ownKind(static_cast<OwnershipAttr::OwnershipKind>(Record[Idx++]));
std::string module= ReadString(Record, Idx);
unsigned argsSize = Record[Idx++];
SmallVector<unsigned, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(Record[Idx++]);
New = new (Context) OwnershipAttr(Range, Context, ownKind, module, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Packed: {
bool isInherited = Record[Idx++];
New = new (Context) PackedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Pascal: {
bool isInherited = Record[Idx++];
New = new (Context) PascalAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Pcs: {
bool isInherited = Record[Idx++];
PcsAttr::PCSType pCS(static_cast<PcsAttr::PCSType>(Record[Idx++]));
New = new (Context) PcsAttr(Range, Context, pCS);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::PnaclCall: {
bool isInherited = Record[Idx++];
New = new (Context) PnaclCallAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::PtGuardedBy: {
bool isInherited = Record[Idx++];
Expr * arg = ReadExpr(F);
New = new (Context) PtGuardedByAttr(Range, Context, arg);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::PtGuardedVar: {
bool isInherited = Record[Idx++];
New = new (Context) PtGuardedVarAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Ptr32: {
bool isInherited = Record[Idx++];
New = new (Context) Ptr32Attr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Ptr64: {
bool isInherited = Record[Idx++];
New = new (Context) Ptr64Attr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Pure: {
bool isInherited = Record[Idx++];
New = new (Context) PureAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Regparm: {
bool isInherited = Record[Idx++];
unsigned numParams = Record[Idx++];
New = new (Context) RegparmAttr(Range, Context, numParams);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ReqdWorkGroupSize: {
bool isInherited = Record[Idx++];
unsigned xDim = Record[Idx++];
unsigned yDim = Record[Idx++];
unsigned zDim = Record[Idx++];
New = new (Context) ReqdWorkGroupSizeAttr(Range, Context, xDim, yDim, zDim);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ReturnsTwice: {
bool isInherited = Record[Idx++];
New = new (Context) ReturnsTwiceAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ScopedLockable: {
bool isInherited = Record[Idx++];
New = new (Context) ScopedLockableAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Section: {
bool isInherited = Record[Idx++];
std::string name= ReadString(Record, Idx);
New = new (Context) SectionAttr(Range, Context, name);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Sentinel: {
bool isInherited = Record[Idx++];
int sentinel = Record[Idx++];
int nullPos = Record[Idx++];
New = new (Context) SentinelAttr(Range, Context, sentinel, nullPos);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::SharedLockFunction: {
bool isInherited = Record[Idx++];
unsigned argsSize = Record[Idx++];
SmallVector<Expr *, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(ReadExpr(F));
New = new (Context) SharedLockFunctionAttr(Range, Context, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::SharedLocksRequired: {
bool isInherited = Record[Idx++];
unsigned argsSize = Record[Idx++];
SmallVector<Expr *, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(ReadExpr(F));
New = new (Context) SharedLocksRequiredAttr(Range, Context, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::SharedTrylockFunction: {
bool isInherited = Record[Idx++];
Expr * successValue = ReadExpr(F);
unsigned argsSize = Record[Idx++];
SmallVector<Expr *, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(ReadExpr(F));
New = new (Context) SharedTrylockFunctionAttr(Range, Context, successValue, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::SingleInheritance: {
bool isInherited = Record[Idx++];
New = new (Context) SingleInheritanceAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::StdCall: {
bool isInherited = Record[Idx++];
New = new (Context) StdCallAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::TLSModel: {
bool isInherited = Record[Idx++];
std::string model= ReadString(Record, Idx);
New = new (Context) TLSModelAttr(Range, Context, model);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::ThisCall: {
bool isInherited = Record[Idx++];
New = new (Context) ThisCallAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::TransparentUnion: {
bool isInherited = Record[Idx++];
New = new (Context) TransparentUnionAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::TypeTagForDatatype: {
bool isInherited = Record[Idx++];
IdentifierInfo * argumentKind = GetIdentifierInfo(F, Record, Idx);
QualType matchingCType = getLocalType(F, Record[Idx++]);
bool layoutCompatible = Record[Idx++];
bool mustBeNull = Record[Idx++];
New = new (Context) TypeTagForDatatypeAttr(Range, Context, argumentKind, matchingCType, layoutCompatible, mustBeNull);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::TypeVisibility: {
bool isInherited = Record[Idx++];
TypeVisibilityAttr::VisibilityType visibility(static_cast<TypeVisibilityAttr::VisibilityType>(Record[Idx++]));
New = new (Context) TypeVisibilityAttr(Range, Context, visibility);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Unavailable: {
bool isInherited = Record[Idx++];
std::string message= ReadString(Record, Idx);
New = new (Context) UnavailableAttr(Range, Context, message);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::UnlockFunction: {
bool isInherited = Record[Idx++];
unsigned argsSize = Record[Idx++];
SmallVector<Expr *, 4> args;
args.reserve(argsSize);
for (unsigned i = argsSize; i; --i)
args.push_back(ReadExpr(F));
New = new (Context) UnlockFunctionAttr(Range, Context, args.data(), argsSize);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::UnspecifiedInheritance: {
bool isInherited = Record[Idx++];
New = new (Context) UnspecifiedInheritanceAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Unused: {
bool isInherited = Record[Idx++];
New = new (Context) UnusedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Used: {
bool isInherited = Record[Idx++];
New = new (Context) UsedAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Uuid: {
bool isInherited = Record[Idx++];
std::string guid= ReadString(Record, Idx);
New = new (Context) UuidAttr(Range, Context, guid);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::VecReturn: {
bool isInherited = Record[Idx++];
New = new (Context) VecReturnAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::VecTypeHint: {
bool isInherited = Record[Idx++];
QualType typeHint = getLocalType(F, Record[Idx++]);
SourceLocation typeLoc = ReadSourceLocation(F, Record, Idx);
New = new (Context) VecTypeHintAttr(Range, Context, typeHint, typeLoc);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::VirtualInheritance: {
bool isInherited = Record[Idx++];
New = new (Context) VirtualInheritanceAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Visibility: {
bool isInherited = Record[Idx++];
VisibilityAttr::VisibilityType visibility(static_cast<VisibilityAttr::VisibilityType>(Record[Idx++]));
New = new (Context) VisibilityAttr(Range, Context, visibility);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::WarnUnusedResult: {
bool isInherited = Record[Idx++];
New = new (Context) WarnUnusedResultAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Weak: {
bool isInherited = Record[Idx++];
New = new (Context) WeakAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::WeakImport: {
bool isInherited = Record[Idx++];
New = new (Context) WeakImportAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::WeakRef: {
bool isInherited = Record[Idx++];
New = new (Context) WeakRefAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::Win64: {
bool isInherited = Record[Idx++];
New = new (Context) Win64Attr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::WorkGroupSizeHint: {
bool isInherited = Record[Idx++];
unsigned xDim = Record[Idx++];
unsigned yDim = Record[Idx++];
unsigned zDim = Record[Idx++];
New = new (Context) WorkGroupSizeHintAttr(Range, Context, xDim, yDim, zDim);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
case attr::X86ForceAlignArgPointer: {
bool isInherited = Record[Idx++];
New = new (Context) X86ForceAlignArgPointerAttr(Range, Context);
cast<InheritableAttr>(New)->setInherited(isInherited);
break;
}
}

View File

@@ -0,0 +1,828 @@
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|*Attribute serialization code *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
switch (A->getKind()) {
default:
llvm_unreachable("Unknown attribute kind!");
break;
case attr::AcquiredAfter: {
const AcquiredAfterAttr *SA = cast<AcquiredAfterAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->args_size());
for (AcquiredAfterAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
AddStmt((*i));
break;
}
case attr::AcquiredBefore: {
const AcquiredBeforeAttr *SA = cast<AcquiredBeforeAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->args_size());
for (AcquiredBeforeAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
AddStmt((*i));
break;
}
case attr::Alias: {
const AliasAttr *SA = cast<AliasAttr>(A);
Record.push_back(SA->isInherited());
AddString(SA->getAliasee(), Record);
break;
}
case attr::AlignMac68k: {
const AlignMac68kAttr *SA = cast<AlignMac68kAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Aligned: {
const AlignedAttr *SA = cast<AlignedAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->isAlignmentExpr());
if (SA->isAlignmentExpr())
AddStmt(SA->getAlignmentExpr());
else
AddTypeSourceInfo(SA->getAlignmentType(), Record);
break;
}
case attr::AllocSize: {
const AllocSizeAttr *SA = cast<AllocSizeAttr>(A);
Record.push_back(SA->args_size());
for (AllocSizeAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
Record.push_back((*i));
break;
}
case attr::AlwaysInline: {
const AlwaysInlineAttr *SA = cast<AlwaysInlineAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::AnalyzerNoReturn: {
const AnalyzerNoReturnAttr *SA = cast<AnalyzerNoReturnAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Annotate: {
const AnnotateAttr *SA = cast<AnnotateAttr>(A);
Record.push_back(SA->isInherited());
AddString(SA->getAnnotation(), Record);
break;
}
case attr::ArcWeakrefUnavailable: {
const ArcWeakrefUnavailableAttr *SA = cast<ArcWeakrefUnavailableAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::ArgumentWithTypeTag: {
const ArgumentWithTypeTagAttr *SA = cast<ArgumentWithTypeTagAttr>(A);
Record.push_back(SA->isInherited());
AddIdentifierRef(SA->getArgumentKind(), Record);
Record.push_back(SA->getArgumentIdx());
Record.push_back(SA->getTypeTagIdx());
Record.push_back(SA->getIsPointer());
break;
}
case attr::AsmLabel: {
const AsmLabelAttr *SA = cast<AsmLabelAttr>(A);
Record.push_back(SA->isInherited());
AddString(SA->getLabel(), Record);
break;
}
case attr::Availability: {
const AvailabilityAttr *SA = cast<AvailabilityAttr>(A);
Record.push_back(SA->isInherited());
AddIdentifierRef(SA->getPlatform(), Record);
AddVersionTuple(SA->getIntroduced(), Record);
AddVersionTuple(SA->getDeprecated(), Record);
AddVersionTuple(SA->getObsoleted(), Record);
Record.push_back(SA->getUnavailable());
AddString(SA->getMessage(), Record);
break;
}
case attr::Blocks: {
const BlocksAttr *SA = cast<BlocksAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getType());
break;
}
case attr::C11NoReturn: {
const C11NoReturnAttr *SA = cast<C11NoReturnAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CDecl: {
const CDeclAttr *SA = cast<CDeclAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CFAuditedTransfer: {
const CFAuditedTransferAttr *SA = cast<CFAuditedTransferAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CFConsumed: {
const CFConsumedAttr *SA = cast<CFConsumedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CFReturnsNotRetained: {
const CFReturnsNotRetainedAttr *SA = cast<CFReturnsNotRetainedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CFReturnsRetained: {
const CFReturnsRetainedAttr *SA = cast<CFReturnsRetainedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CFUnknownTransfer: {
const CFUnknownTransferAttr *SA = cast<CFUnknownTransferAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CUDAConstant: {
const CUDAConstantAttr *SA = cast<CUDAConstantAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CUDADevice: {
const CUDADeviceAttr *SA = cast<CUDADeviceAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CUDAGlobal: {
const CUDAGlobalAttr *SA = cast<CUDAGlobalAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CUDAHost: {
const CUDAHostAttr *SA = cast<CUDAHostAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CUDALaunchBounds: {
const CUDALaunchBoundsAttr *SA = cast<CUDALaunchBoundsAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getMaxThreads());
Record.push_back(SA->getMinBlocks());
break;
}
case attr::CUDAShared: {
const CUDASharedAttr *SA = cast<CUDASharedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CXX11NoReturn: {
const CXX11NoReturnAttr *SA = cast<CXX11NoReturnAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::CarriesDependency: {
const CarriesDependencyAttr *SA = cast<CarriesDependencyAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Cleanup: {
const CleanupAttr *SA = cast<CleanupAttr>(A);
Record.push_back(SA->isInherited());
AddDeclRef(SA->getFunctionDecl(), Record);
break;
}
case attr::Cold: {
const ColdAttr *SA = cast<ColdAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Common: {
const CommonAttr *SA = cast<CommonAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Const: {
const ConstAttr *SA = cast<ConstAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Constructor: {
const ConstructorAttr *SA = cast<ConstructorAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getPriority());
break;
}
case attr::DLLExport: {
const DLLExportAttr *SA = cast<DLLExportAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::DLLImport: {
const DLLImportAttr *SA = cast<DLLImportAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Deprecated: {
const DeprecatedAttr *SA = cast<DeprecatedAttr>(A);
Record.push_back(SA->isInherited());
AddString(SA->getMessage(), Record);
break;
}
case attr::Destructor: {
const DestructorAttr *SA = cast<DestructorAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getPriority());
break;
}
case attr::Endian: {
const EndianAttr *SA = cast<EndianAttr>(A);
Record.push_back(SA->isInherited());
AddIdentifierRef(SA->getPlatform(), Record);
break;
}
case attr::ExclusiveLockFunction: {
const ExclusiveLockFunctionAttr *SA = cast<ExclusiveLockFunctionAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->args_size());
for (ExclusiveLockFunctionAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
AddStmt((*i));
break;
}
case attr::ExclusiveLocksRequired: {
const ExclusiveLocksRequiredAttr *SA = cast<ExclusiveLocksRequiredAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->args_size());
for (ExclusiveLocksRequiredAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
AddStmt((*i));
break;
}
case attr::ExclusiveTrylockFunction: {
const ExclusiveTrylockFunctionAttr *SA = cast<ExclusiveTrylockFunctionAttr>(A);
Record.push_back(SA->isInherited());
AddStmt(SA->getSuccessValue());
Record.push_back(SA->args_size());
for (ExclusiveTrylockFunctionAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
AddStmt((*i));
break;
}
case attr::FallThrough: {
break;
}
case attr::FastCall: {
const FastCallAttr *SA = cast<FastCallAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Final: {
const FinalAttr *SA = cast<FinalAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::ForceInline: {
const ForceInlineAttr *SA = cast<ForceInlineAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Format: {
const FormatAttr *SA = cast<FormatAttr>(A);
Record.push_back(SA->isInherited());
AddString(SA->getType(), Record);
Record.push_back(SA->getFormatIdx());
Record.push_back(SA->getFirstArg());
break;
}
case attr::FormatArg: {
const FormatArgAttr *SA = cast<FormatArgAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getFormatIdx());
break;
}
case attr::GNUInline: {
const GNUInlineAttr *SA = cast<GNUInlineAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::GuardedBy: {
const GuardedByAttr *SA = cast<GuardedByAttr>(A);
Record.push_back(SA->isInherited());
AddStmt(SA->getArg());
break;
}
case attr::GuardedVar: {
const GuardedVarAttr *SA = cast<GuardedVarAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Hot: {
const HotAttr *SA = cast<HotAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::IBAction: {
const IBActionAttr *SA = cast<IBActionAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::IBOutlet: {
const IBOutletAttr *SA = cast<IBOutletAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::IBOutletCollection: {
const IBOutletCollectionAttr *SA = cast<IBOutletCollectionAttr>(A);
Record.push_back(SA->isInherited());
AddTypeRef(SA->getInterface(), Record);
AddSourceLocation(SA->getInterfaceLoc(), Record);
break;
}
case attr::InitPriority: {
const InitPriorityAttr *SA = cast<InitPriorityAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getPriority());
break;
}
case attr::IntelOclBicc: {
const IntelOclBiccAttr *SA = cast<IntelOclBiccAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::LockReturned: {
const LockReturnedAttr *SA = cast<LockReturnedAttr>(A);
Record.push_back(SA->isInherited());
AddStmt(SA->getArg());
break;
}
case attr::Lockable: {
const LockableAttr *SA = cast<LockableAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::LocksExcluded: {
const LocksExcludedAttr *SA = cast<LocksExcludedAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->args_size());
for (LocksExcludedAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
AddStmt((*i));
break;
}
case attr::MBlazeInterruptHandler: {
const MBlazeInterruptHandlerAttr *SA = cast<MBlazeInterruptHandlerAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::MBlazeSaveVolatiles: {
const MBlazeSaveVolatilesAttr *SA = cast<MBlazeSaveVolatilesAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::MSP430Interrupt: {
const MSP430InterruptAttr *SA = cast<MSP430InterruptAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getNumber());
break;
}
case attr::Malloc: {
const MallocAttr *SA = cast<MallocAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::MaxFieldAlignment: {
const MaxFieldAlignmentAttr *SA = cast<MaxFieldAlignmentAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getAlignment());
break;
}
case attr::MayAlias: {
const MayAliasAttr *SA = cast<MayAliasAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::MinSize: {
const MinSizeAttr *SA = cast<MinSizeAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Mips16: {
const Mips16Attr *SA = cast<Mips16Attr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::MsProperty: {
break;
}
case attr::MsStruct: {
const MsStructAttr *SA = cast<MsStructAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::MultipleInheritance: {
const MultipleInheritanceAttr *SA = cast<MultipleInheritanceAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NSBridged: {
const NSBridgedAttr *SA = cast<NSBridgedAttr>(A);
Record.push_back(SA->isInherited());
AddIdentifierRef(SA->getBridgedType(), Record);
break;
}
case attr::NSConsumed: {
const NSConsumedAttr *SA = cast<NSConsumedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NSConsumesSelf: {
const NSConsumesSelfAttr *SA = cast<NSConsumesSelfAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NSReturnsAutoreleased: {
const NSReturnsAutoreleasedAttr *SA = cast<NSReturnsAutoreleasedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NSReturnsNotRetained: {
const NSReturnsNotRetainedAttr *SA = cast<NSReturnsNotRetainedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NSReturnsRetained: {
const NSReturnsRetainedAttr *SA = cast<NSReturnsRetainedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Naked: {
const NakedAttr *SA = cast<NakedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NoCommon: {
const NoCommonAttr *SA = cast<NoCommonAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NoDebug: {
const NoDebugAttr *SA = cast<NoDebugAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NoInline: {
const NoInlineAttr *SA = cast<NoInlineAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NoInstrumentFunction: {
const NoInstrumentFunctionAttr *SA = cast<NoInstrumentFunctionAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NoMips16: {
const NoMips16Attr *SA = cast<NoMips16Attr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NoReturn: {
const NoReturnAttr *SA = cast<NoReturnAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NoSanitizeAddress: {
const NoSanitizeAddressAttr *SA = cast<NoSanitizeAddressAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NoSanitizeMemory: {
const NoSanitizeMemoryAttr *SA = cast<NoSanitizeMemoryAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NoSanitizeThread: {
const NoSanitizeThreadAttr *SA = cast<NoSanitizeThreadAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NoThreadSafetyAnalysis: {
const NoThreadSafetyAnalysisAttr *SA = cast<NoThreadSafetyAnalysisAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NoThrow: {
const NoThrowAttr *SA = cast<NoThrowAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::NonNull: {
const NonNullAttr *SA = cast<NonNullAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->args_size());
for (NonNullAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
Record.push_back((*i));
break;
}
case attr::ObjCException: {
const ObjCExceptionAttr *SA = cast<ObjCExceptionAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::ObjCMethodFamily: {
const ObjCMethodFamilyAttr *SA = cast<ObjCMethodFamilyAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getFamily());
break;
}
case attr::ObjCNSObject: {
const ObjCNSObjectAttr *SA = cast<ObjCNSObjectAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::ObjCPreciseLifetime: {
break;
}
case attr::ObjCRequiresPropertyDefs: {
const ObjCRequiresPropertyDefsAttr *SA = cast<ObjCRequiresPropertyDefsAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::ObjCRequiresSuper: {
const ObjCRequiresSuperAttr *SA = cast<ObjCRequiresSuperAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::ObjCReturnsInnerPointer: {
break;
}
case attr::ObjCRootClass: {
break;
}
case attr::OpenCLImageAccess: {
const OpenCLImageAccessAttr *SA = cast<OpenCLImageAccessAttr>(A);
Record.push_back(SA->getAccess());
break;
}
case attr::OpenCLKernel: {
break;
}
case attr::Overloadable: {
break;
}
case attr::Override: {
const OverrideAttr *SA = cast<OverrideAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Ownership: {
const OwnershipAttr *SA = cast<OwnershipAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getOwnKind());
AddString(SA->getModule(), Record);
Record.push_back(SA->args_size());
for (OwnershipAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
Record.push_back((*i));
break;
}
case attr::Packed: {
const PackedAttr *SA = cast<PackedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Pascal: {
const PascalAttr *SA = cast<PascalAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Pcs: {
const PcsAttr *SA = cast<PcsAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getPCS());
break;
}
case attr::PnaclCall: {
const PnaclCallAttr *SA = cast<PnaclCallAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::PtGuardedBy: {
const PtGuardedByAttr *SA = cast<PtGuardedByAttr>(A);
Record.push_back(SA->isInherited());
AddStmt(SA->getArg());
break;
}
case attr::PtGuardedVar: {
const PtGuardedVarAttr *SA = cast<PtGuardedVarAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Ptr32: {
const Ptr32Attr *SA = cast<Ptr32Attr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Ptr64: {
const Ptr64Attr *SA = cast<Ptr64Attr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Pure: {
const PureAttr *SA = cast<PureAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Regparm: {
const RegparmAttr *SA = cast<RegparmAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getNumParams());
break;
}
case attr::ReqdWorkGroupSize: {
const ReqdWorkGroupSizeAttr *SA = cast<ReqdWorkGroupSizeAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getXDim());
Record.push_back(SA->getYDim());
Record.push_back(SA->getZDim());
break;
}
case attr::ReturnsTwice: {
const ReturnsTwiceAttr *SA = cast<ReturnsTwiceAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::ScopedLockable: {
const ScopedLockableAttr *SA = cast<ScopedLockableAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Section: {
const SectionAttr *SA = cast<SectionAttr>(A);
Record.push_back(SA->isInherited());
AddString(SA->getName(), Record);
break;
}
case attr::Sentinel: {
const SentinelAttr *SA = cast<SentinelAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getSentinel());
Record.push_back(SA->getNullPos());
break;
}
case attr::SharedLockFunction: {
const SharedLockFunctionAttr *SA = cast<SharedLockFunctionAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->args_size());
for (SharedLockFunctionAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
AddStmt((*i));
break;
}
case attr::SharedLocksRequired: {
const SharedLocksRequiredAttr *SA = cast<SharedLocksRequiredAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->args_size());
for (SharedLocksRequiredAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
AddStmt((*i));
break;
}
case attr::SharedTrylockFunction: {
const SharedTrylockFunctionAttr *SA = cast<SharedTrylockFunctionAttr>(A);
Record.push_back(SA->isInherited());
AddStmt(SA->getSuccessValue());
Record.push_back(SA->args_size());
for (SharedTrylockFunctionAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
AddStmt((*i));
break;
}
case attr::SingleInheritance: {
const SingleInheritanceAttr *SA = cast<SingleInheritanceAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::StdCall: {
const StdCallAttr *SA = cast<StdCallAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::TLSModel: {
const TLSModelAttr *SA = cast<TLSModelAttr>(A);
Record.push_back(SA->isInherited());
AddString(SA->getModel(), Record);
break;
}
case attr::ThisCall: {
const ThisCallAttr *SA = cast<ThisCallAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::TransparentUnion: {
const TransparentUnionAttr *SA = cast<TransparentUnionAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::TypeTagForDatatype: {
const TypeTagForDatatypeAttr *SA = cast<TypeTagForDatatypeAttr>(A);
Record.push_back(SA->isInherited());
AddIdentifierRef(SA->getArgumentKind(), Record);
AddTypeRef(SA->getMatchingCType(), Record);
Record.push_back(SA->getLayoutCompatible());
Record.push_back(SA->getMustBeNull());
break;
}
case attr::TypeVisibility: {
const TypeVisibilityAttr *SA = cast<TypeVisibilityAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getVisibility());
break;
}
case attr::Unavailable: {
const UnavailableAttr *SA = cast<UnavailableAttr>(A);
Record.push_back(SA->isInherited());
AddString(SA->getMessage(), Record);
break;
}
case attr::UnlockFunction: {
const UnlockFunctionAttr *SA = cast<UnlockFunctionAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->args_size());
for (UnlockFunctionAttr::args_iterator i = SA->args_begin(), e = SA->args_end(); i != e; ++i)
AddStmt((*i));
break;
}
case attr::UnspecifiedInheritance: {
const UnspecifiedInheritanceAttr *SA = cast<UnspecifiedInheritanceAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Unused: {
const UnusedAttr *SA = cast<UnusedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Used: {
const UsedAttr *SA = cast<UsedAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Uuid: {
const UuidAttr *SA = cast<UuidAttr>(A);
Record.push_back(SA->isInherited());
AddString(SA->getGuid(), Record);
break;
}
case attr::VecReturn: {
const VecReturnAttr *SA = cast<VecReturnAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::VecTypeHint: {
const VecTypeHintAttr *SA = cast<VecTypeHintAttr>(A);
Record.push_back(SA->isInherited());
AddTypeRef(SA->getTypeHint(), Record);
AddSourceLocation(SA->getTypeLoc(), Record);
break;
}
case attr::VirtualInheritance: {
const VirtualInheritanceAttr *SA = cast<VirtualInheritanceAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Visibility: {
const VisibilityAttr *SA = cast<VisibilityAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getVisibility());
break;
}
case attr::WarnUnusedResult: {
const WarnUnusedResultAttr *SA = cast<WarnUnusedResultAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Weak: {
const WeakAttr *SA = cast<WeakAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::WeakImport: {
const WeakImportAttr *SA = cast<WeakImportAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::WeakRef: {
const WeakRefAttr *SA = cast<WeakRefAttr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::Win64: {
const Win64Attr *SA = cast<Win64Attr>(A);
Record.push_back(SA->isInherited());
break;
}
case attr::WorkGroupSizeHint: {
const WorkGroupSizeHintAttr *SA = cast<WorkGroupSizeHintAttr>(A);
Record.push_back(SA->isInherited());
Record.push_back(SA->getXDim());
Record.push_back(SA->getYDim());
Record.push_back(SA->getZDim());
break;
}
case attr::X86ForceAlignArgPointer: {
const X86ForceAlignArgPointerAttr *SA = cast<X86ForceAlignArgPointerAttr>(A);
Record.push_back(SA->isInherited());
break;
}
}

View File

@@ -0,0 +1,34 @@
/*===- llvm/Config/AsmParsers.def - LLVM Assembly Parsers -------*- C++ -*-===*\
|* *|
|* The LLVM Compiler Infrastructure *|
|* *|
|* This file is distributed under the University of Illinois Open Source *|
|* License. See LICENSE.TXT for details. *|
|* *|
|*===----------------------------------------------------------------------===*|
|* *|
|* This file enumerates all of the assembly-language parsers *|
|* supported by this build of LLVM. Clients of this file should define *|
|* the LLVM_ASM_PARSER macro to be a function-like macro with a *|
|* single parameter (the name of the target whose assembly can be *|
|* generated); including this file will then enumerate all of the *|
|* targets with assembly parsers. *|
|* *|
|* The set of targets supported by LLVM is generated at configuration *|
|* time, at which point this header is generated. Do not modify this *|
|* header directly. *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef LLVM_ASM_PARSER
# error Please define the macro LLVM_ASM_PARSER(TargetName)
#endif
LLVM_ASM_PARSER(AArch64)
LLVM_ASM_PARSER(ARM)
LLVM_ASM_PARSER(Mips)
LLVM_ASM_PARSER(MBlaze)
LLVM_ASM_PARSER(X86)
#undef LLVM_ASM_PARSER

View File

@@ -0,0 +1,40 @@
/*===- llvm/Config/AsmPrinters.def - LLVM Assembly Printers -----*- C++ -*-===*\
|* *|
|* The LLVM Compiler Infrastructure *|
|* *|
|* This file is distributed under the University of Illinois Open Source *|
|* License. See LICENSE.TXT for details. *|
|* *|
|*===----------------------------------------------------------------------===*|
|* *|
|* This file enumerates all of the assembly-language printers *|
|* supported by this build of LLVM. Clients of this file should define *|
|* the LLVM_ASM_PRINTER macro to be a function-like macro with a *|
|* single parameter (the name of the target whose assembly can be *|
|* generated); including this file will then enumerate all of the *|
|* targets with assembly printers. *|
|* *|
|* The set of targets supported by LLVM is generated at configuration *|
|* time, at which point this header is generated. Do not modify this *|
|* header directly. *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef LLVM_ASM_PRINTER
# error Please define the macro LLVM_ASM_PRINTER(TargetName)
#endif
LLVM_ASM_PRINTER(AArch64)
LLVM_ASM_PRINTER(ARM)
LLVM_ASM_PRINTER(Hexagon)
LLVM_ASM_PRINTER(Mips)
LLVM_ASM_PRINTER(MBlaze)
LLVM_ASM_PRINTER(MSP430)
LLVM_ASM_PRINTER(NVPTX)
LLVM_ASM_PRINTER(PowerPC)
LLVM_ASM_PRINTER(Sparc)
LLVM_ASM_PRINTER(X86)
LLVM_ASM_PRINTER(XCore)
#undef LLVM_ASM_PRINTER

View File

@@ -0,0 +1,35 @@
/*===- llvm/Config/Disassemblers.def - LLVM Assembly Parsers ----*- C++ -*-===*\
|* *|
|* The LLVM Compiler Infrastructure *|
|* *|
|* This file is distributed under the University of Illinois Open Source *|
|* License. See LICENSE.TXT for details. *|
|* *|
|*===----------------------------------------------------------------------===*|
|* *|
|* This file enumerates all of the assembly-language parsers *|
|* supported by this build of LLVM. Clients of this file should define *|
|* the LLVM_DISASSEMBLER macro to be a function-like macro with a *|
|* single parameter (the name of the target whose assembly can be *|
|* generated); including this file will then enumerate all of the *|
|* targets with assembly parsers. *|
|* *|
|* The set of targets supported by LLVM is generated at configuration *|
|* time, at which point this header is generated. Do not modify this *|
|* header directly. *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef LLVM_DISASSEMBLER
# error Please define the macro LLVM_DISASSEMBLER(TargetName)
#endif
LLVM_DISASSEMBLER(AArch64)
LLVM_DISASSEMBLER(ARM)
LLVM_DISASSEMBLER(Mips)
LLVM_DISASSEMBLER(MBlaze)
LLVM_DISASSEMBLER(X86)
LLVM_DISASSEMBLER(XCore)
#undef LLVM_DISASSEMBLER

View File

@@ -0,0 +1,40 @@
/*===- llvm/Config/Targets.def - LLVM Target Architectures ------*- C++ -*-===*\
|* *|
|* The LLVM Compiler Infrastructure *|
|* *|
|* This file is distributed under the University of Illinois Open Source *|
|* License. See LICENSE.TXT for details. *|
|* *|
|*===----------------------------------------------------------------------===*|
|* *|
|* This file enumerates all of the target architectures supported by *|
|* this build of LLVM. Clients of this file should define the *|
|* LLVM_TARGET macro to be a function-like macro with a single *|
|* parameter (the name of the target); including this file will then *|
|* enumerate all of the targets. *|
|* *|
|* The set of targets supported by LLVM is generated at configuration *|
|* time, at which point this header is generated. Do not modify this *|
|* header directly. *|
|* *|
\*===----------------------------------------------------------------------===*/
#ifndef LLVM_TARGET
# error Please define the macro LLVM_TARGET(TargetName)
#endif
LLVM_TARGET(AArch64)
LLVM_TARGET(ARM)
LLVM_TARGET(CppBackend)
LLVM_TARGET(Hexagon)
LLVM_TARGET(Mips)
LLVM_TARGET(MBlaze)
LLVM_TARGET(MSP430)
LLVM_TARGET(NVPTX)
LLVM_TARGET(PowerPC)
LLVM_TARGET(Sparc)
LLVM_TARGET(X86)
LLVM_TARGET(XCore)
#undef LLVM_TARGET

View File

@@ -0,0 +1,753 @@
/* include/llvm/Config/config.h.cmake corresponding to config.h.in. */
#ifndef CONFIG_H
#define CONFIG_H
/* Bug report URL. */
#define BUG_REPORT_URL "http://llvm.org/bugs/"
/* Define if we have libxml2 */
/* #undef CLANG_HAVE_LIBXML */
/* Relative directory for resource files */
#define CLANG_RESOURCE_DIR ""
/* Directories clang will search for headers */
#define C_INCLUDE_DIRS ""
/* Default <path> to all compiler invocations for --sysroot=<path>. */
#undef DEFAULT_SYSROOT
/* Define if you want backtraces on crash */
#define ENABLE_BACKTRACES
/* Define if position independent code is enabled */
#define ENABLE_PIC
/* Define if timestamp information (e.g., __DATE__) is allowed */
#define ENABLE_TIMESTAMPS 1
/* Directory where gcc is installed. */
#undef GCC_INSTALL_PREFIX
/* Define to 1 if you have the `arc4random' function. */
/* #undef HAVE_ARC4RANDOM */
/* Define to 1 if you have the `argz_append' function. */
/* #undef HAVE_ARGZ_APPEND */
/* Define to 1 if you have the `argz_create_sep' function. */
/* #undef HAVE_ARGZ_CREATE_SEP */
/* Define to 1 if you have the <argz.h> header file. */
/* #undef HAVE_ARGZ_H */
/* Define to 1 if you have the `argz_insert' function. */
/* #undef HAVE_ARGZ_INSERT */
/* Define to 1 if you have the `argz_next' function. */
/* #undef HAVE_ARGZ_NEXT */
/* Define to 1 if you have the `argz_stringify' function. */
/* #undef HAVE_ARGZ_STRINGIFY */
/* Define to 1 if you have the <assert.h> header file. */
#define HAVE_ASSERT_H 1
/* Define to 1 if you have the `backtrace' function. */
/* #undef HAVE_BACKTRACE */
/* Define to 1 if you have the `bcopy' function. */
#undef HAVE_BCOPY
/* Define to 1 if you have the `ceilf' function. */
#define HAVE_CEILF 1
/* Define if the neat program is available */
/* #undef HAVE_CIRCO */
/* Define to 1 if you have the `closedir' function. */
/* #undef HAVE_CLOSEDIR */
/* Define to 1 if you have the <CrashReporterClient.h> header file. */
#undef HAVE_CRASHREPORTERCLIENT_H
/* can use __crashreporter_info__ */
#undef HAVE_CRASHREPORTER_INFO
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you
don't. */
#define HAVE_DECL_STRERROR_S 1
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_DIRENT_H */
/* Define if you have the GNU dld library. */
#undef HAVE_DLD
/* Define to 1 if you have the <dld.h> header file. */
/* #undef HAVE_DLD_H */
/* Define to 1 if you have the `dlerror' function. */
/* #undef HAVE_DLERROR */
/* Define to 1 if you have the <dlfcn.h> header file. */
/* #undef HAVE_DLFCN_H */
/* Define if dlopen() is available on this platform. */
/* #undef HAVE_DLOPEN */
/* Define to 1 if you have the <dl.h> header file. */
/* #undef HAVE_DL_H */
/* Define if the dot program is available */
/* #undef HAVE_DOT */
/* Define if the dotty program is available */
/* #undef HAVE_DOTTY */
/* Define if you have the _dyld_func_lookup function. */
#undef HAVE_DYLD
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
/* Define to 1 if the system has the type `error_t'. */
/* #undef HAVE_ERROR_T */
/* Define to 1 if you have the <execinfo.h> header file. */
/* #undef HAVE_EXECINFO_H */
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
/* Define if the neat program is available */
/* #undef HAVE_FDP */
/* Define to 1 if you have the <fenv.h> header file. */
/* #undef HAVE_FENV_H */
/* Define if libffi is available on this platform. */
/* #undef HAVE_FFI_CALL */
/* Define to 1 if you have the <ffi/ffi.h> header file. */
/* #undef HAVE_FFI_FFI_H */
/* Define to 1 if you have the <ffi.h> header file. */
/* #undef HAVE_FFI_H */
/* Set to 1 if the finite function is found in <ieeefp.h> */
/* #undef HAVE_FINITE_IN_IEEEFP_H */
/* Define to 1 if you have the `floorf' function. */
#define HAVE_FLOORF 1
/* Define to 1 if you have the `log' function. */
#define HAVE_LOG 1
/* Define to 1 if you have the `log2' function. */
/* #undef HAVE_LOG2 */
/* Define to 1 if you have the `log10' function. */
#define HAVE_LOG10 1
/* Define to 1 if you have the `exp' function. */
#define HAVE_EXP 1
/* Define to 1 if you have the `exp2' function. */
/* #undef HAVE_EXP2 */
/* Define to 1 if you have the `exp10' function. */
/* #undef HAVE_EXP10 */
/* Define to 1 if you have the `fmodf' function. */
#define HAVE_FMODF 1
/* Define to 1 if you have the `getcwd' function. */
/* #undef HAVE_GETCWD */
/* Define to 1 if you have the `getpagesize' function. */
/* #undef HAVE_GETPAGESIZE */
/* Define to 1 if you have the `getrlimit' function. */
/* #undef HAVE_GETRLIMIT */
/* Define to 1 if you have the `getrusage' function. */
/* #undef HAVE_GETRUSAGE */
/* Define to 1 if you have the `gettimeofday' function. */
/* #undef HAVE_GETTIMEOFDAY */
/* Define if the Graphviz program is available */
/* #undef HAVE_GRAPHVIZ */
/* Define if the gv program is available */
/* #undef HAVE_GV */
/* Define to 1 if you have the `index' function. */
/* #undef HAVE_INDEX */
/* Define to 1 if the system has the type `int64_t'. */
#define HAVE_INT64_T 1
/* Define to 1 if you have the <inttypes.h> header file. */
/* #undef HAVE_INTTYPES_H */
/* Define to 1 if you have the `isatty' function. */
/* #undef HAVE_ISATTY */
/* Set to 1 if the isinf function is found in <cmath> */
/* #undef HAVE_ISINF_IN_CMATH */
/* Set to 1 if the isinf function is found in <math.h> */
/* #undef HAVE_ISINF_IN_MATH_H */
/* Set to 1 if the isnan function is found in <cmath> */
/* #undef HAVE_ISNAN_IN_CMATH */
/* Set to 1 if the isnan function is found in <math.h> */
/* #undef HAVE_ISNAN_IN_MATH_H */
/* Define if you have the libdl library or equivalent. */
/* #undef HAVE_LIBDL */
/* Define to 1 if you have the `imagehlp' library (-limagehlp). */
/* #undef HAVE_LIBIMAGEHLP */
/* Define to 1 if you have the `m' library (-lm). */
#undef HAVE_LIBM
/* Define to 1 if you have the `psapi' library (-lpsapi). */
/* #undef HAVE_LIBPSAPI */
/* Define to 1 if you have the `pthread' library (-lpthread). */
/* #undef HAVE_LIBPTHREAD */
/* Define to 1 if you have the `udis86' library (-ludis86). */
#undef HAVE_LIBUDIS86
/* Define to 1 if you have the <limits.h> header file. */
#define HAVE_LIMITS_H 1
/* Define if you can use -Wl,-export-dynamic. */
#define HAVE_LINK_EXPORT_DYNAMIC 1
/* Define to 1 if you have the <link.h> header file. */
/* #undef HAVE_LINK_H */
/* Define if you can use -Wl,-R. to pass -R. to the linker, in order to add
the current directory to the dynamic linker search path. */
#undef HAVE_LINK_R
/* Define to 1 if you have the `longjmp' function. */
#define HAVE_LONGJMP 1
/* Define to 1 if you have the <mach/mach.h> header file. */
/* #undef HAVE_MACH_MACH_H */
/* Define to 1 if you have the <mach-o/dyld.h> header file. */
/* #undef HAVE_MACH_O_DYLD_H */
/* Define if mallinfo() is available on this platform. */
/* #undef HAVE_MALLINFO */
/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
/* Define to 1 if you have the <malloc/malloc.h> header file. */
/* #undef HAVE_MALLOC_MALLOC_H */
/* Define to 1 if you have the `malloc_zone_statistics' function. */
/* #undef HAVE_MALLOC_ZONE_STATISTICS */
/* Define to 1 if you have the `memcpy' function. */
#define HAVE_MEMCPY 1
/* Define to 1 if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdtemp' function. */
/* #undef HAVE_MKDTEMP */
/* Define to 1 if you have the `mkstemp' function. */
/* #undef HAVE_MKSTEMP */
/* Define to 1 if you have the `mktemp' function. */
/* #undef HAVE_MKTEMP */
/* Define to 1 if you have a working `mmap' system call. */
#undef HAVE_MMAP
/* Define if mmap() uses MAP_ANONYMOUS to map anonymous pages, or undefine if
it uses MAP_ANON */
#undef HAVE_MMAP_ANONYMOUS
/* Define if mmap() can map files into memory */
#undef HAVE_MMAP_FILE
/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
/* #undef HAVE_NDIR_H */
/* Define to 1 if you have the `nearbyintf' function. */
/* #undef HAVE_NEARBYINTF */
/* Define if the neat program is available */
/* #undef HAVE_NEATO */
/* Define to 1 if you have the `opendir' function. */
/* #undef HAVE_OPENDIR */
/* Define to 1 if you have the `posix_spawn' function. */
/* #undef HAVE_POSIX_SPAWN */
/* Define to 1 if you have the `powf' function. */
/* #undef HAVE_POWF */
/* Define to 1 if you have the `pread' function. */
/* #undef HAVE_PREAD */
/* Define if libtool can extract symbol lists from object files. */
#undef HAVE_PRELOADED_SYMBOLS
/* Define to have the %a format string */
#undef HAVE_PRINTF_A
/* Have pthread_getspecific */
/* #undef HAVE_PTHREAD_GETSPECIFIC */
/* Define to 1 if you have the <pthread.h> header file. */
/* #undef HAVE_PTHREAD_H */
/* Have pthread_mutex_lock */
/* #undef HAVE_PTHREAD_MUTEX_LOCK */
/* Have pthread_rwlock_init */
/* #undef HAVE_PTHREAD_RWLOCK_INIT */
/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
/* #undef HAVE_RAND48 */
/* Define to 1 if you have the `readdir' function. */
/* #undef HAVE_READDIR */
/* Define to 1 if you have the `realpath' function. */
#undef HAVE_REALPATH
/* Define to 1 if you have the `rindex' function. */
/* #undef HAVE_RINDEX */
/* Define to 1 if you have the `rintf' function. */
#undef HAVE_RINTF
/* Define to 1 if you have the `round' function. */
/* #undef HAVE_ROUND */
/* Define to 1 if you have the `roundf' function. */
#undef HAVE_ROUNDF
/* Define to 1 if you have the `sbrk' function. */
/* #undef HAVE_SBRK */
/* Define to 1 if you have the `setenv' function. */
/* #undef HAVE_SETENV */
/* Define to 1 if you have the `setjmp' function. */
#define HAVE_SETJMP 1
/* Define to 1 if you have the <setjmp.h> header file. */
#define HAVE_SETJMP_H 1
/* Define to 1 if you have the `setrlimit' function. */
/* #undef HAVE_SETRLIMIT */
/* Define if you have the shl_load function. */
#undef HAVE_SHL_LOAD
/* Define to 1 if you have the `siglongjmp' function. */
/* #undef HAVE_SIGLONGJMP */
/* Define to 1 if you have the <signal.h> header file. */
#define HAVE_SIGNAL_H 1
/* Define to 1 if you have the `sigsetjmp' function. */
/* #undef HAVE_SIGSETJMP */
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdio.h> header file. */
#define HAVE_STDIO_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Set to 1 if the std::isinf function is found in <cmath> */
#undef HAVE_STD_ISINF_IN_CMATH
/* Set to 1 if the std::isnan function is found in <cmath> */
#undef HAVE_STD_ISNAN_IN_CMATH
/* Define to 1 if you have the `strchr' function. */
#define HAVE_STRCHR 1
/* Define to 1 if you have the `strcmp' function. */
#define HAVE_STRCMP 1
/* Define to 1 if you have the `strdup' function. */
#define HAVE_STRDUP 1
/* Define to 1 if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
/* #undef HAVE_STRERROR_R */
/* Define to 1 if you have the <strings.h> header file. */
/* #undef HAVE_STRINGS_H */
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strrchr' function. */
#define HAVE_STRRCHR 1
/* Define to 1 if you have the `strtof' function. */
/* #undef HAVE_STRTOF */
/* Define to 1 if you have the `strtoll' function. */
#define HAVE_STRTOLL 1
/* Define to 1 if you have the `strtoq' function. */
/* #undef HAVE_STRTOQ */
/* Define to 1 if you have the `sysconf' function. */
#undef HAVE_SYSCONF
/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_DIR_H */
/* Define to 1 if you have the <sys/dl.h> header file. */
/* #undef HAVE_SYS_DL_H */
/* Define to 1 if you have the <sys/ioctl.h> header file. */
/* #undef HAVE_SYS_IOCTL_H */
/* Define to 1 if you have the <sys/mman.h> header file. */
/* #undef HAVE_SYS_MMAN_H */
/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
*/
/* #undef HAVE_SYS_NDIR_H */
/* Define to 1 if you have the <sys/param.h> header file. */
/* #undef HAVE_SYS_PARAM_H */
/* Define to 1 if you have the <sys/resource.h> header file. */
/* #undef HAVE_SYS_RESOURCE_H */
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
/* #undef HAVE_SYS_TIME_H */
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/uio.h> header file. */
/* #undef HAVE_SYS_UIO_H */
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
/* #undef HAVE_SYS_WAIT_H */
/* Define to 1 if you have the <termios.h> header file. */
/* #undef HAVE_TERMIOS_H */
/* Define if the neat program is available */
/* #undef HAVE_TWOPI */
/* Define to 1 if the system has the type `uint64_t'. */
#define HAVE_UINT64_T 1
/* Define to 1 if you have the <unistd.h> header file. */
/* #undef HAVE_UNISTD_H */
/* Define to 1 if you have the <utime.h> header file. */
/* #undef HAVE_UTIME_H */
/* Define to 1 if the system has the type `u_int64_t'. */
/* #undef HAVE_U_INT64_T */
/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
/* #undef HAVE_VALGRIND_VALGRIND_H */
/* Define to 1 if you have the <windows.h> header file. */
#define HAVE_WINDOWS_H 1
/* Define to 1 if you have the `writev' function. */
/* #undef HAVE_WRITEV */
/* Define if the xdot.py program is available */
/* #undef HAVE_XDOT_PY */
/* Have host's _alloca */
/* #undef HAVE__ALLOCA */
/* Have host's __alloca */
/* #undef HAVE___ALLOCA */
/* Have host's __ashldi3 */
/* #undef HAVE___ASHLDI3 */
/* Have host's __ashrdi3 */
/* #undef HAVE___ASHRDI3 */
/* Have host's __chkstk */
/* #undef HAVE___CHKSTK */
/* Have host's __cmpdi2 */
/* #undef HAVE___CMPDI2 */
/* Have host's __divdi3 */
/* #undef HAVE___DIVDI3 */
/* Define to 1 if you have the `__dso_handle' function. */
#undef HAVE___DSO_HANDLE
/* Have host's __fixdfdi */
/* #undef HAVE___FIXDFDI */
/* Have host's __fixsfdi */
/* #undef HAVE___FIXSFDI */
/* Have host's __floatdidf */
/* #undef HAVE___FLOATDIDF */
/* Have host's __lshrdi3 */
/* #undef HAVE___LSHRDI3 */
/* Have host's __main */
/* #undef HAVE___MAIN */
/* Have host's __moddi3 */
/* #undef HAVE___MODDI3 */
/* Have host's __udivdi3 */
/* #undef HAVE___UDIVDI3 */
/* Have host's __umoddi3 */
/* #undef HAVE___UMODDI3 */
/* Have host's ___chkstk */
/* #undef HAVE____CHKSTK */
/* Linker version detected at compile time. */
#undef HOST_LINK_VERSION
/* Installation directory for binary executables */
/* #undef LLVM_BINDIR */
/* Time at which LLVM was configured */
/* #undef LLVM_CONFIGTIME */
/* Installation directory for data files */
/* #undef LLVM_DATADIR */
/* Target triple LLVM will generate code for by default */
#define LLVM_DEFAULT_TARGET_TRIPLE "i686-pc-win32"
/* Installation directory for documentation */
/* #undef LLVM_DOCSDIR */
/* Define if threads enabled */
#define LLVM_ENABLE_THREADS 1
/* Installation directory for config files */
/* #undef LLVM_ETCDIR */
/* Has gcc/MSVC atomic intrinsics */
#define LLVM_HAS_ATOMICS 1
/* Host triple LLVM will be executed on */
#define LLVM_HOSTTRIPLE "i686-pc-win32"
/* Installation directory for include files */
/* #undef LLVM_INCLUDEDIR */
/* Installation directory for .info files */
/* #undef LLVM_INFODIR */
/* Installation directory for libraries */
/* #undef LLVM_LIBDIR */
/* Installation directory for man pages */
/* #undef LLVM_MANDIR */
/* LLVM architecture name for the native architecture, if available */
#define LLVM_NATIVE_ARCH X86
/* LLVM name for the native AsmParser init function, if available */
#define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser
/* LLVM name for the native AsmPrinter init function, if available */
#define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter
/* LLVM name for the native Disassembler init function, if available */
#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler
/* LLVM name for the native Target init function, if available */
#define LLVM_NATIVE_TARGET LLVMInitializeX86Target
/* LLVM name for the native TargetInfo init function, if available */
#define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo
/* LLVM name for the native target MC init function, if available */
#define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC
/* Define if this is Unixish platform */
/* #undef LLVM_ON_UNIX */
/* Define if this is Win32ish platform */
#define LLVM_ON_WIN32 1
/* Define to path to circo program if found or 'echo circo' otherwise */
/* #undef LLVM_PATH_CIRCO */
/* Define to path to dot program if found or 'echo dot' otherwise */
/* #undef LLVM_PATH_DOT */
/* Define to path to dotty program if found or 'echo dotty' otherwise */
/* #undef LLVM_PATH_DOTTY */
/* Define to path to fdp program if found or 'echo fdp' otherwise */
/* #undef LLVM_PATH_FDP */
/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
/* #undef LLVM_PATH_GRAPHVIZ */
/* Define to path to gv program if found or 'echo gv' otherwise */
/* #undef LLVM_PATH_GV */
/* Define to path to neato program if found or 'echo neato' otherwise */
/* #undef LLVM_PATH_NEATO */
/* Define to path to twopi program if found or 'echo twopi' otherwise */
/* #undef LLVM_PATH_TWOPI */
/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
/* #undef LLVM_PATH_XDOT_PY */
/* Installation prefix directory */
#define LLVM_PREFIX "C:/Program Files (x86)/LLVM"
/* Define if we have the Intel JIT API runtime support library */
/* #undef LLVM_USE_INTEL_JITEVENTS */
/* Define if we have the oprofile JIT-support library */
/* #undef LLVM_USE_OPROFILE */
/* Major version of the LLVM API */
#define LLVM_VERSION_MAJOR 3
/* Minor version of the LLVM API */
#define LLVM_VERSION_MINOR 3
/* Define if the OS needs help to load dependent libraries for dlopen(). */
#define LTDL_DLOPEN_DEPLIBS 1
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#undef LTDL_OBJDIR
/* Define to the name of the environment variable that determines the dynamic
library search path. */
#define LTDL_SHLIBPATH_VAR "PATH"
/* Define to the extension used for shared libraries, say, ".so". */
#define LTDL_SHLIB_EXT ".dll"
/* Define to the system default library search path. */
/* #undef LTDL_SYSSEARCHPATH */
/* Define if /dev/zero should be used when mapping RWX memory, or undefine if
its not necessary */
#undef NEED_DEV_ZERO_FOR_MMAP
/* Define if dlsym() requires a leading underscore in symbol names. */
#undef NEED_USCORE
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://llvm.org/bugs/"
/* Define to the full name of this package. */
#define PACKAGE_NAME "LLVM"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "LLVM 3.3svn"
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#define PACKAGE_VERSION "3.3svn"
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */
#undef STAT_MACROS_BROKEN
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#undef TM_IN_SYS_TIME
/* Define if use udis86 library */
#undef USE_UDIS86
/* Type of 1st arg on ELM Callback */
#define WIN32_ELMCB_PCSTR PCSTR
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to a type to use for `error_t' if it is not otherwise available. */
#define error_t int
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
/* Define to a function replacing strtoll */
#define strtoll _strtoi64
/* Define to a function implementing strtoull */
#define strtoull _strtoui64
/* Define to a function implementing stricmp */
#define stricmp _stricmp
/* Define to a function implementing strdup */
#define strdup _strdup
/* Define to 1 if you have the `_chsize_s' function. */
#define HAVE__CHSIZE_S 1
/* Added by Kevin -- Maximum path length */
#define MAXPATHLEN 160
#endif

View File

@@ -0,0 +1,130 @@
/*===-- llvm/config/llvm-config.h - llvm configure variable -------*- C -*-===*/
/* */
/* The LLVM Compiler Infrastructure */
/* */
/* This file is distributed under the University of Illinois Open Source */
/* License. See LICENSE.TXT for details. */
/* */
/*===----------------------------------------------------------------------===*/
/* This file enumerates all of the llvm variables from configure so that
they can be in exported headers and won't override package specific
directives. This is a C file so we can include it in the llvm-c headers. */
/* To avoid multiple inclusions of these variables when we include the exported
headers and config.h, conditionally include these. */
/* TODO: This is a bit of a hack. */
#ifndef CONFIG_H
/* Installation directory for binary executables */
/* #undef LLVM_BINDIR */
/* Time at which LLVM was configured */
/* #undef LLVM_CONFIGTIME */
/* Installation directory for data files */
/* #undef LLVM_DATADIR */
/* Target triple LLVM will generate code for by default */
#define LLVM_DEFAULT_TARGET_TRIPLE "i686-pc-win32"
/* Installation directory for documentation */
/* #undef LLVM_DOCSDIR */
/* Define if threads enabled */
#define LLVM_ENABLE_THREADS 1
/* Installation directory for config files */
/* #undef LLVM_ETCDIR */
/* Has gcc/MSVC atomic intrinsics */
#define LLVM_HAS_ATOMICS 1
/* Host triple LLVM will be executed on */
#define LLVM_HOSTTRIPLE "i686-pc-win32"
/* Installation directory for include files */
/* #undef LLVM_INCLUDEDIR */
/* Installation directory for .info files */
/* #undef LLVM_INFODIR */
/* Installation directory for libraries */
/* #undef LLVM_LIBDIR */
/* Installation directory for man pages */
/* #undef LLVM_MANDIR */
/* LLVM architecture name for the native architecture, if available */
#define LLVM_NATIVE_ARCH X86
/* LLVM name for the native AsmParser init function, if available */
#define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser
/* LLVM name for the native AsmPrinter init function, if available */
#define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter
/* LLVM name for the native Disassembler init function, if available */
#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler
/* LLVM name for the native Target init function, if available */
#define LLVM_NATIVE_TARGET LLVMInitializeX86Target
/* LLVM name for the native TargetInfo init function, if available */
#define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo
/* LLVM name for the native target MC init function, if available */
#define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC
/* Define if this is Unixish platform */
/* #undef LLVM_ON_UNIX */
/* Define if this is Win32ish platform */
#define LLVM_ON_WIN32 1
/* Define to path to circo program if found or 'echo circo' otherwise */
/* #undef LLVM_PATH_CIRCO */
/* Define to path to dot program if found or 'echo dot' otherwise */
/* #undef LLVM_PATH_DOT */
/* Define to path to dotty program if found or 'echo dotty' otherwise */
/* #undef LLVM_PATH_DOTTY */
/* Define to path to fdp program if found or 'echo fdp' otherwise */
/* #undef LLVM_PATH_FDP */
/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
/* #undef LLVM_PATH_GRAPHVIZ */
/* Define to path to gv program if found or 'echo gv' otherwise */
/* #undef LLVM_PATH_GV */
/* Define to path to neato program if found or 'echo neato' otherwise */
/* #undef LLVM_PATH_NEATO */
/* Define to path to twopi program if found or 'echo twopi' otherwise */
/* #undef LLVM_PATH_TWOPI */
/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
/* #undef LLVM_PATH_XDOT_PY */
/* Installation prefix directory */
#define LLVM_PREFIX "C:/Program Files (x86)/LLVM"
/* Define if we have the Intel JIT API runtime support library */
/* #undef LLVM_USE_INTEL_JITEVENTS */
/* Define if we have the oprofile JIT-support library */
/* #undef LLVM_USE_OPROFILE */
/* Major version of the LLVM API */
#define LLVM_VERSION_MAJOR 3
/* Minor version of the LLVM API */
#define LLVM_VERSION_MINOR 3
/* Define to 1 if you have the <sanitizer/msan_interface.h> header file. */
/* #undef HAVE_SANITIZER_MSAN_INTERFACE_H */
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,203 @@
/*===-- include/Support/DataTypes.h - Define fixed size types -----*- C -*-===*\
|* *|
|* The LLVM Compiler Infrastructure *|
|* *|
|* This file is distributed under the University of Illinois Open Source *|
|* License. See LICENSE.TXT for details. *|
|* *|
|*===----------------------------------------------------------------------===*|
|* *|
|* This file contains definitions to figure out the size of _HOST_ data types.*|
|* This file is important because different host OS's define different macros,*|
|* which makes portability tough. This file exports the following *|
|* definitions: *|
|* *|
|* [u]int(32|64)_t : typedefs for signed and unsigned 32/64 bit system types*|
|* [U]INT(8|16|32|64)_(MIN|MAX) : Constants for the min and max values. *|
|* *|
|* No library is required when using these functions. *|
|* *|
|*===----------------------------------------------------------------------===*/
/* Please leave this file C-compatible. */
/* Please keep this file in sync with DataTypes.h.in */
#ifndef SUPPORT_DATATYPES_H
#define SUPPORT_DATATYPES_H
#define HAVE_SYS_TYPES_H 1
/* #undef HAVE_INTTYPES_H */
#define HAVE_STDINT_H 1
#define HAVE_UINT64_T 1
/* #undef HAVE_U_INT64_T */
#ifdef __cplusplus
#include <cmath>
#else
#include <math.h>
#endif
#ifndef _MSC_VER
/* Note that this header's correct operation depends on __STDC_LIMIT_MACROS
being defined. We would define it here, but in order to prevent Bad Things
happening when system headers or C++ STL headers include stdint.h before we
define it here, we define it on the g++ command line (in Makefile.rules). */
#if !defined(__STDC_LIMIT_MACROS)
# error "Must #define __STDC_LIMIT_MACROS before #including Support/DataTypes.h"
#endif
#if !defined(__STDC_CONSTANT_MACROS)
# error "Must #define __STDC_CONSTANT_MACROS before " \
"#including Support/DataTypes.h"
#endif
/* Note that <inttypes.h> includes <stdint.h>, if this is a C99 system. */
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_INTTYPES_H
#include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
#include <stdint.h>
#endif
#ifdef _AIX
#include "llvm/Support/AIXDataTypesFix.h"
#endif
/* Handle incorrect definition of uint64_t as u_int64_t */
#ifndef HAVE_UINT64_T
#ifdef HAVE_U_INT64_T
typedef u_int64_t uint64_t;
#else
# error "Don't have a definition for uint64_t on this platform"
#endif
#endif
#else /* _MSC_VER */
/* Visual C++ doesn't provide standard integer headers, but it does provide
built-in data types. */
#ifdef HAVE_STDINT_H
#include <stdint.h>
#endif
#include <stdlib.h>
#include <stddef.h>
#include <sys/types.h>
#ifdef __cplusplus
#include <cmath>
#else
#include <math.h>
#endif
typedef __int64 int64_t;
typedef unsigned __int64 uint64_t;
typedef signed int int32_t;
typedef unsigned int uint32_t;
typedef short int16_t;
typedef unsigned short uint16_t;
typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef signed int ssize_t;
#ifndef INT8_MAX
# define INT8_MAX 127
#endif
#ifndef INT8_MIN
# define INT8_MIN -128
#endif
#ifndef UINT8_MAX
# define UINT8_MAX 255
#endif
#ifndef INT16_MAX
# define INT16_MAX 32767
#endif
#ifndef INT16_MIN
# define INT16_MIN -32768
#endif
#ifndef UINT16_MAX
# define UINT16_MAX 65535
#endif
#ifndef INT32_MAX
# define INT32_MAX 2147483647
#endif
#ifndef INT32_MIN
/* MSC treats -2147483648 as -(2147483648U). */
# define INT32_MIN (-INT32_MAX - 1)
#endif
#ifndef UINT32_MAX
# define UINT32_MAX 4294967295U
#endif
/* Certain compatibility updates to VC++ introduce the `cstdint'
* header, which defines the INT*_C macros. On default installs they
* are absent. */
#ifndef INT8_C
# define INT8_C(C) C##i8
#endif
#ifndef UINT8_C
# define UINT8_C(C) C##ui8
#endif
#ifndef INT16_C
# define INT16_C(C) C##i16
#endif
#ifndef UINT16_C
# define UINT16_C(C) C##ui16
#endif
#ifndef INT32_C
# define INT32_C(C) C##i32
#endif
#ifndef UINT32_C
# define UINT32_C(C) C##ui32
#endif
#ifndef INT64_C
# define INT64_C(C) C##i64
#endif
#ifndef UINT64_C
# define UINT64_C(C) C##ui64
#endif
#ifndef PRId64
# define PRId64 "I64d"
#endif
#ifndef PRIi64
# define PRIi64 "I64i"
#endif
#ifndef PRIo64
# define PRIo64 "I64o"
#endif
#ifndef PRIu64
# define PRIu64 "I64u"
#endif
#ifndef PRIx64
# define PRIx64 "I64x"
#endif
#ifndef PRIX64
# define PRIX64 "I64X"
#endif
#endif /* _MSC_VER */
/* Set defaults for constants which we cannot find. */
#if !defined(INT64_MAX)
# define INT64_MAX 9223372036854775807LL
#endif
#if !defined(INT64_MIN)
# define INT64_MIN ((-INT64_MAX)-1)
#endif
#if !defined(UINT64_MAX)
# define UINT64_MAX 0xffffffffffffffffULL
#endif
#if __GNUC__ > 3
#define END_WITH_NULL __attribute__((sentinel))
#else
#define END_WITH_NULL
#endif
#ifndef HUGE_VALF
#define HUGE_VALF (float)HUGE_VAL
#endif
#endif /* SUPPORT_DATATYPES_H */