1// { dg-do run }
2
3// Copyright (C) 2001 Free Software Foundation, Inc.
4// Contributed by Nathan Sidwell 20 Dec 2001 <nathan@nathan@codesourcery.com>
5
6// PR 160. Wrong code emitted for some reference initializers.
7
8void Foo ()
9{
10}
11
12int fail;
13
14class C
15{
16  public:
17  int m;
18  int &r;
19
20  C () ;
21};
22
23C::C ()
24  : m (1), r ((Foo (), m))
25{
26  m = 10;
27
28  if (r != m)
29    fail = 1;
30  else if (&m != &r)
31    fail = 2;
32}
33int main ()
34{
35  int m (1);
36  int &r ((Foo (),m));
37
38  m = 10;
39  if (r != m)
40    fail = 3;
41  else if (&r != &m)
42    fail = 4;
43
44  if (!fail)
45    {
46      C c;
47    }
48  return fail;
49}
50