diff options
author | Tristan Gingold <gingold@adacore.com> | 2013-10-14 14:02:14 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2013-10-14 16:02:14 +0200 |
commit | 9f2a75d355fc63551d36241ae4ff58ec23cc8fed (patch) | |
tree | 28653fb54df7acbcd18012c8ba01aacdf71d9172 /gcc | |
parent | 161c5cc509e5e8abd70ec84848c43f51a9b1cbcb (diff) | |
download | gcc-9f2a75d355fc63551d36241ae4ff58ec23cc8fed.zip gcc-9f2a75d355fc63551d36241ae4ff58ec23cc8fed.tar.gz gcc-9f2a75d355fc63551d36241ae4ff58ec23cc8fed.tar.bz2 |
gigi.h (standard_datatypes): Add ADT_set_exception_parameter_decl
2013-10-14 Tristan Gingold <gingold@adacore.com>
* gcc-interface/gigi.h (standard_datatypes): Add
ADT_set_exception_parameter_decl
(set_exception_parameter_decl): New macro.
* gcc-interface/trans.c (gigi): Initialize set_exception_parameter_decl.
(Exception_Handler_to_gnu_zcx): Initialize the choice parameter.
From-SVN: r203561
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/gigi.h | 3 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/trans.c | 9 |
3 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index aa7004b..6818ca3 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,11 @@ +2013-10-14 Tristan Gingold <gingold@adacore.com> + + * gcc-interface/gigi.h (standard_datatypes): Add + ADT_set_exception_parameter_decl + (set_exception_parameter_decl): New macro. + * gcc-interface/trans.c (gigi): Initialize set_exception_parameter_decl. + (Exception_Handler_to_gnu_zcx): Initialize the choice parameter. + 2013-10-14 Robert Dewar <dewar@adacore.com> * exp_attr.adb (Find_Stream_Subprogram): Optimize diff --git a/gcc/ada/gcc-interface/gigi.h b/gcc/ada/gcc-interface/gigi.h index d18fd4d..ca29737 100644 --- a/gcc/ada/gcc-interface/gigi.h +++ b/gcc/ada/gcc-interface/gigi.h @@ -411,6 +411,7 @@ enum standard_datatypes ADT_update_setjmp_buf_decl, ADT_raise_nodefer_decl, ADT_reraise_zcx_decl, + ADT_set_exception_parameter_decl, ADT_begin_handler_decl, ADT_end_handler_decl, ADT_unhandled_except_decl, @@ -470,6 +471,8 @@ extern GTY(()) tree gnat_raise_decls_ext[(int) LAST_REASON_CODE + 1]; #define update_setjmp_buf_decl gnat_std_decls[(int) ADT_update_setjmp_buf_decl] #define raise_nodefer_decl gnat_std_decls[(int) ADT_raise_nodefer_decl] #define reraise_zcx_decl gnat_std_decls[(int) ADT_reraise_zcx_decl] +#define set_exception_parameter_decl \ + gnat_std_decls[(int) ADT_set_exception_parameter_decl] #define begin_handler_decl gnat_std_decls[(int) ADT_begin_handler_decl] #define others_decl gnat_std_decls[(int) ADT_others_decl] #define all_others_decl gnat_std_decls[(int) ADT_all_others_decl] diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index f97112c..ff1f22d 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -565,6 +565,15 @@ gigi (Node_Id gnat_root, int max_gnat_node, int number_name ATTRIBUTE_UNUSED, NULL_TREE, is_disabled, true, true, true, NULL, Empty); DECL_IGNORED_P (get_excptr_decl) = 1; + set_exception_parameter_decl + = create_subprog_decl + (get_identifier ("__gnat_set_exception_parameter"), NULL_TREE, + build_function_type_list (void_type_node, + ptr_void_type_node, + ptr_void_type_node, + NULL_TREE), + NULL_TREE, is_disabled, true, true, true, NULL, Empty); + raise_nodefer_decl = create_subprog_decl (get_identifier ("__gnat_raise_nodefer_with_msg"), NULL_TREE, |