expr.c (ffeexpr_token_arguments_): Make sure outer exprstack isn't null.
authorCraig Burley <burley@gnu.org>
Sun, 22 Feb 1998 19:39:08 +0000 (14:39 -0500)
committerJeff Law <law@gcc.gnu.org>
Sun, 22 Feb 1998 19:39:08 +0000 (12:39 -0700)
* expr.c (ffeexpr_token_arguments_): Make sure
outer exprstack isn't null.

From-SVN: r18190

gcc/f/ChangeLog
gcc/f/expr.c
gcc/f/news.texi

index 8ddfeb52183b545a81bc3669bd040d7f53d8769f..94031d87ed3060bb5d2522a66c980bf381cd6bb0 100644 (file)
@@ -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 Feb 20 10:11:20 1998  Craig Burley  <burley@gnu.org>
 
        * Make-lang.in (f77.install-info): Fix typo in script.
index 4d618db23b3f788179d6a4d584bd2459b7743979..8dbab2f3099a627883ad6c71223d9c21b4ef27e5 100644 (file)
@@ -18540,6 +18540,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)
index 3b9ece36f54706663fc100c6537828358a4e0f5b..2853dfd13d1551a40aa9802f9cb4620aec5bc510 100644 (file)
@@ -27,6 +27,10 @@ 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
 Improve diagnostic messages from @code{libf2c}
 so it is more likely that the printing of the
@@ -47,6 +51,7 @@ is a constant.
 This provides a cleaner run-time diagnostic as provided
 by @code{libf2c} for statements like @samp{PRINT '(I1', 42}.
 
+@item
 Fix @code{SIGNAL} intrinsic so it offers portable
 support for 64-bit systems (such as Digital Alphas
 running GNU/Linux).