* gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.

From-SVN: r187210
This commit is contained in:
Tristan Gingold 2012-05-06 11:28:20 +00:00 committed by Eric Botcazou
parent 9422c886e9
commit 630dfc9c51
4 changed files with 32 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,7 @@
2012-05-06 Tristan Gingold <gingold@adacore.com>
* gnat.dg/warn7.adb: New test.
2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/specs/renamings.ads: Rename to...

View File

@ -0,0 +1,18 @@
-- { dg-do compile }
procedure Warn7 is
procedure Nested;
pragma No_Return (Nested);
procedure Nested is
begin
raise Constraint_Error;
exception
when Constraint_Error =>
raise;
end;
begin
Nested;
end;