1// { dg-do assemble  }
2// { dg-options "-O" }
3// Origin: Thomas Kunert <kunert@physik.tu-dresden.de>
4
5struct C {
6    ~C();
7};
8
9struct R {
10    bool empty() const;
11    C m_;
12};
13
14struct R1 {
15    R1( const R& a );
16  ~R1 ();
17    C m_;
18};
19
20R1 get_empty();
21
22R1::R1( const R& a ) :
23    m_( a.empty() ? get_empty().m_ : C() )
24{}
25
26void qnorm( const R & r)
27{ R1 n( r ); }
28