diff mbox

[Ada] Overflow in internal compiler tables

Message ID 20160418103553.GA59228@adacore.com
State New
Headers show

Commit Message

Arnaud Charlet April 18, 2016, 10:35 a.m. UTC
When compiling sources with many imported units, some tables internal to
the compiler may overflow, for example the dependency table. This patch
increase the maximum size of these internal table to a value that will
never be reached.

Tested on x86_64-pc-linux-gnu, committed on trunk

2016-04-18  Vincent Celier  <celier@adacore.com>

	* ali.ads: Increase the range of all _Id types to 100 millions.
diff mbox

Patch

Index: ali.ads
===================================================================
--- ali.ads	(revision 235093)
+++ ali.ads	(working copy)
@@ -42,32 +42,28 @@ 
    -- Id Types --
    --------------
 
-   --  The various entries are stored in tables with distinct subscript ranges.
-   --  The following type definitions show the ranges used for the subscripts
-   --  (Id values) for the various tables.
-
-   type ALI_Id is range 0 .. 999_999;
+   type ALI_Id is range 0 .. 99_999_999;
    --  Id values used for ALIs table entries
 
-   type Unit_Id is range 1_000_000 .. 1_999_999;
+   type Unit_Id is range 0 .. 99_999_999;
    --  Id values used for Unit table entries
 
-   type With_Id is range 2_000_000 .. 2_999_999;
+   type With_Id is range 0 .. 99_999_999;
    --  Id values used for Withs table entries
 
-   type Arg_Id is range 3_000_000 .. 3_999_999;
+   type Arg_Id is range 0 .. 99_999_999;
    --  Id values used for argument table entries
 
-   type Sdep_Id is range 4_000_000 .. 4_999_999;
+   type Sdep_Id is range 0 .. 99_999_999;
    --  Id values used for Sdep table entries
 
-   type Source_Id is range 5_000_000 .. 5_999_999;
+   type Source_Id is range 0 .. 99_999_999;
    --  Id values used for Source table entries
 
-   type Interrupt_State_Id is range 6_000_000 .. 6_999_999;
+   type Interrupt_State_Id is range 0 .. 99_999_999;
    --  Id values used for Interrupt_State table entries
 
-   type Priority_Specific_Dispatching_Id is range 7_000_000 .. 7_999_999;
+   type Priority_Specific_Dispatching_Id is range 0 .. 99_999_999;
    --  Id values used for Priority_Specific_Dispatching table entries
 
    --------------------