aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/gigi.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2013-05-26 09:52:10 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2013-05-26 09:52:10 +0000
commit74746d494b37773e55d43130ed51bba67a337efe (patch)
treefc4098b21c27a360d99df062bc2d7da27cb3cac9 /gcc/ada/gcc-interface/gigi.h
parent0746af5e6219d9dabd84aa865a056e4e8ae27c3d (diff)
downloadgcc-74746d494b37773e55d43130ed51bba67a337efe.zip
gcc-74746d494b37773e55d43130ed51bba67a337efe.tar.gz
gcc-74746d494b37773e55d43130ed51bba67a337efe.tar.bz2
gigi.h (create_type_decl): Adjust prototype.
* gcc-interface/gigi.h (create_type_decl): Adjust prototype. (create_label_decl): Complete prototype. (process_attributes): Declare. * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust multiple calls to create_type_decl throughout. <E_Enumeration_Type>: Do the layout of the type manually and call process_attributes on it. Reindent. <E_Enumeration_Subtype>: Minor tweak. <E_Floating_Point_Subtype>: Reindent. <E_Array_Subtype>: Call process_attributes on the array type built for a packed array type. <E_Record_Type>: Call process_attributes on the type. <E_Record_Subtype>: Likewise. <E_Access_Type>: Likewise. <E_Subprogram_Type>: Likewise. Likewise for all types at the end of the processing. * gcc-interface/utils.c (make_aligning_type): Adjust call to create_type_decl. (maybe_pad_type): Likewise. (create_index_type): Likewise. (create_type_decl): Remove attr_list parameter and associated code. (create_var_decl_1): Call process_attributes on the variable. (process_attributes): Take a pointer to the object and add in_place and gnat_node parameters and adjust throughout. <ATTR_MACHINE_ATTRIBUTE>: Pass ATTR_FLAG_TYPE_IN_PLACE only on demand and set the input location. Zap the attribute list at the end. (create_subprog_decl): Call process_attributes on the subprogram. (build_unc_object_type): Adjust call to create_type_decl. (handle_vector_type_attribute): Remove dead code. From-SVN: r199338
Diffstat (limited to 'gcc/ada/gcc-interface/gigi.h')
-rw-r--r--gcc/ada/gcc-interface/gigi.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
index a95b867..799f61d 100644
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@ -653,10 +653,8 @@ extern tree create_type_stub_decl (tree type_name, tree type);
is a declaration that was generated by the compiler. DEBUG_INFO_P is
true if we need to write debug information about this type. GNAT_NODE
is used for the position of the decl. */
-extern tree create_type_decl (tree type_name, tree type,
- struct attrib *attr_list,
- bool artificial_p, bool debug_info_p,
- Node_Id gnat_node);
+extern tree create_type_decl (tree type_name, tree type, bool artificial_p,
+ bool debug_info_p, Node_Id gnat_node);
/* Return a VAR_DECL or CONST_DECL node.
@@ -729,7 +727,7 @@ extern tree create_param_decl (tree param_name, tree param_type,
/* Return a LABEL_DECL with LABEL_NAME. GNAT_NODE is used for the position
of the decl. */
-extern tree create_label_decl (tree, Node_Id);
+extern tree create_label_decl (tree label_name, Node_Id gnat_node);
/* Return a FUNCTION_DECL node. SUBPROG_NAME is the name of the subprogram,
ASM_NAME is its assembler name, SUBPROG_TYPE is its type (a FUNCTION_TYPE
@@ -746,6 +744,12 @@ extern tree create_subprog_decl (tree subprog_name, tree asm_name,
bool artificial_flag,
struct attrib *attr_list, Node_Id gnat_node);
+/* Process the attributes in ATTR_LIST for NODE, which is either a DECL or
+ a TYPE. If IN_PLACE is true, the tree pointed to by NODE should not be
+ changed. GNAT_NODE is used for the position of error messages. */
+extern void process_attributes (tree *node, struct attrib **attr_list,
+ bool in_place, Node_Id gnat_node);
+
/* Set up the framework for generating code for SUBPROG_DECL, a subprogram
body. This routine needs to be invoked before processing the declarations
appearing in the subprogram. */