diff options
-rw-r--r-- | Sema/SemaDecl.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp index f5115dbaab..c53ca42efb 100644 --- a/Sema/SemaDecl.cpp +++ b/Sema/SemaDecl.cpp @@ -1653,14 +1653,8 @@ void Sema::HandleDeclAttribute(Decl *New, AttributeList *rawAttr) { const char *attrName = rawAttr->getAttributeName()->getName(); unsigned attrLen = rawAttr->getAttributeName()->getLength(); - // Normalize the attribute name, __foo__ becomes foo. - if (attrLen > 4 && attrName[0] == '_' && attrName[1] == '_' && - attrName[attrLen - 2] == '_' && attrName[attrLen - 1] == '-') { - attrName += 2; - attrLen -= 4; - } - - if (attrLen == 11 && !memcmp(attrName, "vector_size", 11)) { + if (!strcmp(rawAttr->getAttributeName()->getName(), "vector_size") || + !strcmp(rawAttr->getAttributeName()->getName(), "__vector_size__")) { if (ValueDecl *vDecl = dyn_cast<ValueDecl>(New)) { QualType newType = HandleVectorTypeAttribute(vDecl->getType(), rawAttr); if (!newType.isNull()) // install the new vector type into the decl @@ -1672,7 +1666,9 @@ void Sema::HandleDeclAttribute(Decl *New, AttributeList *rawAttr) { if (!newType.isNull()) // install the new vector type into the decl tDecl->setUnderlyingType(newType); } - } else if (attrLen == 15 && !memcmp(attrName, "ocu_vector_type", 15)) { + } + if (!strcmp(rawAttr->getAttributeName()->getName(), "ocu_vector_type") || + !strcmp(rawAttr->getAttributeName()->getName(), "__ocu_vector_type__")) { if (TypedefDecl *tDecl = dyn_cast<TypedefDecl>(New)) HandleOCUVectorTypeAttribute(tDecl, rawAttr); else |