diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2013-05-24 09:31:33 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2013-05-24 09:31:33 +0000 |
commit | 0e24192cc9ae888874557a6caeace67131724c03 (patch) | |
tree | d6c908246fe03d3720172f85abf3377381bf02f9 /gcc/ada/gcc-interface/gigi.h | |
parent | 828012a527877b954f10ea4cda161b4c9860d69d (diff) | |
download | gcc-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.h | 18 |
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 |