[cfe-commits] r110322 - in /cfe/trunk: lib/Frontend/PCHReaderDecl.cpp test/PCH/cxx-required-decls.cpp test/PCH/cxx-required-decls.h

Argyrios Kyrtzidis akyrtzi at gmail.com
Thu Aug 5 02:47:59 PDT 2010


Author: akirtzidis
Date: Thu Aug  5 04:47:59 2010
New Revision: 110322

URL: http://llvm.org/viewvc/llvm-project?rev=110322&view=rev
Log:
Make sure C++ variable definitions are actually passed to the consumer when loaded from PCH.

Modified:
    cfe/trunk/lib/Frontend/PCHReaderDecl.cpp
    cfe/trunk/test/PCH/cxx-required-decls.cpp
    cfe/trunk/test/PCH/cxx-required-decls.h

Modified: cfe/trunk/lib/Frontend/PCHReaderDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/PCHReaderDecl.cpp?rev=110322&r1=110321&r2=110322&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/PCHReaderDecl.cpp (original)
+++ cfe/trunk/lib/Frontend/PCHReaderDecl.cpp Thu Aug  5 04:47:59 2010
@@ -1350,7 +1350,8 @@
   if (isa<FileScopeAsmDecl>(D))
     return true;
   if (VarDecl *Var = dyn_cast<VarDecl>(D))
-    return Var->isFileVarDecl() && Var->getInit();
+    return Var->isFileVarDecl() &&
+           Var->isThisDeclarationADefinition() == VarDecl::Definition;
   if (FunctionDecl *Func = dyn_cast<FunctionDecl>(D))
     return Func->isThisDeclarationADefinition();
   return isa<ObjCProtocolDecl>(D);

Modified: cfe/trunk/test/PCH/cxx-required-decls.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/cxx-required-decls.cpp?rev=110322&r1=110321&r2=110322&view=diff
==============================================================================
--- cfe/trunk/test/PCH/cxx-required-decls.cpp (original)
+++ cfe/trunk/test/PCH/cxx-required-decls.cpp Thu Aug  5 04:47:59 2010
@@ -7,3 +7,4 @@
 
 // CHECK: @_ZL5globS = internal global %struct.S zeroinitializer
 // CHECK: @_ZL3bar = internal global i32 0, align 4
+// CHECK: @glob_var = global i32 0

Modified: cfe/trunk/test/PCH/cxx-required-decls.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/cxx-required-decls.h?rev=110322&r1=110321&r2=110322&view=diff
==============================================================================
--- cfe/trunk/test/PCH/cxx-required-decls.h (original)
+++ cfe/trunk/test/PCH/cxx-required-decls.h Thu Aug  5 04:47:59 2010
@@ -8,3 +8,5 @@
 
 extern int ext_foo;
 static int bar = ++ext_foo;
+
+int glob_var;





More information about the cfe-commits mailing list