aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/utils.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2012-01-27 09:12:14 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2012-01-27 09:12:14 +0000
commit88a94e2bba73b6eeb77d82f5bb18d990d2f63b10 (patch)
treeb54137b4bfdb059897b534bdeface7421eb8f5cc /gcc/ada/gcc-interface/utils.c
parent6b318bf2bfa83bd5bd814cb7bbc15ad282db9f28 (diff)
downloadgcc-88a94e2bba73b6eeb77d82f5bb18d990d2f63b10.zip
gcc-88a94e2bba73b6eeb77d82f5bb18d990d2f63b10.tar.gz
gcc-88a94e2bba73b6eeb77d82f5bb18d990d2f63b10.tar.bz2
gigi.h (create_label_decl): Adjust.
* gcc-interface/gigi.h (create_label_decl): Adjust. * gcc-interface/utils.c (create_label_decl): Add GNAT_NODE parameter and invoke gnat_pushdecl on it. Remove obsolete settings. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Label>: Adjust call to create_label_decl. * gcc-interface/trans.c (gnat_to_gnu) <N_Null): Likewise. Ignore the label for debugging purposes. From-SVN: r183606
Diffstat (limited to 'gcc/ada/gcc-interface/utils.c')
-rw-r--r--gcc/ada/gcc-interface/utils.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/gcc/ada/gcc-interface/utils.c b/gcc/ada/gcc-interface/utils.c
index a71a3d2..ab8ca9d 100644
--- a/gcc/ada/gcc-interface/utils.c
+++ b/gcc/ada/gcc-interface/utils.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 1992-2011, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2012, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -1849,17 +1849,19 @@ potential_alignment_gap (tree prev_field, tree curr_field, tree offset)
return true;
}
-/* Return a LABEL_DECL node for LABEL_NAME. */
+/* Return a LABEL_DECL with LABEL_NAME. GNAT_NODE is used for the position
+ of the decl. */
tree
-create_label_decl (tree label_name)
+create_label_decl (tree label_name, Node_Id gnat_node)
{
- tree label_decl = build_decl (input_location,
- LABEL_DECL, label_name, void_type_node);
+ tree label_decl
+ = build_decl (input_location, LABEL_DECL, label_name, void_type_node);
- DECL_CONTEXT (label_decl) = current_function_decl;
- DECL_MODE (label_decl) = VOIDmode;
- DECL_SOURCE_LOCATION (label_decl) = input_location;
+ DECL_MODE (label_decl) = VOIDmode;
+
+ /* Add this decl to the current binding level. */
+ gnat_pushdecl (label_decl, gnat_node);
return label_decl;
}