[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 08:56:34 PDT 2022


tbaeder marked an inline comment as done.
tbaeder added inline comments.


================
Comment at: clang/test/AST/Interp/records.cpp:165
+
+class A : public Base {
+public:
----------------
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


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

https://reviews.llvm.org/D135025



More information about the cfe-commits mailing list