From 242ad89a15d5466d166d47978bfff983d40ab511 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 21 Dec 2011 02:55:12 +0000 Subject: C++11 half of r147023: In C++11, additionally eagerly instantiate: - constexpr function template instantiations - variables of reference type - constexpr variables llvm-svn: 147031 --- clang/lib/Sema/SemaDecl.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'clang/lib/Sema/SemaDecl.cpp') diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index ebcdcf58d04..9ae39f1af38 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -6544,8 +6544,7 @@ void Sema::CheckCompleteVariableDeclaration(VarDecl *var) { for (unsigned I = 0, N = Notes.size(); I != N; ++I) Diag(Notes[I].first, Notes[I].second); } - } else if (getLangOptions().CPlusPlus && !Type.isVolatileQualified() && - Type.isConstQualified() && Type->isIntegralOrEnumerationType()) { + } else if (var->isUsableInConstantExpressions()) { // Check whether the initializer of a const variable of integral or // enumeration type is an ICE now, since we can't tell whether it was // initialized by a constant expression if we check later. -- cgit v1.2.3