+2008-02-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/35136
+ * gimplify.c (force_gimple_operand_bsi): Move SSA renaming
+ code from here to...
+ (force_gimple_operand): ...here.
+
2008-02-12 Jakub Jelinek <jakub@redhat.com>
PR c++/35144
pop_gimplify_context (NULL);
+ if (*stmts && gimple_in_ssa_p (cfun))
+ {
+ tree_stmt_iterator tsi;
+
+ for (tsi = tsi_start (*stmts); !tsi_end_p (tsi); tsi_next (&tsi))
+ mark_symbols_for_renaming (tsi_stmt (tsi));
+ }
+
return expr;
}
expr = force_gimple_operand (expr, &stmts, simple_p, var);
if (stmts)
{
- if (gimple_in_ssa_p (cfun))
- {
- tree_stmt_iterator tsi;
-
- for (tsi = tsi_start (stmts); !tsi_end_p (tsi); tsi_next (&tsi))
- mark_symbols_for_renaming (tsi_stmt (tsi));
- }
-
if (before)
bsi_insert_before (bsi, stmts, m);
else
+2008-02-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/loop_address.adb: New test.
+
2008-02-12 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* obj-c++.dg/bitfield-1.mm: Expect failures.
--- /dev/null
+-- { dg-do compile }
+-- { dg-options "-O -gnatws" }
+
+-- PR middle-end/35136
+
+pragma Extend_System(AUX_DEC);
+with System;
+
+procedure Loop_Address is
+
+ function Y(E : Integer) return String is
+ begin
+ return "";
+ end Y;
+
+ function X(C : in System.Address) return String is
+ D : Integer;
+ for D use at C;
+ begin
+ return Y(D);
+ end X;
+
+ A : System.Address;
+ B : String := "";
+
+begin
+ for I in 0..1 loop
+ B := X(System."+"(A, I));
+ end loop;
+end;