diff options
author | Joel Brobecker <brobecker@gnat.com> | 2009-06-23 16:46:11 +0000 |
---|---|---|
committer | Joel Brobecker <brobecker@gnat.com> | 2009-06-23 16:46:11 +0000 |
commit | 8ac055f84919d6e341f50150fca1a9e40079ff5f (patch) | |
tree | 4dfe8368110ef74827636bc226ffa5fca7b299dd /gdb/testsuite/gdb.ada/variant_record_packed_array | |
parent | 284614f01a1f09d24760ca1b605841df4cf378a5 (diff) | |
download | ppe42-binutils-8ac055f84919d6e341f50150fca1a9e40079ff5f.tar.gz ppe42-binutils-8ac055f84919d6e341f50150fca1a9e40079ff5f.zip |
* gdb.ada/variant_record_packed_array: New testcase.
Diffstat (limited to 'gdb/testsuite/gdb.ada/variant_record_packed_array')
3 files changed, 70 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.ada/variant_record_packed_array/foo.adb b/gdb/testsuite/gdb.ada/variant_record_packed_array/foo.adb new file mode 100644 index 0000000000..5e79c4b555 --- /dev/null +++ b/gdb/testsuite/gdb.ada/variant_record_packed_array/foo.adb @@ -0,0 +1,32 @@ +-- Copyright 2009 Free Software Foundation, Inc. +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +with Pck; use Pck; + +procedure Foo is + type Octal is new Integer range 0 .. 7; + type Octal_Array is array (Positive range <>) of Octal; + pragma Pack (Octal_Array); + + type Octal_Buffer (Size : Positive) is record + Buffer : Octal_Array (1 .. Size); + Length : Integer; + end record; + + My_Buffer : Octal_Buffer (Size => 8); +begin + My_Buffer.Buffer := (1, 2, 3, 4, 5, 6, 7, 0); + My_Buffer.Length := My_Buffer.Size; + Do_Nothing (My_Buffer'Address); -- START +end Foo; diff --git a/gdb/testsuite/gdb.ada/variant_record_packed_array/pck.adb b/gdb/testsuite/gdb.ada/variant_record_packed_array/pck.adb new file mode 100644 index 0000000000..5c61075dff --- /dev/null +++ b/gdb/testsuite/gdb.ada/variant_record_packed_array/pck.adb @@ -0,0 +1,20 @@ +-- Copyright 2009 Free Software Foundation, Inc. +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +package body Pck is + procedure Do_Nothing (A : System.Address) is + begin + null; + end Do_Nothing; +end Pck; diff --git a/gdb/testsuite/gdb.ada/variant_record_packed_array/pck.ads b/gdb/testsuite/gdb.ada/variant_record_packed_array/pck.ads new file mode 100644 index 0000000000..2b8c4c5e04 --- /dev/null +++ b/gdb/testsuite/gdb.ada/variant_record_packed_array/pck.ads @@ -0,0 +1,18 @@ +-- Copyright 2009 Free Software Foundation, Inc. +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see <http://www.gnu.org/licenses/>. +with System; +package Pck is + procedure Do_Nothing (A : System.Address); +end Pck; |