diff options
Diffstat (limited to 'gcc/ada/utils.c')
-rw-r--r-- | gcc/ada/utils.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ada/utils.c b/gcc/ada/utils.c index 4358547..3874e39 100644 --- a/gcc/ada/utils.c +++ b/gcc/ada/utils.c @@ -518,6 +518,8 @@ init_gigi_decls (tree long_long_float_type, tree exception_type) (get_identifier ("system__soft_links__get_jmpbuf_address_soft"), NULL_TREE, build_function_type (jmpbuf_ptr_type, NULL_TREE), NULL_TREE, false, true, true, NULL, Empty); + /* Avoid creating superfluous edges to __builtin_setjmp receivers. */ + DECL_IS_PURE (get_jmpbuf_decl) = 1; set_jmpbuf_decl = create_subprog_decl @@ -534,6 +536,8 @@ init_gigi_decls (tree long_long_float_type, tree exception_type) NULL_TREE, build_function_type (build_pointer_type (except_type_node), NULL_TREE), NULL_TREE, false, true, true, NULL, Empty); + /* Avoid creating superfluous edges to __builtin_setjmp receivers. */ + DECL_IS_PURE (get_excptr_decl) = 1; /* Functions that raise exceptions. */ raise_nodefer_decl |