summaryrefslogtreecommitdiff
path: root/gcc/ada/urealp.adb
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2007-06-06 12:23:26 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2007-06-06 12:23:26 +0200
commit1c28fe3afee2a7dde65f9aa96560d0170af3aae7 (patch)
treecfb263da79acf0351b12e03edf6c58d335c721a2 /gcc/ada/urealp.adb
parent0a36105d5657dd7126160c5bae2b9b68af63fcff (diff)
downloadgcc-1c28fe3afee2a7dde65f9aa96560d0170af3aae7.tar.gz
sinput.ads, [...] (Unlock): New procedure.
2007-04-20 Robert Dewar <dewar@adacore.com> * sinput.ads, sinput.adb, uintp.ads, urealp.adb, stringt.adb, sem_elim.adb, prj-strt.adb, repinfo.ads, repinfo.adb, namet.ads, elists.ads, elists.adb, lib.ads, lib.adb (Unlock): New procedure. Fix lower bound of tables. Add rep clauses. * nlists.adb: Ditto. (Prev_Node, Next_Node): Change index type to Int so that it properly covers the range First_Node_Id - 1 up. From-SVN: r125391
Diffstat (limited to 'gcc/ada/urealp.adb')
-rw-r--r--gcc/ada/urealp.adb18
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ada/urealp.adb b/gcc/ada/urealp.adb
index 4897bf12dc6..737e4b4e80e 100644
--- a/gcc/ada/urealp.adb
+++ b/gcc/ada/urealp.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2006, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2007, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -57,9 +57,23 @@ package body Urealp is
-- Flag set if value is negative
end record;
+ -- The following representation clause ensures that the above record
+ -- has no holes. We do this so that when instances of this record are
+ -- written by Tree_Gen, we do not write uninitialized values to the file.
+
+ for Ureal_Entry use record
+ Num at 0 range 0 .. 31;
+ Den at 4 range 0 .. 31;
+ Rbase at 8 range 0 .. 31;
+ Negative at 12 range 0 .. 31;
+ end record;
+
+ for Ureal_Entry'Size use 16 * 8;
+ -- This ensures that we did not leave out any fields
+
package Ureals is new Table.Table (
Table_Component_Type => Ureal_Entry,
- Table_Index_Type => Ureal,
+ Table_Index_Type => Ureal'Base,
Table_Low_Bound => Ureal_First_Entry,
Table_Initial => Alloc.Ureals_Initial,
Table_Increment => Alloc.Ureals_Increment,