aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/gigi.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2013-05-24 09:31:33 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2013-05-24 09:31:33 +0000
commit0e24192cc9ae888874557a6caeace67131724c03 (patch)
treed6c908246fe03d3720172f85abf3377381bf02f9 /gcc/ada/gcc-interface/gigi.h
parent828012a527877b954f10ea4cda161b4c9860d69d (diff)
downloadgcc-0e24192cc9ae888874557a6caeace67131724c03.zip
gcc-0e24192cc9ae888874557a6caeace67131724c03.tar.gz
gcc-0e24192cc9ae888874557a6caeace67131724c03.tar.bz2
gigi.h (enum inline_status_t): New type.
* gcc-interface/gigi.h (enum inline_status_t): New type. (create_subprog_decl): Adjust prototype. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Adjust calls to create_subprog_decl. (get_minimal_subprog_decl): Likewise. * gcc-interface/trans.c (gigi): Likewise. (build_raise_check): Likewise. (establish_gnat_vms_condition_handler): Likewise. (Compilation_Unit_to_gnu): Likewise. (gnat_to_gnu): Likewise. * gcc-interface/utils.c (create_subprog_decl): Change inline_flag parameter to inline_status and implement for suppressed inlining. From-SVN: r199286
Diffstat (limited to 'gcc/ada/gcc-interface/gigi.h')
-rw-r--r--gcc/ada/gcc-interface/gigi.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h
index 6fc3f34..5dee7b56 100644
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@ -430,6 +430,17 @@ enum exception_info_kind
exception_column
};
+/* Define the inline status of a subprogram. */
+enum inline_status_t
+{
+ /* Inlining is suppressed for the subprogram. */
+ is_suppressed,
+ /* No inlining is requested for the subprogram. */
+ is_disabled,
+ /* Inlining is requested for the subprogram. */
+ is_enabled
+};
+
extern GTY(()) tree gnat_std_decls[(int) ADT_LAST];
extern GTY(()) tree gnat_raise_decls[(int) LAST_REASON_CODE + 1];
extern GTY(()) tree gnat_raise_decls_ext[(int) LAST_REASON_CODE + 1];
@@ -718,13 +729,14 @@ extern tree create_label_decl (tree, Node_Id);
node), PARAM_DECL_LIST is the list of the subprogram arguments (a list of
PARM_DECL nodes chained through the DECL_CHAIN field).
- INLINE_FLAG, PUBLIC_FLAG, EXTERN_FLAG, ARTIFICIAL_FLAG and ATTR_LIST are
+ 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. */
extern tree create_subprog_decl (tree subprog_name, tree asm_name,
tree subprog_type, tree param_decl_list,
- bool inline_flag, bool public_flag,
- bool extern_flag, bool artificial_flag,
+ enum inline_status_t inline_status,
+ bool public_flag, bool extern_flag,
+ bool artificial_flag,
struct attrib *attr_list, Node_Id gnat_node);
/* Set up the framework for generating code for SUBPROG_DECL, a subprogram