1 -- Copyright 2018-2022 Free Software Foundation, Inc.
3 -- This program is free software; you can redistribute it and/or modify
4 -- it under the terms of the GNU General Public License as published by
5 -- the Free Software Foundation; either version 3 of the License, or
6 -- (at your option) any later version.
8 -- This program is distributed in the hope that it will be useful,
9 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
10 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 -- GNU General Public License for more details.
13 -- You should have received a copy of the GNU General Public License
14 -- along with this program. If not, see <http://www.gnu.org/licenses/>.
18 with Unchecked_Conversion
;
21 Small
: String := Ident
("1234567890");
22 Larger
: String := Ident
("1234567890|1234567890|1234567890");
24 type String_Ptr
is access all String;
25 type Big_String_Ptr
is access all String (Positive);
28 new Unchecked_Conversion
(System
.Address
, Big_String_Ptr
);
30 Name_Str
: String_Ptr
:= new String'(Larger);
31 Name : Big_String_Ptr := To_Ptr (Name_Str.all'Address);
33 type Table is array (Positive range <>) of Integer;
34 type Object (N : Integer) is record
35 Data : Table (1 .. N);
38 BA : Object := (N => 1_000_000, Data => (others => 0));
45 Do_Nothing (Small'Address); -- STOP
46 Do_Nothing (Larger'Address);
47 Do_Nothing (Name'Address);
48 Do_Nothing (BA'Address);