* trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
* utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
From-SVN: r84742
+Wed Jul 14 23:16:59 2004 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * trans.c (add_decl_expr): Clear TREE_READONLY if clear DECL_INITIAL.
+ * utils.c (unchecked_convert): Don't do two VIEW_CONVERT_EXPRs.
+
2004-07-14 Andreas Schwab <schwab@suse.de>
* trans.c (gnat_init_stmt_group): Remove duplicate definition.
gnu_lhs, DECL_INITIAL (gnu_decl));
DECL_INITIAL (gnu_decl) = 0;
+ TREE_READONLY (gnu_decl) = 0;
annotate_with_locus (gnu_assign_stmt,
DECL_SOURCE_LOCATION (gnu_decl));
add_stmt (gnu_assign_stmt);
else
{
expr = maybe_unconstrained_array (expr);
+
+ /* There's no point in doing two unchecked conversions in a row. */
+ if (TREE_CODE (expr) == VIEW_CONVERT_EXPR)
+ expr = TREE_OPERAND (expr, 0);
+
etype = TREE_TYPE (expr);
expr = build1 (VIEW_CONVERT_EXPR, type, expr);
}