diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-19 20:25:38 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-06-19 20:25:38 +0000 |
commit | 4905002bb29e81f67c5f4f20dfc1dc399015199b (patch) | |
tree | e5e61dffe1b66ad8003ea708203f7f59981c7136 /gcc/ada/gcc-interface/gigi.h | |
parent | 8fb94dd34f325201b329936c4469718f2ee808ae (diff) | |
download | gcc-4905002bb29e81f67c5f4f20dfc1dc399015199b.tar.gz |
* gcc-interface/gigi.h (record_builtin_type): Adjust comment.
(tree create_type_decl): Likewise.
(create_var_decl_1): Add artificial_p and debug_info_p parameters.
(create_var_decl): Likewise.
(create_true_var_decl): Delete.
(create_subprog_decl): Add debug_info_p parameter.
* gcc-interface/decl.c (gnat_to_gnu_entity): Add artificial_p local
variable and use it throughout. Remove DECL_ARTIFICIAL settings.
<E_Variable>: Adjust calls to create_var_decl and create_var_decl_1.
Remove DECL_IGNORED_P settings.
<E_Enumeration_Type>: Likewise.
<E_Record_Type>: Likewise.
<E_Subprogram_Type>: Likewise. Remove artificial_flag local variable.
Adjust call to create_subprog_decl.
(get_minimal_subprog_decl): Likewise.
(elaborate_expression_1): Adjust call to create_var_decl.
* gcc-interface/trans.c (gigi): Adjust calls to create_var_decl and
create_subprog_decl. Remove DECL_ARTIFICIAL & DECL_IGNORED_P settings.
* gcc-interface/utils.c (maybe_pad_type): Likewise.
(record_builtin_type): Adjust comment.
(create_type_stub_decl): Remove obsolete comment.
(create_var_decl_1): Add artificial_p and debug_info_p parameters.
Set DECL_ARTIFICIAL and DECL_IGNORED_P accordingly.
(create_subprog_decl): Add debug_info_p parameter. Set DECL_IGNORED_P
accordingly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224699 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/gcc-interface/gigi.h')
-rw-r--r-- | gcc/ada/gcc-interface/gigi.h | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h index b85f3512d40..118ce33ccd0 100644 --- a/gcc/ada/gcc-interface/gigi.h +++ b/gcc/ada/gcc-interface/gigi.h @@ -599,7 +599,7 @@ extern void build_dummy_unc_pointer_types (Entity_Id gnat_desig_type, tree gnu_desig_type); /* Record TYPE as a builtin type for Ada. NAME is the name of the type. - ARTIFICIAL_P is true if it's a type that was generated by the compiler. */ + ARTIFICIAL_P is true if the type was generated by the compiler. */ extern void record_builtin_type (const char *name, tree type, bool artificial_p); @@ -660,10 +660,10 @@ extern tree create_range_type (tree type, tree min, tree max); extern tree create_type_stub_decl (tree type_name, tree type); /* Return a TYPE_DECL node. TYPE_NAME gives the name of the type and TYPE - is a ..._TYPE node giving its data type. ARTIFICIAL_P is true if this - 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. */ + is a ..._TYPE node giving its data type. ARTIFICIAL_P is true if the + declaration 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, bool artificial_p, bool debug_info_p, Node_Id gnat_node); @@ -686,32 +686,28 @@ extern tree create_type_decl (tree type_name, tree type, bool artificial_p, STATIC_FLAG is only relevant when not at top level. In that case it indicates whether to always allocate storage to the variable. + ARTIFICIAL_P is true if the variable was generated by the compiler. + + DEBUG_INFO_P is true if we need to write debug information for it. + GNAT_NODE is used for the position of the decl. */ extern tree create_var_decl_1 (tree var_name, tree asm_name, tree type, tree var_init, bool const_flag, bool public_flag, bool extern_flag, - bool static_flag, bool const_decl_allowed_p, - struct attrib *attr_list, Node_Id gnat_node); + bool static_flag, bool artificial_p, bool debug_info_p, + bool const_decl_allowed_p, struct attrib *attr_list, + Node_Id gnat_node); /* Wrapper around create_var_decl_1 for cases where we don't care whether a VAR or a CONST decl node is created. */ #define create_var_decl(var_name, asm_name, type, var_init, \ const_flag, public_flag, extern_flag, \ - static_flag, attr_list, gnat_node) \ + static_flag, artificial_p, debug_info_p,\ + attr_list, gnat_node) \ create_var_decl_1 (var_name, asm_name, type, var_init, \ const_flag, public_flag, extern_flag, \ - static_flag, true, attr_list, gnat_node) - -/* Wrapper around create_var_decl_1 for cases where a VAR_DECL node is - required. The primary intent is for DECL_CONST_CORRESPONDING_VARs, which - must be VAR_DECLs and on which we want TREE_READONLY set to have them - possibly assigned to a readonly data section. */ -#define create_true_var_decl(var_name, asm_name, type, var_init, \ - const_flag, public_flag, extern_flag, \ - static_flag, attr_list, gnat_node) \ - create_var_decl_1 (var_name, asm_name, type, var_init, \ - const_flag, public_flag, extern_flag, \ - static_flag, false, attr_list, gnat_node) + static_flag, artificial_p, debug_info_p, \ + true, attr_list, gnat_node) /* Return a FIELD_DECL node. FIELD_NAME is the field's name, FIELD_TYPE is its type and RECORD_TYPE is the type of the enclosing record. If SIZE is @@ -739,14 +735,19 @@ extern tree create_label_decl (tree label_name, Node_Id gnat_node); node), PARAM_DECL_LIST is the list of the subprogram arguments (a list of PARM_DECL nodes chained through the DECL_CHAIN field). - INLINE_STATUS, PUBLIC_FLAG, EXTERN_FLAG, ARTIFICIAL_FLAG and ATTR_LIST are - used to set the appropriate fields in the FUNCTION_DECL. GNAT_NODE is - used for the position of the decl. */ + INLINE_STATUS, PUBLIC_FLAG, EXTERN_FLAG and ATTR_LIST are used to set the + appropriate fields in the FUNCTION_DECL. + + ARTIFICIAL_P is true if the subprogram was generated by the compiler. + + DEBUG_INFO_P is true if we need to write debug information for it. + + GNAT_NODE is used for the position of the decl. */ extern tree create_subprog_decl (tree subprog_name, tree asm_name, tree subprog_type, tree param_decl_list, enum inline_status_t inline_status, bool public_flag, bool extern_flag, - bool artificial_flag, + bool artificial_p, bool debug_info_p, struct attrib *attr_list, Node_Id gnat_node); /* Process the attributes in ATTR_LIST for NODE, which is either a DECL or |