diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-02-25 10:41:10 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-02-25 10:41:10 +0000 |
| commit | 2cca7b5ca98ae5e273d365b62b9d82ad58a4bada (patch) | |
| tree | 53432ef82a0573d694c3564bb7dfaa1d55652865 /clang/lib/Sema/AttributeList.cpp | |
| parent | 2a986117e9ba4324fb041ba629b2a5fa85ff750e (diff) | |
| download | bcm5719-llvm-2cca7b5ca98ae5e273d365b62b9d82ad58a4bada.tar.gz bcm5719-llvm-2cca7b5ca98ae5e273d365b62b9d82ad58a4bada.zip | |
Accept __has_feature(__feature__) as a synonym for __has_feature(feature) (and
likewise for __has_extension). Patch by Jonathan Sauer!
llvm-svn: 151445
Diffstat (limited to 'clang/lib/Sema/AttributeList.cpp')
| -rw-r--r-- | clang/lib/Sema/AttributeList.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/AttributeList.cpp b/clang/lib/Sema/AttributeList.cpp index a3791dedf73..9b74fc03cef 100644 --- a/clang/lib/Sema/AttributeList.cpp +++ b/clang/lib/Sema/AttributeList.cpp @@ -101,7 +101,8 @@ AttributeList::Kind AttributeList::getKind(const IdentifierInfo *Name) { StringRef AttrName = Name->getName(); // Normalize the attribute name, __foo__ becomes foo. - if (AttrName.startswith("__") && AttrName.endswith("__")) + if (AttrName.startswith("__") && AttrName.endswith("__") && + AttrName.size() >= 4) AttrName = AttrName.substr(2, AttrName.size() - 4); return llvm::StringSwitch<AttributeList::Kind>(AttrName) |

