diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2013-05-26 09:52:10 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2013-05-26 09:52:10 +0000 |
commit | 74746d494b37773e55d43130ed51bba67a337efe (patch) | |
tree | fc4098b21c27a360d99df062bc2d7da27cb3cac9 /gcc/ada/gcc-interface/gigi.h | |
parent | 0746af5e6219d9dabd84aa865a056e4e8ae27c3d (diff) | |
download | gcc-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.h | 14 |
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. */ |