aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/decl.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-03-21 18:19:47 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-03-21 18:19:47 +0000
commitbf7eefab5fd7d5dd51e175b6770c471762d2ed9e (patch)
tree0e6cf29443d852053f8e92f0211df22c6a1add02 /gcc/ada/gcc-interface/decl.c
parent31408f60e99e80c891e4f0356abeacf58c86f999 (diff)
downloadgcc-bf7eefab5fd7d5dd51e175b6770c471762d2ed9e.zip
gcc-bf7eefab5fd7d5dd51e175b6770c471762d2ed9e.tar.gz
gcc-bf7eefab5fd7d5dd51e175b6770c471762d2ed9e.tar.bz2
re PR bootstrap/48216 (IRIX 6 Ada bootstrap broken: gnu_decl uninitialized in gcc-interface/decl.c:elaborate_expression_1)
PR bootstrap/48216 * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL. From-SVN: r171254
Diffstat (limited to 'gcc/ada/gcc-interface/decl.c')
-rw-r--r--gcc/ada/gcc-interface/decl.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index ab571ab..2f9b2ec 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -6006,7 +6006,6 @@ elaborate_expression_1 (tree gnu_expr, Entity_Id gnat_entity, tree gnu_name,
{
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
@@ -6071,15 +6070,17 @@ elaborate_expression_1 (tree gnu_expr, Entity_Id gnat_entity, tree gnu_name,
/* 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;
}