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 add(T v1, T v2)
20{
21   T v3;
22   v3 = v1;
23   v3 += v2;
24   return v3;
25 }
26
27int main()
28{
29  unsigned char c;
30  int i;
31  float f;
32  extern void add1();
33  extern void subr2();
34  extern void subr3();
35
36  c = 'a';
37  i = 2;
38  f = 4.5;
39
40  c = add(c, c);
41  i = add(i, i);
42  f = add(f, f);
43
44  // marker add1
45  add1();
46  subr2();
47  subr3();
48}
49