2018-11-07 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / g++.dg / other / init2.C
blob0b85aa67d0ac03396e7f2109c39f93efd79d0004
1 // { dg-do run }
3 // Copyright (C) 2001 Free Software Foundation, Inc.
4 // Contributed by Nathan Sidwell 20 Dec 2001 <nathan@nathan@codesourcery.com>
6 // PR 160. Wrong code emitted for some reference initializers.
8 void Foo ()
12 int fail;
14 class C
16   public:
17   int m;
18   int &r;
19   
20   C () ;
23 C::C ()
24   : m (1), r ((Foo (), m))
26   m = 10;
27   
28   if (r != m)
29     fail = 1;
30   else if (&m != &r)
31     fail = 2;
33 int main ()
35   int m (1);
36   int &r ((Foo (),m));
38   m = 10;
39   if (r != m)
40     fail = 3;
41   else if (&r != &m)
42     fail = 4;
44   if (!fail)
45     {
46       C c;
47     }
48   return fail;