re PR rtl-optimization/14984 (bootstrap binary compare differs for Ada object files on darwin)

2004-04-22  Laurent GUERBY <laurent@guerby.net>

	PR optimization/14984
	PR optimization/14985
	* trans.c (gigi): Fix non determinism leading to bootstrap
	comparison failures.

From-SVN: r81076
This commit is contained in:
Laurent GUERBY 2004-04-23 06:28:52 +00:00 committed by Laurent Guerby
parent bdabb1536f
commit 78bad7752e
2 changed files with 24 additions and 6 deletions

View File

@ -1,3 +1,10 @@
2004-04-22 Laurent GUERBY <laurent@guerby.net>
PR optimization/14984
PR optimization/14985
* trans.c (gigi): Fix non determinism leading to bootstrap
comparison failures.
2004-04-21 Pascal Obry <obry@gnat.com>
* adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])

View File

@ -2112,8 +2112,11 @@ tree_transform (Node_Id gnat_node)
for (gnat_temp = First (Elsif_Parts (gnat_node));
Present (gnat_temp); gnat_temp = Next (gnat_temp))
{
tree gnu_elseif
= build_nt (IF_STMT, gnat_to_gnu (Condition (gnat_temp)),
tree gnu_cond, gnu_elseif;
gnu_cond = gnat_to_gnu (Condition (gnat_temp));
gnu_elseif
= build_nt (IF_STMT, gnu_cond,
build_block_stmt (Then_Statements (gnat_temp)),
NULL_TREE, NULL_TREE);
@ -2123,10 +2126,18 @@ tree_transform (Node_Id gnat_node)
gnu_result = gnu_elseif;
}
gnu_result = build_nt (IF_STMT, gnat_to_gnu (Condition (gnat_node)),
build_block_stmt (Then_Statements (gnat_node)),
nreverse (gnu_result),
build_block_stmt (Else_Statements (gnat_node)));
{
tree gnu_cond, then_block, else_block;
gnu_cond = gnat_to_gnu (Condition (gnat_node));
then_block = build_block_stmt (Then_Statements (gnat_node));
else_block = build_block_stmt (Else_Statements (gnat_node));
gnu_result = build_nt (IF_STMT, gnu_cond,
then_block,
nreverse (gnu_result),
else_block);
}
break;
case N_Case_Statement: