parent
af75269882
commit
a2977d2db3
|
@ -1,3 +1,13 @@
|
|||
Fri Oct 10 13:00:48 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* ste.c (ffeste_begin_iterdo_): Fix loop setup so iteration
|
||||
variable is modified only after the #iterations is calculated;
|
||||
otherwise if the iteration variable is aliased to any of the
|
||||
operands in the start, end, or increment expressions, the
|
||||
wrong #iterations might be calculated.
|
||||
|
||||
* com.c (ffecom_save_tree): Fix indentation.
|
||||
|
||||
Mon Sep 29 16:18:21 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
||||
|
||||
* stu.c (ffestu_list_exec_transition_,
|
||||
|
|
|
@ -13293,7 +13293,8 @@ ffecom_return_expr (ffebld expr)
|
|||
/* Do save_expr only if tree is not error_mark_node. */
|
||||
|
||||
#if FFECOM_targetCURRENT == FFECOM_targetGCC
|
||||
tree ffecom_save_tree (tree t)
|
||||
tree
|
||||
ffecom_save_tree (tree t)
|
||||
{
|
||||
return save_expr (t);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
@c The text of this file appears in the file BUGS
|
||||
@c in the G77 distribution, as well as in the G77 manual.
|
||||
|
||||
@c 1997-09-09
|
||||
@c 1997-10-10
|
||||
|
||||
@ifclear NEWSONLY
|
||||
@node News
|
||||
|
@ -24,6 +24,47 @@ diagnostics, internal improvements, and miscellany.
|
|||
This order is not strict---for example, some items
|
||||
involve a combination of these elements.
|
||||
|
||||
@heading In 0.5.22:
|
||||
@itemize @bullet
|
||||
@item
|
||||
Fix code generation for iterative @code{DO} loops that
|
||||
have one or more references to the iteration variable,
|
||||
or to aliases of it, in their control expressions.
|
||||
For example, @samp{DO 10 J=2,J} now is compiled correctly.
|
||||
|
||||
@item
|
||||
Fix a compiler crash involving optimization of
|
||||
certain complicated expressions involving @code{COMPLEX}
|
||||
arithmetic (especially multiplication).
|
||||
|
||||
@item
|
||||
Rename the @code{gcc} keyword @code{restrict} to
|
||||
@code{__restrict__}, to avoid rejecting valid, existing,
|
||||
C programs.
|
||||
Support for @code{restrict} is now more like support
|
||||
for @code{complex}.
|
||||
|
||||
@item
|
||||
Fix @code{DTime} intrinsic so as not to truncate
|
||||
results to integer values (on some systems).
|
||||
|
||||
@item
|
||||
Improve diagnostic messages from @code{libf2c}
|
||||
so it is more likely that the printing of the
|
||||
active format string is limited to the string,
|
||||
with no trailing garbage being printed.
|
||||
|
||||
(Unlike @code{f2c}, @code{g77} does not append
|
||||
a null byte to its compiled form of every
|
||||
format string specified via a @code{FORMAT} statement.
|
||||
However, @code{f2c} would exhibit the problem
|
||||
anyway for a statement like @samp{PRINT '(I)garbage', 1}
|
||||
by printing @samp{(I)garbage} as the format string.)
|
||||
|
||||
@item
|
||||
Upgrade to @code{libf2c} as of 1997-09-23.
|
||||
@end itemize
|
||||
|
||||
@heading In 0.5.21:
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
|
|
@ -395,12 +395,11 @@ ffeste_begin_iterdo_ (ffestw block, tree *xtvar, tree *xtincr,
|
|||
|
||||
/* Do the initial assignment into the DO var. */
|
||||
|
||||
expr = ffecom_modify (void_type_node, tvar, tstart);
|
||||
expand_expr_stmt (expr);
|
||||
tstart = ffecom_save_tree (tstart);
|
||||
|
||||
expr = ffecom_2 (MINUS_EXPR, TREE_TYPE (tvar),
|
||||
tend,
|
||||
TREE_CONSTANT (tstart) ? tstart : tvar);
|
||||
tstart);
|
||||
|
||||
if (!ffe_is_onetrip ())
|
||||
{
|
||||
|
@ -439,6 +438,9 @@ ffeste_begin_iterdo_ (ffestw block, tree *xtvar, tree *xtincr,
|
|||
expr = ffecom_modify (void_type_node, niters, expr);
|
||||
expand_expr_stmt (expr);
|
||||
|
||||
expr = ffecom_modify (void_type_node, tvar, tstart);
|
||||
expand_expr_stmt (expr);
|
||||
|
||||
if (block == NULL)
|
||||
expand_start_loop_continue_elsewhere (0);
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue