1/* This testcase is part of GDB, the GNU debugger.
2
3   Copyright 1998, 1999, 2004, 2007 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   */
18
19template<class T> T add3(T v1, T v2)
20{
21   T v3;
22   v3 = v1;
23   v3 += v2;
24   return v3;
25}
26
27template<class T> T add4(T v1, T v2)
28{
29   T v3;
30   v3 = v1;
31   v3 += v2;
32   return v3;
33}
34
35void subr3()
36{
37  unsigned char c;
38  int i;
39  float f;
40
41  c = 'b';
42  i = 3;
43  f = 6.5;
44
45  c = add3(c, c);
46  i = add3(i, i);
47  f = add3(f, f);
48  c = add4(c, c);
49  i = add4(i, i);
50  f = add4(f, f);
51}
52