+2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/48216
+ * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
+
2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (components_to_record): Add REORDER parameter,
{
const bool expr_global_p = Is_Public (gnat_entity) || global_bindings_p ();
bool expr_variable_p, use_variable;
- tree gnu_decl;
/* In most cases, we won't see a naked FIELD_DECL because a discriminant
reference will have been replaced with a COMPONENT_REF when the type
/* Now create it, possibly only for debugging purposes. */
if (use_variable || need_debug)
- gnu_decl
- = create_var_decl (create_concat_name (gnat_entity,
- IDENTIFIER_POINTER (gnu_name)),
- NULL_TREE, TREE_TYPE (gnu_expr), gnu_expr,
- !need_debug, Is_Public (gnat_entity),
- !definition, expr_global_p, NULL, gnat_entity);
-
- if (use_variable)
- return gnu_decl;
+ {
+ tree gnu_decl
+ = create_var_decl (create_concat_name (gnat_entity,
+ IDENTIFIER_POINTER (gnu_name)),
+ NULL_TREE, TREE_TYPE (gnu_expr), gnu_expr,
+ !need_debug, Is_Public (gnat_entity),
+ !definition, expr_global_p, NULL, gnat_entity);
+
+ if (use_variable)
+ return gnu_decl;
+ }
return expr_variable_p ? gnat_save_expr (gnu_expr) : gnu_expr;
}