Commit 7b119cc6 by Toon Moene Committed by Toon Moene

com.c (ffecom_check_size_overflow_): Add a test so that arrays too large for…

com.c (ffecom_check_size_overflow_): Add a test so that arrays too large for 32-bit byte-offset addressing get caught.

2002-03-23  Toon Moene  <toon@moene.indiv.nluug.nl>

	* com.c (ffecom_check_size_overflow_): Add a test
	so that arrays too large for 32-bit byte-offset
	addressing get caught.
	* news.texi: Document the fixing of this problem.

From-SVN: r51243
parent 64e92a26
2002-03-23 Toon Moene <toon@moene.indiv.nluug.nl>
* com.c (ffecom_check_size_overflow_): Add a test
so that arrays too large for 32-bit byte-offset
addressing get caught.
* news.texi: Document the fixing of this problem.
Sat Mar 23 11:18:17 2002 Andrew Cagney <ac131313@redhat.com> Sat Mar 23 11:18:17 2002 Andrew Cagney <ac131313@redhat.com>
* invoke.texi (Warning Options): Mention -Wswitch-default. * invoke.texi (Warning Options): Mention -Wswitch-default.
......
...@@ -2262,8 +2262,13 @@ ffecom_check_size_overflow_ (ffesymbol s, tree type, bool dummy) ...@@ -2262,8 +2262,13 @@ ffecom_check_size_overflow_ (ffesymbol s, tree type, bool dummy)
if (TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST) if (TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST)
return type; return type;
/* An array is too large if size is negative or the type_size overflows
or its "upper half" is larger than 3 (which would make the signed
byte size and offset computations overflow). */
if ((tree_int_cst_sgn (TYPE_SIZE (type)) < 0) if ((tree_int_cst_sgn (TYPE_SIZE (type)) < 0)
|| (!dummy && TREE_OVERFLOW (TYPE_SIZE (type)))) || (!dummy && (TREE_INT_CST_HIGH (TYPE_SIZE (type)) > 3
|| TREE_OVERFLOW (TYPE_SIZE (type)))))
{ {
ffebad_start (FFEBAD_ARRAY_LARGE); ffebad_start (FFEBAD_ARRAY_LARGE);
ffebad_string (ffesymbol_text (s)); ffebad_string (ffesymbol_text (s));
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
@c in the standalone derivations of this file (e.g. NEWS). @c in the standalone derivations of this file (e.g. NEWS).
@set copyrights-news 1995,1996,1997,1998,1999,2000,2001,2002 @set copyrights-news 1995,1996,1997,1998,1999,2000,2001,2002
@set last-update-news 2002-02-13 @set last-update-news 2002-03-23
@include root.texi @include root.texi
...@@ -157,26 +157,30 @@ The following information was last updated on @value{last-update-news}: ...@@ -157,26 +157,30 @@ The following information was last updated on @value{last-update-news}:
@itemize @bullet @itemize @bullet
@item @item
Problem Reports fixed (in chronological order of submission): Problem Reports fixed (in chronological order of submission):
@enumerate @table @code
@item @item 947
947 Data statement initialization with subscript of kind INTEGER*2 Data statement initialization with subscript of kind INTEGER*2
@item @item 3743
3743 Reference to intrinsic `ISHFT' invalid Reference to intrinsic `ISHFT' invalid
@item @item 3807
3807 Function BESJN(integer,double) problems Function BESJN(integer,double) problems
@item @item 3957
3957 g77 -pipe -xf77-cpp-input sends output to stdout g77 -pipe -xf77-cpp-input sends output to stdout
@item @item 4279
4279 g77 -h" gives bogus output g77 -h" gives bogus output
@item @item 4730
4752 g77 -v -c -xf77-version /dev/null -xnone causes ice ICE on valid input using CALL EXIT(%VAL(...))
@item @item 4752
4885 BACKSPACE example that doesn't work as of gcc/g77-3.0.x g77 -v -c -xf77-version /dev/null -xnone causes ice
@item @item 4885
5122 g77 rejects accepted use of INTEGER*2 as type of DATA statement loop index BACKSPACE example that doesn't work as of gcc/g77-3.0.x
@item @item 5122
5473 ICE on BESJN(integer*8,real) g77 rejects accepted use of INTEGER*2 as type of DATA statement loop index
@end enumerate @item 5397
ICE on compiling source with 540 000 000 REAL array
@item 5473
ICE on BESJN(integer*8,real)
@end table
@item @item
@command{g77} now has its man page generated from the texinfo documentation, @command{g77} now has its man page generated from the texinfo documentation,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment