summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.eh/crash2.C
blob: 195b8623ce162ef6e3eac40c31fdec2c9a356a27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// { dg-do assemble  }
// { dg-options "-O" }
// Origin: Thomas Kunert <kunert@physik.tu-dresden.de>

struct C {
    ~C();
};    

struct R {
    bool empty() const;
    C m_;
};

struct R1 {
    R1( const R& a );
  ~R1 ();
    C m_;
};

R1 get_empty();

R1::R1( const R& a ) :
    m_( a.empty() ? get_empty().m_ : C() )
{}

void qnorm( const R & r)
{ R1 n( r ); }