summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Burley <burley@gnu.org>1998-02-22 14:40:45 -0500
committerJeff Law <law@gcc.gnu.org>1998-02-22 12:40:45 -0700
commitffaffba589a38db746b1edaac0d174fe5f1358b0 (patch)
treed182eb4d35f1e309585dd39c3dcafcf2b0298d02
parentde0f25ebe2b07da1530bba20b8b2ead7c30a0ae6 (diff)
downloadgcc-ffaffba589a38db746b1edaac0d174fe5f1358b0.tar.gz
expr.c (ffeexpr_token_arguments_): Make sure outer exprstack isn't null.
* expr.c (ffeexpr_token_arguments_): Make sure outer exprstack isn't null. From-SVN: r18191
-rw-r--r--gcc/f/ChangeLog5
-rw-r--r--gcc/f/expr.c1
-rw-r--r--gcc/f/news.texi5
3 files changed, 11 insertions, 0 deletions
diff --git a/gcc/f/ChangeLog b/gcc/f/ChangeLog
index 174a15ffe82..d52adc71117 100644
--- a/gcc/f/ChangeLog
+++ b/gcc/f/ChangeLog
@@ -1,3 +1,8 @@
+Fri Feb 20 12:45:53 1998 Craig Burley <burley@gnu.org>
+
+ * expr.c (ffeexpr_token_arguments_): Make sure
+ outer exprstack isn't null.
+
Fri Oct 10 13:00:48 1997 Craig Burley <burley@gnu.ai.mit.edu>
* ste.c (ffeste_begin_iterdo_): Fix loop setup so iteration
diff --git a/gcc/f/expr.c b/gcc/f/expr.c
index 8f41f3db721..fe407060932 100644
--- a/gcc/f/expr.c
+++ b/gcc/f/expr.c
@@ -18530,6 +18530,7 @@ ffeexpr_token_arguments_ (ffelexToken ft, ffebld expr, ffelexToken t)
only if next token isn't the close-paren for REAL(me). */
if ((ffeexpr_stack_->previous != NULL)
+ && (ffeexpr_stack_->previous->exprstack != NULL)
&& (ffeexpr_stack_->previous->exprstack->type == FFEEXPR_exprtypeOPERAND_)
&& ((reduced = ffeexpr_stack_->previous->exprstack->u.operand) != NULL)
&& (ffebld_op (reduced) == FFEBLD_opSYMTER)
diff --git a/gcc/f/news.texi b/gcc/f/news.texi
index 3cd7e62f35b..ddc8bdf768e 100644
--- a/gcc/f/news.texi
+++ b/gcc/f/news.texi
@@ -27,6 +27,11 @@ involve a combination of these elements.
@heading In 0.5.22:
@itemize @bullet
@item
+Fix a compiler crash on statements such as
+@samp{PRINT *, (REAL(Z(I)),I=1,2)}, where
+@samp{Z} is @code{DOUBLE COMPLEX}.
+
+@item
Fix @code{g77} version of @code{libf2c} so it no longer
produces a spurious @samp{I/O recursion} diagnostic at run time
when an I/O operation (such as @samp{READ *,I}) is interrupted