This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Tested under i686-linux, committed on mainline. The background here is that in GCC 2.8.1, sizes were computed in bits by the back end in 32 bits and undetected overflows caused various difficulties including ACVC test failures. So we installed a check that no local array was longer than 16 megabytes. This solved the problem at the expense of introducing a pretty serious restriction. With GCC 3, the back end now handles things correctly, and so this patch removes all remaining vestiges of the unnecessary length check when using the GCC 3 back end. The following program should execute to completion: with Text_IO; procedure Test_Stack is procedure Stack_Pumpe (n : Integer) is s : Integer := n * 1_048_576; x : String(1 .. s); begin x := (others => 'A'); Text_IO.Put_Line(Integer'Image(n)); end Stack_Pumpe; begin for i in 1 .. 24 loop Stack_Pumpe(i); end loop; end Test_Stack; 2005-03-17 Robert Dewar <dewar@adacore.com> * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC 3, since we now expect GCC 3 to do all the work.
Attachment:
difs.4
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |