1/* This testcase is part of GDB, the GNU debugger.
2
3   Copyright 2020-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{
20private:
21  int m_i;
22
23public:
24  A(int i);
25
26  int get_i () const
27  { return m_i; }
28
29  void set_i (int i)
30  { m_i = i; }
31};
32
33A::A(int i)
34  : m_i (i)
35{ /* Nothing.  */ }
36
37void process (A *obj, int num)
38{
39  obj->set_i (obj->get_i () + num);
40}
41
42int
43main (void)
44{
45  A a(42);
46  process (&a, 2);
47  return a.get_i ();
48}
49