[clang] [clang-repl] Set up executor implicitly to account for init PTUs (PR #84758)

Jonas Hahnfeld via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 11 13:02:57 PDT 2024


Stefan =?utf-8?q?Gränitz?= <stefan.graenitz at gmail.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/84758 at github.com>


================
@@ -14,7 +14,7 @@ struct A { int a; A(int a) : a(a) {} virtual ~A(); };
 // PartialTranslationUnit.
 inline A::~A() { printf("~A(%d)\n", a); }
 
-// Create one instance with new and delete it.
+// Create one instance with new and delete it. We crash here now:
 A *a1 = new A(1);
----------------
hahnjo wrote:

Do we even have initial PTUs in the default case? Also the minimal reproducer shows a more general version where the `virtual` destructor is actually defined inline (c861d32d7c2791bdc058d9d9fbaecc1c2f07b8c7 addresses the case where it is out-of-line, which is special due to key `virtual` functions). So if that breaks entirely (which is critical for us), I'm personally not ok with just `XFAIL`ing it to land another change...

https://github.com/llvm/llvm-project/pull/84758


More information about the cfe-commits mailing list