summaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/gigi.h
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2015-06-19 20:25:38 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2015-06-19 20:25:38 +0000
commit4905002bb29e81f67c5f4f20dfc1dc399015199b (patch)
treee5e61dffe1b66ad8003ea708203f7f59981c7136 /gcc/ada/gcc-interface/gigi.h
parent8fb94dd34f325201b329936c4469718f2ee808ae (diff)
downloadgcc-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.h49
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