diff options
author | Tristan Gingold <gingold@adacore.com> | 2012-05-06 11:28:20 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2012-05-06 11:28:20 +0000 |
commit | 630dfc9c518aadc930be98f64a4cdc9a10bd45ca (patch) | |
tree | ba8cf08f95717bb5fb66cf7bb1290c15f6eb5e96 /gcc/ada | |
parent | 9422c886e9405ea2fe5a5f1a0152b301e8ae1204 (diff) | |
download | gcc-630dfc9c518aadc930be98f64a4cdc9a10bd45ca.zip gcc-630dfc9c518aadc930be98f64a4cdc9a10bd45ca.tar.gz gcc-630dfc9c518aadc930be98f64a4cdc9a10bd45ca.tar.bz2 |
* gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
From-SVN: r187210
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/trans.c | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 856d100..fa564b1 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2012-05-06 Tristan Gingold <gingold@adacore.com> + + * gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl. + 2012-05-06 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index c4b9a7e..dd1669b 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -502,7 +502,12 @@ gigi (Node_Id gnat_root, int max_gnat_node, int number_name ATTRIBUTE_UNUSED, = create_subprog_decl (get_identifier ("__gnat_reraise_zcx"), NULL_TREE, ftype, NULL_TREE, false, true, true, true, NULL, Empty); + /* Indicate that these never return. */ DECL_IGNORED_P (reraise_zcx_decl) = 1; + TREE_THIS_VOLATILE (reraise_zcx_decl) = 1; + TREE_SIDE_EFFECTS (reraise_zcx_decl) = 1; + TREE_TYPE (reraise_zcx_decl) + = build_qualified_type (TREE_TYPE (reraise_zcx_decl), TYPE_QUAL_VOLATILE); /* If in no exception handlers mode, all raise statements are redirected to __gnat_last_chance_handler. No need to redefine raise_nodefer_decl since @@ -550,6 +555,7 @@ gigi (Node_Id gnat_root, int max_gnat_node, int number_name ATTRIBUTE_UNUSED, build_function_type_list (build_pointer_type (except_type_node), NULL_TREE), NULL_TREE, false, true, true, true, NULL, Empty); + DECL_IGNORED_P (get_excptr_decl) = 1; raise_nodefer_decl = create_subprog_decl |