run copyright.sh for 2011.
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.ada / packed_tagged / comp_bug.adb
CommitLineData
7b6bb8da 1-- Copyright 2008, 2009, 2010, 2011 Free Software Foundation, Inc.\r
f9c11282
JB
2--\r
3-- This program is free software; you can redistribute it and/or modify\r
4-- it under the terms of the GNU General Public License as published by\r
5-- the Free Software Foundation; either version 3 of the License, or\r
6-- (at your option) any later version.\r
7--\r
8-- This program is distributed in the hope that it will be useful,\r
9-- but WITHOUT ANY WARRANTY; without even the implied warranty of\r
10-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
11-- GNU General Public License for more details.\r
12--\r
13-- You should have received a copy of the GNU General Public License\r
14-- along with this program. If not, see <http://www.gnu.org/licenses/>.\r
15\r
16procedure Comp_Bug is\r
17\r
18 type Number_T (Exists : Boolean := False) is\r
19 record\r
20 case Exists is\r
21 when True =>\r
22 Value : Natural range 0 .. 255;\r
23 when False =>\r
24 null;\r
25 end case;\r
26 end record;\r
27 pragma Pack (Number_T);\r
28\r
29 X : Number_T;\r
30 -- brobecker/2007-09-06: At the time when this issue (G904-017) was\r
31 -- reported, the problem only reproduced if the variable was declared\r
32 -- inside a function (in other words, stored on stack). Although\r
33 -- the issue probably still existed when I tried moving this variable\r
34 -- to a package spec, the symptoms inside GDB disappeared.\r
35begin\r
36 X := (Exists => True, Value => 10);\r
37 if X.Exists then -- STOP\r
38 X.Value := X.Value + 1;\r
39 end if;\r
40end Comp_Bug;\r
This page took 0.331391 seconds and 4 git commands to generate.