• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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