From e15c71236252c21a77c8a406246053e1cbb63ffa Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 17 Feb 2012 04:54:50 +0000 Subject: When performing IRGen on a global, emit it as a constant if: 1) It has a const-qualified type, and 2) It has no mutable members, and 3) It has no dynamic initialization, and 4) It has trivial destruction. Remove the unnecessary requirement that the type be POD. This allows us to mark all constexpr objects with no mutable members as 'constant'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150792 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/CodeGenModule.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'lib/CodeGen/CodeGenModule.cpp') diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index c30fe22a67..418b1449d3 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -1110,7 +1110,6 @@ static bool DeclIsConstantGlobal(ASTContext &Context, const VarDecl *D, if (const RecordType *Record = Context.getBaseElementType(D->getType())->getAs()) return ConstantInit && - cast(Record->getDecl())->isPOD() && !cast(Record->getDecl())->hasMutableFields(); } -- cgit v1.2.3-70-g09d2