[PATCH] D135025: [clang][Interp] Support base class constructors

Timm Bäder via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 4 09:41:20 PDT 2022


tbaeder added inline comments.


================
Comment at: clang/test/AST/Interp/records.cpp:165
+
+class A : public Base {
+public:
----------------
tbaeder wrote:
> erichkeane wrote:
> > tbaeder wrote:
> > > erichkeane wrote:
> > > > shafik wrote:
> > > > > How about also testing `private` and `virtual` as well as multiple bases.
> > > > I like the idea of testing virtual bases as well.
> > > How would that work in a constexpr context? I get:
> > > 
> > > ```
> > > array.cpp:48:15: error: constexpr constructor not allowed in class with virtual base class
> > >     constexpr D() : A(17) {}
> > >               ^
> > > array.cpp:45:13: note: virtual base class declared here
> > >   class B : public virtual A {};
> > >             ^~~~~~~~~~~~~~~~
> > > 1 error generated.
> > > ```
> > > 
> > Ah! TIL, thanks!
> Ah, this works: https://godbolt.org/z/ern3Yje9q
Checking this example, I should've tested a lot more non-constexpr stuff I guess.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D135025/new/

https://reviews.llvm.org/D135025



More information about the cfe-commits mailing list