aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/gigi.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-07-24 12:45:44 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-07-24 12:45:44 +0000
commitf3d3457603f3d0566555fae58341e9f3137cfdb5 (patch)
treee8f8094e0aad34848de41c2150299cbb54051171 /gcc/ada/gcc-interface/gigi.h
parent40ecdf413f8cb8709da07361200bd75f651e6fc5 (diff)
downloadgcc-f3d3457603f3d0566555fae58341e9f3137cfdb5.zip
gcc-f3d3457603f3d0566555fae58341e9f3137cfdb5.tar.gz
gcc-f3d3457603f3d0566555fae58341e9f3137cfdb5.tar.bz2
gigi.h (build_function_stub): Remove.
* gcc-interface/gigi.h (build_function_stub): Remove. (build_return_expr): Likewise. (convert_vms_descriptor): Declare. * gcc-interface/utils.c (convert_vms_descriptor): Make global. (build_function_stub): Move to... * gcc-interface/utils2.c (build_return_expr): Move to... * gcc-interface/trans.c (build_function_stub): ...here. (build_return_expr): ...here. (Subprogram_Body_to_gnu): Add local variable for language_function. Disconnect the parameter attributes cache, if any, once done with it. Call end_subprog_body only after setting the end_locus. Build the stub associated with the function, if any, at the very end. (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local variables and streamline control flow. From-SVN: r176712
Diffstat (limited to 'gcc/ada/gcc-interface/gigi.h')
-rw-r--r--gcc/ada/gcc-interface/gigi.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
index 3833d01..e8a7259 100644
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@ -706,10 +706,6 @@ extern tree build_vms_descriptor (tree type, Mechanism_Type mech,
extern tree build_vms_descriptor32 (tree type, Mechanism_Type mech,
Entity_Id gnat_entity);
-/* Build a stub for the subprogram specified by the GCC tree GNU_SUBPROG
- and the GNAT node GNAT_SUBPROG. */
-extern void build_function_stub (tree gnu_subprog, Entity_Id gnat_subprog);
-
/* Build a type to be used to represent an aliased object whose nominal type
is an unconstrained array. This consists of a RECORD_TYPE containing a
field of TEMPLATE_TYPE and a field of OBJECT_TYPE, which is an ARRAY_TYPE.
@@ -812,13 +808,9 @@ extern tree build_cond_expr (tree result_type, tree condition_operand,
tree true_operand, tree false_operand);
/* Similar, but for COMPOUND_EXPR. */
-
extern tree build_compound_expr (tree result_type, tree stmt_operand,
tree expr_operand);
-/* Similar, but for RETURN_EXPR. */
-extern tree build_return_expr (tree ret_obj, tree ret_val);
-
/* Build a CALL_EXPR to call FUNDECL with one argument, ARG. Return
the CALL_EXPR. */
extern tree build_call_1_expr (tree fundecl, tree arg);
@@ -893,6 +885,15 @@ extern tree build_allocator (tree type, tree init, tree result_type,
extern tree fill_vms_descriptor (tree gnu_type, tree gnu_expr,
Node_Id gnat_actual);
+/* Convert GNU_EXPR, a pointer to a VMS descriptor, to GNU_TYPE, a regular
+ pointer or fat pointer type. GNU_EXPR_ALT_TYPE is the alternate (32-bit)
+ pointer type of GNU_EXPR. BY_REF is true if the result is to be used by
+ reference. GNAT_SUBPROG is the subprogram to which the VMS descriptor is
+ passed. */
+extern tree convert_vms_descriptor (tree gnu_type, tree gnu_expr,
+ tree gnu_expr_alt_type, bool by_ref,
+ Entity_Id gnat_subprog);
+
/* Indicate that we need to take the address of T and that it therefore
should not be allocated in a register. Returns true if successful. */
extern bool gnat_mark_addressable (tree t);