1 /* This testcase is part of GDB, the GNU debugger.
3 Copyright 2008, 2009, 2010 Free Software Foundation, Inc.
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.
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.
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/>. */
53 SSS (int x
, const S
& r
);
57 SSS::SSS (int x
, const S
& r
) : a(x
), b(r
) { }
71 class Vbase1
: public virtual VirtualTest
{ };
72 class Vbase2
: public virtual VirtualTest
{ };
73 class Vbase3
: public virtual VirtualTest
{ };
75 class Derived
: public Vbase1
, public Vbase2
, public Vbase3
100 substruct_test (void)
102 struct outerstruct outer
;
107 outer
.s
.a
= 3; /* MI outer breakpoint here */
112 typedef struct string_repr
116 const char *contents
;
120 /* This lets us avoid malloc. */
130 typedef struct container zzz_type
;
133 make_string (const char *s
)
136 result
.whybother
.contents
= s
;
141 make_container (const char *s
)
145 result
.name
= make_string (s
);
153 add_item (zzz_type
*c
, int val
)
157 c
->elements
[c
->len
] = val
;
161 void init_s(struct s
*s
, int a
)
167 void init_ss(struct ss
*s
, int a
, int b
)
173 void do_nothing(void)
177 c
= 23; /* Another MI breakpoint */
185 struct string_repr string_1
= { { "one" } };
186 struct string_repr string_2
= { { "two" } };
193 string x
= make_string ("this is x");
194 zzz_type c
= make_container ("container");
195 zzz_type c2
= make_container ("container2");
196 const struct string_repr cstring
= { { "const string" } };
197 /* Clearing by being `static' could invoke an other GDB C++ bug. */
198 struct nullstr nullstr
;
202 init_ss(ssa
+0, 3, 4);
203 init_ss(ssa
+1, 5, 6);
204 memset (&nullstr
, 0, sizeof nullstr
);
207 ns
.null_str
= "embedded\0null\0string";
210 struct lazystring estring
;
211 estring
.lazy_str
= "embedded x\201\202\203\204" ;
225 init_s(&cpssa
[0].s
, 12);
227 init_s(&cpssa
[1].s
, 14);
237 add_item (&c
, 23); /* MI breakpoint here */
242 c
.elements
[0] = 1023;
243 c
.elements
[0] = 2323;
245 add_item (&c2
, 2222);
246 add_item (&c2
, 3333);
252 return 0; /* break to inspect struct and union */
This page took 0.061544 seconds and 5 git commands to generate.