[PATCH] D16351: [FIX] Bug 25404 - Crash on typedef in OpenCL 2.0

Igor Chesnokov via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 3 22:17:36 PST 2016


ichesnokov marked 3 inline comments as done.

================
Comment at: lib/Sema/SemaDecl.cpp:2039
@@ -2038,1 +2038,3 @@
   
+  // Added isImplicit() check, because implicit TypeDecl::getLocation()
+  // returns 0. The're many implicit typedefs in OpenCL, e.g. atomic_flag.
----------------
Fixed.

================
Comment at: test/SemaOpenCL/implicit-typedef.cl:2
@@ +1,3 @@
+// RUN: %clang_cc1 %s -DTEST_WARNINGS -cl-std=CL2.0 -verify -pedantic -fsyntax-only -Wsystem-headers
+// RUN: %clang_cc1 %s -cl-std=CL2.0 -fsyntax-only
+
----------------
Done.

================
Comment at: test/SemaOpenCL/implicit-typedef.cl:3
@@ +2,3 @@
+// RUN: %clang_cc1 %s -cl-std=CL2.0 -fsyntax-only
+
+#if defined(TEST_WARNINGS)
----------------
Are you mean another text of warning? Notice that actual patch will work not only in OpenCL, but any language. If builtin functions present, it will prevent the crash. The single message "redefinition of typedef 'atomic_flag' is a C11 feature" is default for all targets.
Do you want to have specific warning text for OpenCL?


http://reviews.llvm.org/D16351





More information about the cfe-commits mailing list