[clang] [clang][bytecode] Support virtual bases in C++26 (PR #204289)
Eli Friedman via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 22 14:52:44 PDT 2026
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>,
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>,
Timm =?utf-8?q?Bäder?= <tbaeder at redhat.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/204289 at github.com>
================
@@ -335,8 +335,9 @@ CXXRecordDecl::setBases(CXXBaseSpecifier const * const *Bases,
// In the definition of a constexpr function [...]
// -- if the function is a constructor or destructor,
// its class shall not have any virtual base classes
- data().DefaultedDefaultConstructorIsConstexpr = false;
- data().DefaultedDestructorIsConstexpr = false;
+ data().DefaultedDefaultConstructorIsConstexpr =
----------------
efriedma-quic wrote:
Should this be `if (!C.getLangOpts().CPlusPlus26) data().DefaultedDefaultConstructorIsConstexpr = false;`? I think this might be accidentally re-enabling DefaultedDefaultConstructorIsConstexpr in cases where it should stay disabled. (I'm not sure it's actually a problem given the cases where DefaultedDefaultConstructorIsConstexpr is actually set to false, but it's confusing.)
https://github.com/llvm/llvm-project/pull/204289
More information about the cfe-commits
mailing list