Revert "[CodeGen] Keep track of eagerly emitted globals"
The added test doesn't work on Windows:
https://lab.llvm.org/buildbot/#/builders/216/builds/25769
This reverts commit f8dadefd4a.
This commit is contained in:
@@ -3658,7 +3658,6 @@ void CodeGenModule::EmitGlobal(GlobalDecl GD) {
|
||||
if (MustBeEmitted(Global) && MayBeEmittedEagerly(Global)) {
|
||||
// Emit the definition if it can't be deferred.
|
||||
EmitGlobalDefinition(GD);
|
||||
addEmittedDeferredDecl(GD);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
// REQUIRES: host-supports-jit
|
||||
// UNSUPPORTED: system-aix
|
||||
// RUN: cat %s | clang-repl | FileCheck %s
|
||||
// RUN: cat %s | clang-repl -Xcc -O2 | FileCheck %s
|
||||
|
||||
extern "C" int printf(const char *, ...);
|
||||
|
||||
struct A { int a; A(int a) : a(a) {} virtual ~A(); };
|
||||
|
||||
// Then define the virtual destructor as inline out-of-line, in a separate
|
||||
// PartialTranslationUnit.
|
||||
inline A::~A() { printf("~A(%d)\n", a); }
|
||||
|
||||
// Create one instance with new and delete it.
|
||||
A *a1 = new A(1);
|
||||
delete a1;
|
||||
// CHECK: ~A(1)
|
||||
|
||||
// Also create one global that will be auto-destructed.
|
||||
A a2(2);
|
||||
// CHECK: ~A(2)
|
||||
Reference in New Issue
Block a user