1/* This testcase is part of GDB, the GNU debugger.
2
3   Copyright 2012-2023 Free Software Foundation, Inc.
4
5   This program is free software; you can redistribute it and/or modify
6   it under the terms of the GNU General Public License as published by
7   the Free Software Foundation; either version 3 of the License, or
8   (at your option) any later version.
9
10   This program is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   GNU General Public License for more details.
14
15   You should have received a copy of the GNU General Public License
16   along with this program.  If not, see  <http://www.gnu.org/licenses/>.  */
17
18class A {
19 public:
20  virtual ~A() { }
21};
22
23class B : public A {
24 public:
25  virtual ~B() { }
26
27  int i;
28  char c;
29};
30
31typedef int *int_ptr;
32
33int
34func (const A &a)
35{
36  int val = 10;
37  int &int_ref = val;
38  int_ptr ptr = &val;
39  int_ptr &int_ptr_ref = ptr;
40  B b;
41
42  b.i = 10;
43  b.c = 'a';
44
45  return 0; /* Break here.  */
46}
47
48int
49main ()
50{
51  A obj;
52  return func (obj);
53}
54