clang: lib/Basic/Attributes.cpp File Reference (original) (raw)
#include "[clang/Basic/Attributes.h](Attributes%5F8h%5Fsource.html)"
#include "[clang/Basic/AttrSubjectMatchRules.h](AttrSubjectMatchRules%5F8h%5Fsource.html)"
#include "[clang/Basic/IdentifierTable.h](IdentifierTable%5F8h%5Fsource.html)"
#include "[clang/Basic/LangOptions.h](LangOptions%5F8h%5Fsource.html)"
#include "[clang/Basic/ParsedAttrInfo.h](ParsedAttrInfo%5F8h%5Fsource.html)"
#include "[clang/Basic/TargetInfo.h](include%5F2clang%5F2Basic%5F2TargetInfo%5F8h%5Fsource.html)"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringSwitch.h"
#include "clang/Basic/AttrHasAttributeImpl.inc"
#include "clang/Basic/AttrSubMatchRulesList.inc"
#include "clang/Sema/AttrParsedAttrKinds.inc"
#include "clang/Sema/AttrSpellingListIndex.inc"
Go to the source code of this file.
Functions | |
---|---|
static int | hasAttributeImpl (AttributeCommonInfo::Syntax Syntax, StringRef Name, StringRef ScopeName, const TargetInfo &Target, const LangOptions &LangOpts) |
static StringRef | normalizeAttrScopeName (const IdentifierInfo *Scope, AttributeCommonInfo::Syntax SyntaxUsed) |
static StringRef | normalizeAttrName (const IdentifierInfo *Name, StringRef NormalizedScopeName, AttributeCommonInfo::Syntax SyntaxUsed) |
static SmallString< 64 > | normalizeName (const IdentifierInfo *Name, const IdentifierInfo *Scope, AttributeCommonInfo::Syntax SyntaxUsed) |
static AttributeCommonInfo::Scope | getScopeFromNormalizedScopeName (StringRef ScopeName) |
◆ ATTR_MATCH_RULE
| #define ATTR_MATCH_RULE | ( | | NAME, | | ------------------------- | - | | ----- | | | SPELLING, | | | | | | IsAbstract | | | | | ) | | | |
Value:
case attr::NAME: \
return SPELLING;
◆ getScopeFromNormalizedScopeName()
◆ hasAttributeImpl()
◆ normalizeAttrName()
Definition at line 101 of file Attributes.cpp.
References clang::AttributeCommonInfo::AS_C23, clang::AttributeCommonInfo::AS_CXX11, and clang::AttributeCommonInfo::AS_GNU.
Referenced by attributeAcceptsExprPack(), attributeHasIdentifierArg(), attributeHasStrictIdentifierArgs(), attributeHasVariadicIdentifierArg(), attributeIsTypeArgAttr(), attributeParsedArgsUnevaluated(), attributeStringLiteralListArg(), attributeTreatsKeywordThisAsIdentifier(), IsAttributeLateParsedExperimentalExt(), IsAttributeLateParsedStandard(), and normalizeName().