mirror of git://gcc.gnu.org/git/gcc.git
* gcc-interface/trans.c (gigi): Decorate reraise_zcx_decl.
From-SVN: r187210
This commit is contained in:
parent
9422c886e9
commit
630dfc9c51
|
@ -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>
|
2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
|
* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: In the renaming
|
||||||
|
|
|
@ -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,
|
= create_subprog_decl (get_identifier ("__gnat_reraise_zcx"), NULL_TREE,
|
||||||
ftype, NULL_TREE, false, true, true, true, NULL,
|
ftype, NULL_TREE, false, true, true, true, NULL,
|
||||||
Empty);
|
Empty);
|
||||||
|
/* Indicate that these never return. */
|
||||||
DECL_IGNORED_P (reraise_zcx_decl) = 1;
|
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
|
/* If in no exception handlers mode, all raise statements are redirected to
|
||||||
__gnat_last_chance_handler. No need to redefine raise_nodefer_decl since
|
__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),
|
build_function_type_list (build_pointer_type (except_type_node),
|
||||||
NULL_TREE),
|
NULL_TREE),
|
||||||
NULL_TREE, false, true, true, true, NULL, Empty);
|
NULL_TREE, false, true, true, true, NULL, Empty);
|
||||||
|
DECL_IGNORED_P (get_excptr_decl) = 1;
|
||||||
|
|
||||||
raise_nodefer_decl
|
raise_nodefer_decl
|
||||||
= create_subprog_decl
|
= create_subprog_decl
|
||||||
|
|
|
@ -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>
|
2012-05-06 Eric Botcazou <ebotcazou@adacore.com>
|
||||||
|
|
||||||
* gnat.dg/specs/renamings.ads: Rename to...
|
* gnat.dg/specs/renamings.ads: Rename to...
|
||||||
|
|
|
@ -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;
|
Loading…
Reference in New Issue