handle type attributes when converting types, not when processing decls.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52877 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDeclAttr.cpp b/lib/Sema/SemaDeclAttr.cpp
index 2890531..9f63c93 100644
--- a/lib/Sema/SemaDeclAttr.cpp
+++ b/lib/Sema/SemaDeclAttr.cpp
@@ -78,23 +78,8 @@
       ProcessDeclAttributeList(D, Attrs);
   
   // Finally, apply any attributes on the decl itself.
-  if (const AttributeList *Attrs = PD.getAttributes()) {
+  if (const AttributeList *Attrs = PD.getAttributes())
     ProcessDeclAttributeList(D, Attrs);
-   
-    // If there are any type attributes that were in the declarator, apply them to
-    // its top-level type.
-    // FIXME: we shouldn't allow type attributes here. :(
-    if (ValueDecl *VD = dyn_cast<ValueDecl>(D)) {
-      QualType DT = VD->getType();
-      ProcessTypeAttributes(DT, Attrs);
-      VD->setType(DT);
-    } else if (TypedefDecl *TD = dyn_cast<TypedefDecl>(D)) {
-      QualType DT = TD->getUnderlyingType();
-      ProcessTypeAttributes(DT, Attrs);
-      TD->setUnderlyingType(DT);
-    }
-    // FIXME: field decl?
-  }
 }
 
 /// ProcessDeclAttributeList - Apply all the decl attributes in the specified