]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/g++.dg/cpp1y/pr79393-3.C
trans.c (check_inlining_for_nested_subprog): Quote reserved names.
[thirdparty/gcc.git] / gcc / testsuite / g++.dg / cpp1y / pr79393-3.C
CommitLineData
2bd652d2
NS
1// pr c++/79393
2// { dg-do compile { target c++14 } }
3
4struct A
5{
6 friend class C;
7private:
8 ~A () noexcept (false);
9};
10
11A::~A () noexcept(false) {}
12
13struct B : virtual A
14{
15 // non-virtual, abstract, ignores A
16 ~B ();
17 virtual void abs () = 0;
18};
19
20B::~B () {
a9c697b8 21 throw 1; // { dg-warning "will always call 'terminate'" }
2bd652d2
NS
22}
23
24struct C : virtual A
25{
26 // non-virtual, non-abstract, considers A
27 ~C ();
28 virtual void abs ();
29};
30
31C::~C () {
32 throw 1;
33}
34
35struct D : virtual A
36{
37 // virtual, abstract, considers A
38 virtual ~D ();
39 virtual void abs () = 0;
40};
41
42D::~D () {
43 throw 1;
44}