diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2011-03-21 18:19:47 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2011-03-21 18:19:47 +0000 |
commit | bf7eefab5fd7d5dd51e175b6770c471762d2ed9e (patch) | |
tree | 0e6cf29443d852053f8e92f0211df22c6a1add02 /gcc/ada/gcc-interface/decl.c | |
parent | 31408f60e99e80c891e4f0356abeacf58c86f999 (diff) | |
download | gcc-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.c | 21 |
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; } |