Commit | Line | Data |
---|---|---|
e831e7b6 GM |
1 | /* This test script is part of GDB, the GNU debugger. |
2 | ||
8acc9f48 | 3 | Copyright 2007-2013 Free Software Foundation, Inc. |
e831e7b6 GM |
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 | |
d53a7b30 | 7 | the Free Software Foundation; either version 3 of the License, or |
e831e7b6 GM |
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. | |
e831e7b6 | 14 | |
d53a7b30 JB |
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/>. */ | |
e831e7b6 GM |
17 | |
18 | typedef struct { | |
19 | char *_m2_contents; | |
20 | int _m2_high; | |
21 | } unbounded; | |
22 | ||
23 | ||
24 | static int | |
25 | foo (unbounded a) | |
26 | { | |
27 | if (a._m2_contents[3] == 'd') | |
28 | return 0; | |
29 | else | |
30 | return 1; | |
31 | } | |
32 | ||
33 | ||
34 | main () | |
35 | { | |
36 | unbounded t; | |
37 | char data[6]; | |
38 | char *input = "abcde"; | |
39 | int i; | |
40 | ||
41 | t._m2_contents = (char *)&data; | |
42 | t._m2_high = 4; | |
43 | /* include the <nul> in the string, even though high is set to 4. */ | |
44 | ||
45 | for (i=0; i<6; i++) | |
46 | data[i] = input[i]; | |
47 | return foo (t); | |
48 | } |