handle __vector_size__ like vector_size
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44358 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/Type.cpp b/AST/Type.cpp
index 02a9004..b0ba353 100644
--- a/AST/Type.cpp
+++ b/AST/Type.cpp
@@ -687,7 +687,7 @@
}
void VectorType::getAsStringInternal(std::string &S) const {
- S += " __attribute__((vector_size(";
+ S += " __attribute__((__vector_size__(";
// FIXME: should multiply by element size somehow.
S += llvm::utostr_32(NumElements*4); // convert back to bytes.
S += ")))";
diff --git a/Sema/SemaDecl.cpp b/Sema/SemaDecl.cpp
index 30505d6..e50fe11 100644
--- a/Sema/SemaDecl.cpp
+++ b/Sema/SemaDecl.cpp
@@ -2470,7 +2470,8 @@
}
void Sema::HandleDeclAttribute(Decl *New, AttributeList *rawAttr) {
- if (strcmp(rawAttr->getAttributeName()->getName(), "vector_size") == 0) {
+ 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
@@ -2483,7 +2484,8 @@
tDecl->setUnderlyingType(newType);
}
}
- if (strcmp(rawAttr->getAttributeName()->getName(), "ocu_vector_type") == 0) {
+ 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