1 #include "clang/Basic/Attributes.h"
2 #include "clang/Basic/IdentifierTable.h"
3 #include "llvm/ADT/StringSwitch.h"
4 using namespace clang;
5
hasAttribute(AttrSyntax Syntax,const IdentifierInfo * Scope,const IdentifierInfo * Attr,const TargetInfo & Target,const LangOptions & LangOpts)6 int clang::hasAttribute(AttrSyntax Syntax, const IdentifierInfo *Scope,
7 const IdentifierInfo *Attr, const TargetInfo &Target,
8 const LangOptions &LangOpts) {
9 StringRef Name = Attr->getName();
10 // Normalize the attribute name, __foo__ becomes foo.
11 if (Name.size() >= 4 && Name.startswith("__") && Name.endswith("__"))
12 Name = Name.substr(2, Name.size() - 4);
13
14 #include "clang/Basic/AttrHasAttributeImpl.inc"
15
16 return 0;
17 }
18