[PATCH][OpenCL] Check that kernel returns void type

Richard Smith richard at metafoo.co.uk
Tue Jan 29 16:14:46 PST 2013


--- lib/Sema/SemaDecl.cpp	(revision 173469)
+++ lib/Sema/SemaDecl.cpp	(working copy)
@@ -6178,7 +6178,15 @@
       Diag(D.getIdentifierLoc(), diag::err_static_kernel);
       D.setInvalidType();
     }
-
+
+    // OpenCL v1.2, s6.9 -- Kernels can only have return type void.
+    if (!NewFD->getResultType()->isVoidType() &&
+        !NewFD->getAttr<SectionAttr>()) {

Use hasAttr<SectionAttr> not getAttr<SectionAttr>. Also, test coverage
for this half of the check would be useful.

On Tue, Jan 29, 2013 at 3:50 PM, Tanya Lattner <lattner at apple.com> wrote:
> Sending this patch for review. I made some changes to it based upon previous feedback. This is a simple error check to see if the kernel returns void type.
>
> Thanks,
> Tanya
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>



More information about the cfe-commits mailing list