Author: aaronballman
Date: Wed Aug 28 18:13:26 2013
New Revision: 189532

URL: http://llvm.org/viewvc/llvm-project?rev=189532&view=rev
Log:
Mode is now handled as a non-inheritable attribute, and CUDADevice & CUDAHost 
are now handled as inheritable attributes.  In all three cases, this makes the 
processing behavior more consistent with the declared behavior in Attr.td.

Modified:
    cfe/trunk/lib/Sema/SemaDeclAttr.cpp

Modified: cfe/trunk/lib/Sema/SemaDeclAttr.cpp
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDeclAttr.cpp?rev=189532&r1=189531&r2=189532&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDeclAttr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDeclAttr.cpp Wed Aug 28 18:13:26 2013
@@ -4678,9 +4678,8 @@ static void handleSelectAnyAttr(Sema &S,
 static void ProcessNonInheritableDeclAttr(Sema &S, Scope *scope, Decl *D,
                                           const AttributeList &Attr) {
   switch (Attr.getKind()) {
-  case AttributeList::AT_CUDADevice:  handleDeviceAttr      (S, D, Attr); 
break;
-  case AttributeList::AT_CUDAHost:    handleHostAttr        (S, D, Attr); 
break;
   case AttributeList::AT_Overloadable:handleOverloadableAttr(S, D, Attr); 
break;
+  case AttributeList::AT_Mode:        handleModeAttr        (S, D, Attr); 
break;
   default:
     break;
   }
@@ -4705,8 +4704,7 @@ static void ProcessInheritableDeclAttr(S
     // Ignore these, these are type attributes, handled by
     // ProcessTypeAttributes.
     break;
-  case AttributeList::AT_CUDADevice:
-  case AttributeList::AT_CUDAHost:
+  case AttributeList::AT_Mode:
   case AttributeList::AT_Overloadable:
     // Ignore, this is a non-inheritable attribute, handled
     // by ProcessNonInheritableDeclAttr.
@@ -4743,11 +4741,12 @@ static void ProcessInheritableDeclAttr(S
   case AttributeList::AT_Format:      handleFormatAttr      (S, D, Attr); 
break;
   case AttributeList::AT_FormatArg:   handleFormatArgAttr   (S, D, Attr); 
break;
   case AttributeList::AT_CUDAGlobal:  handleGlobalAttr      (S, D, Attr); 
break;
+  case AttributeList::AT_CUDADevice:  handleDeviceAttr      (S, D, Attr); 
break;
+  case AttributeList::AT_CUDAHost:    handleHostAttr        (S, D, Attr); 
break;
   case AttributeList::AT_GNUInline:   handleGNUInlineAttr   (S, D, Attr); 
break;
   case AttributeList::AT_CUDALaunchBounds:
     handleLaunchBoundsAttr(S, D, Attr);
     break;
-  case AttributeList::AT_Mode:        handleModeAttr        (S, D, Attr); 
break;
   case AttributeList::AT_Malloc:      handleMallocAttr      (S, D, Attr); 
break;
   case AttributeList::AT_MayAlias:    handleMayAliasAttr    (S, D, Attr); 
break;
   case AttributeList::AT_NoCommon:    handleNoCommonAttr    (S, D, Attr); 
break;


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to