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().

normalizeAttrScopeName()

normalizeName()