From 8b6b67238e3e73dc8f0e903ca7a73ae62acb8474 Mon Sep 17 00:00:00 2001
From: Pekka Jaaskelainen <pekka.jaaskelainen@tut.fi>
Date: Thu, 23 Jan 2014 16:21:02 +0000
Subject: [PATCH] Allow clang to compile the "extern" storage class in OpenCL
 1.2.

Patch from Fraser Cormack!



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199906 91177308-0d34-0410-b5e6-96231b3b80d8
---
 lib/Sema/SemaDecl.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 949526b3edf..4b82dd35aa1 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -8541,7 +8541,7 @@ void Sema::ActOnUninitializedDecl(Decl *RealDecl,
     // be initialized.
     if (!Var->isInvalidDecl() &&
         Var->getType().getAddressSpace() == LangAS::opencl_constant &&
-        !Var->getInit()) {
+        Var->getStorageClass() != SC_Extern && !Var->getInit()) {
       Diag(Var->getLocation(), diag::err_opencl_constant_no_init);
       Var->setInvalidDecl();
       return;
-- 
GitLab