[PATCH] D22170: [OpenCL] Fixes opencl.cl testcase issues and cl-strict-aliasing only allowed with cl-std=CL
Aaron En Ye Shi via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 11 10:14:07 PDT 2016
ashi1 marked 4 inline comments as done.
Comment at: lib/Frontend/CompilerInvocation.cpp:1681
@@ -1692,1 +1680,3 @@
+ // -cl-strict-aliasing needs to emit diagnostic in the case where CL > 1.0.
+ // This option should be deprecated for CL > 1.0 because
> Was this code moved intensionally?
Yes this had to be moved intentionally, due to Opts.OpenCLVersion not being correctly set up until after the above function call to CompilerInvocation::setLangDefaults(
Comment at: test/Frontend/opencl-blocks.cl:9
@@ -8,1 +8,3 @@
// RUN: %clang_cc1 %s -triple amdgcn--amdhsa -x c -std=c99 -verify -fsyntax-only
+// RUN: %clang_cc1 -cl-std=CL1.1 -cl-strict-aliasing %s 2>&1 | FileCheck --check-prefix=CHECK-INVALID-OPENCL-VERSION11 %s
+// RUN: %clang_cc1 -cl-std=CL1.2 -cl-strict-aliasing %s 2>&1 | FileCheck --check-prefix=CHECK-INVALID-OPENCL-VERSION12 %s
> Anastasia wrote:
> > yaxunl wrote:
> > > Better separate these tests to another file, e.g. cl-strict-aliasing.cl
> > I think it was right to have this in test/Driver/opencl.cl. Why was it moved in here?
> This is a frontend option and the warning is emitted by frontend, not the driver. The driver does not consume the option. It just passes it to the frontend.
> The driver test is mostly testing whether the option is correctly passed to the compiler invocation by using -###.
should it be called opencl-strict-aliasing.cl or cl-strict-aliasing.cl
More information about the cfe-commits