diff options
Diffstat (limited to 'gcc/ada/gcc-interface/gigi.h')
-rw-r--r-- | gcc/ada/gcc-interface/gigi.h | 42 |
1 files changed, 15 insertions, 27 deletions
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h index 4fb2fc4..9cc744b 100644 --- a/gcc/ada/gcc-interface/gigi.h +++ b/gcc/ada/gcc-interface/gigi.h @@ -49,6 +49,10 @@ extern tree gnat_to_gnu_field_decl (Entity_Id gnat_entity); the GCC type corresponding to that entity. */ extern tree gnat_to_gnu_type (Entity_Id gnat_entity); +/* Update the GCC tree previously built for the profiles involving GNU_TYPE, + a dummy type which appears in profiles. */ +extern void update_profiles_with (tree gnu_type); + /* Start a new statement group chained to the previous group. */ extern void start_stmt_group (void); @@ -109,11 +113,6 @@ extern void elaborate_entity (Entity_Id gnat_entity); /* Get the unpadded version of a GNAT type. */ extern tree get_unpadded_type (Entity_Id gnat_entity); -/* Return the DECL associated with the public subprogram GNAT_ENTITY but whose - type has been changed to that of the parameterless procedure, except if an - alias is already present, in which case it is returned instead. */ -extern tree get_minimal_subprog_decl (Entity_Id gnat_entity); - /* Return whether the E_Subprogram_Type/E_Function/E_Procedure GNAT_ENTITY is a C++ imported method or equivalent. */ extern bool is_cplusplus_method (Entity_Id gnat_entity); @@ -631,20 +630,6 @@ extern void rest_of_record_type_compilation (tree record_type); /* Append PARALLEL_TYPE on the chain of parallel types for TYPE. */ extern void add_parallel_type (tree type, tree parallel_type); -/* Return a FUNCTION_TYPE node. RETURN_TYPE is the type returned by the - subprogram. If it is VOID_TYPE, then we are dealing with a procedure, - otherwise we are dealing with a function. PARAM_DECL_LIST is a list of - PARM_DECL nodes that are the subprogram parameters. CICO_LIST is the - copy-in/copy-out list to be stored into the TYPE_CICO_LIST field. - RETURN_UNCONSTRAINED_P is true if the function returns an unconstrained - object. RETURN_BY_DIRECT_REF_P is true if the function returns by direct - reference. RETURN_BY_INVISI_REF_P is true if the function returns by - invisible reference. */ -extern tree create_subprog_type (tree return_type, tree param_decl_list, - tree cico_list, bool return_unconstrained_p, - bool return_by_direct_ref_p, - bool return_by_invisi_ref_p); - /* Return a copy of TYPE, but safe to modify in any way. */ extern tree copy_type (tree type); @@ -717,10 +702,8 @@ extern tree create_field_decl (tree name, tree type, tree record_type, tree size, tree pos, int packed, int addressable); -/* Return a PARM_DECL node. NAME is the name of the parameter and TYPE is - its type. READONLY is true if the parameter is readonly (either an In - parameter or an address of a pass-by-ref parameter). */ -extern tree create_param_decl (tree name, tree type, bool readonly); +/* Return a PARM_DECL node with NAME and TYPE. */ +extern tree create_param_decl (tree name, tree type); /* Return a LABEL_DECL with NAME. GNAT_NODE is used for the position of the decl. */ @@ -733,8 +716,10 @@ extern tree create_label_decl (tree name, Node_Id gnat_node); INLINE_STATUS describes the inline flags to be set on the FUNCTION_DECL. - CONST_FLAG, PUBLIC_FLAG, EXTERN_FLAG, VOLATILE_FLAG are used to set the - appropriate flags on the FUNCTION_DECL. + PUBLIC_FLAG is true if this is for a reference to a public entity or for a + definition to be made visible outside of the current compilation unit. + + EXTERN_FLAG is true when processing an external subprogram declaration. ARTIFICIAL_P is true if the subprogram was generated by the compiler. @@ -746,11 +731,14 @@ extern tree create_label_decl (tree name, Node_Id gnat_node); extern tree create_subprog_decl (tree name, tree asm_name, tree type, tree param_decl_list, enum inline_status_t inline_status, - bool const_flag, bool public_flag, - bool extern_flag, bool volatile_flag, + bool public_flag, bool extern_flag, bool artificial_p, bool debug_info_p, struct attrib *attr_list, Node_Id gnat_node); +/* Given a subprogram declaration DECL and its TYPE, finish constructing the + subprogram declaration from TYPE. */ +extern void finish_subprog_decl (tree decl, tree type); + /* 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. */ |