aboutsummaryrefslogtreecommitdiff
path: root/gcc/integrate.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-06-08 15:57:23 -0700
committerRichard Henderson <rth@gcc.gnu.org>2001-06-08 15:57:23 -0700
commit86c99549914362bc54b0872166324522901c2ca1 (patch)
tree5b4a3c5fe99a1829465bacb4e9a83edad3fa2fdb /gcc/integrate.c
parent27132e64895c61efe07fbaaca0f69d7a41a35af7 (diff)
downloadgcc-86c99549914362bc54b0872166324522901c2ca1.zip
gcc-86c99549914362bc54b0872166324522901c2ca1.tar.gz
gcc-86c99549914362bc54b0872166324522901c2ca1.tar.bz2
except.c (get_exception_pointer, [...]): Take a struct function.
* except.c (get_exception_pointer, get_exception_filter): Take a struct function. Update all callers. * except.h (get_exception_pointer): Update declaration. * expr.c (expand_expr): Update get_exception_pointer call. * integrate.c (expand_inline_function): Remap the exception pointer from callee to caller. From-SVN: r43060
Diffstat (limited to 'gcc/integrate.c')
-rw-r--r--gcc/integrate.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/integrate.c b/gcc/integrate.c
index ff9d33f..f4246f0 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -1111,6 +1111,11 @@ expand_inline_function (fndecl, parms, target, ignore, type,
else
abort ();
+ /* Remap the exception handler data pointer from one to the other. */
+ temp = get_exception_pointer (inl_f);
+ if (temp)
+ map->reg_map[REGNO (temp)] = get_exception_pointer (cfun);
+
/* Initialize label_map. get_label_from_map will actually make
the labels. */
memset ((char *) &map->label_map[min_labelno], 0,