[clang] 0e17372 - Revert "[CodeGen] Keep track of eagerly emitted globals"

Jonas Hahnfeld via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 17 05:22:06 PDT 2023


Author: Jonas Hahnfeld
Date: 2023-08-17T14:21:39+02:00
New Revision: 0e17372b380467ac8339afdec992fbf887a11feb

URL: https://github.com/llvm/llvm-project/commit/0e17372b380467ac8339afdec992fbf887a11feb
DIFF: https://github.com/llvm/llvm-project/commit/0e17372b380467ac8339afdec992fbf887a11feb.diff

LOG: 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 f8dadefd4afc8e1b7b9a1e69a0ba8df051e03328.

Added: 
    

Modified: 
    clang/lib/CodeGen/CodeGenModule.cpp

Removed: 
    clang/test/Interpreter/inline-virtual.cpp


################################################################################
diff  --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp
index 440fb040a43cc5..517af514d9c998 100644
--- a/clang/lib/CodeGen/CodeGenModule.cpp
+++ b/clang/lib/CodeGen/CodeGenModule.cpp
@@ -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;
   }
 

diff  --git a/clang/test/Interpreter/inline-virtual.cpp b/clang/test/Interpreter/inline-virtual.cpp
deleted file mode 100644
index ace7a0a73d82a1..00000000000000
--- a/clang/test/Interpreter/inline-virtual.cpp
+++ /dev/null
@@ -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)


        


More information about the cfe-commits mailing list