1/* This testcase is part of GDB, the GNU debugger.
2
3   Copyright 2009-2020 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
18struct s
19{
20  int a;
21  int b;
22};
23
24typedef struct s TS;
25TS ts;
26
27#ifdef __cplusplus
28struct C
29{
30  int c;
31  int d;
32};
33
34struct D : C
35{
36  int e;
37  int f;
38};
39
40template<typename T, int I, int C::*MP>
41struct Temargs
42{
43};
44
45Temargs<D, 23, &C::c> temvar;
46
47#endif
48
49enum E
50{ v1, v2, v3
51};
52
53struct s vec_data_1 = {1, 1};
54struct s vec_data_2 = {1, 2};
55
56int
57main ()
58{
59  int ar[2] = {1,2};
60  struct s st;
61#ifdef __cplusplus
62  C c;
63  c.c = 1;
64  c.d = 2;
65  D d;
66  d.e = 3;
67  d.f = 4;
68#endif
69  enum E e;
70
71  st.a = 3;
72  st.b = 5;
73
74  e = v2;
75
76  return 0;      /* break to inspect struct and array.  */
77}
78