Can you add test cases here (at least for the 'mode' attribute)?
On Wed, Aug 28, 2013 at 4:13 PM, Aaron Ballman <[email protected]>wrote: > 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 >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
