aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/ChangeLog
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2003-12-29 16:16:39 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2003-12-29 16:16:39 +0000
commitb66906a8ff79931bc3d23b9362833b1567c5ac56 (patch)
tree8cc330d809fbbe70f50065f881b684ae3503d29c /gcc/f/ChangeLog
parent68deab91f26e8a5266a8bd9086bbf5129c619c03 (diff)
downloadgcc-b66906a8ff79931bc3d23b9362833b1567c5ac56.zip
gcc-b66906a8ff79931bc3d23b9362833b1567c5ac56.tar.gz
gcc-b66906a8ff79931bc3d23b9362833b1567c5ac56.tar.bz2
re PR fortran/12632 ([g77 only] -fbounds-check ICE)
PR fortran/12632 * fold-const.c (fold) <COND_EXPR>: Don't fold a constant condition, if the type of the selected branch doesn't match its' parent. * com.c (ffecom_subscript_check_): Take as an extra argument the (possibly NULL) decl of the array. Don't create unnecessary tree nodes if the array index is known to be safe at compile-time. If the array index is unsafe, force the array decl into memory to avoid RTL expansion problems. (ffecom_array_ref_): Update calls to ffecom_subscript_check_. (ffecom_char_args_x_): Likewise. * g77.dg/12632.f: New test case. From-SVN: r75203
Diffstat (limited to 'gcc/f/ChangeLog')
-rw-r--r--gcc/f/ChangeLog11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 99a666f..3dcc5628 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,14 @@
+2003-12-29 Roger Sayle <roger@eyesopen.com>
+
+ PR fortran/12632
+ * com.c (ffecom_subscript_check_): Take as an extra argument the
+ (possibly NULL) decl of the array. Don't create unnecessary tree
+ nodes if the array index is known to be safe at compile-time.
+ If the array index is unsafe, force the array decl into memory to
+ avoid RTL expansion problems.
+ (ffecom_array_ref_): Update calls to ffecom_subscript_check_.
+ (ffecom_char_args_x_): Likewise.
+
2003-12-06 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in (G77_CROSS_NAME): Delete.