diff options
author | Jason Merrill <jason@yorick.cygnus.com> | 1997-09-16 21:23:59 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1997-09-16 17:23:59 -0400 |
commit | 255fe733b3f72520ec0ff017693798d3279ddc0c (patch) | |
tree | 683ed58f983ba86b7fdc1510e3eb72b50ee4567a /gcc | |
parent | 5c825fc20b3eb4103360771e557739bd60df1fff (diff) | |
download | gcc-255fe733b3f72520ec0ff017693798d3279ddc0c.zip gcc-255fe733b3f72520ec0ff017693798d3279ddc0c.tar.gz gcc-255fe733b3f72520ec0ff017693798d3279ddc0c.tar.bz2 |
integrate.c (expand_inline_function): Move expand_start_bindings after expanding the arguments.
* integrate.c (expand_inline_function): Move expand_start_bindings
after expanding the arguments.
From-SVN: r15499
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/integrate.c | 9 |
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 53929a1..326e591 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com> + + * integrate.c (expand_inline_function): Move expand_start_bindings + after expanding the arguments. + Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com> * expr.c (expand_expr): Remove previous incorrect change. diff --git a/gcc/integrate.c b/gcc/integrate.c index c85303b..4b99eac 100644 --- a/gcc/integrate.c +++ b/gcc/integrate.c @@ -1299,10 +1299,6 @@ expand_inline_function (fndecl, parms, target, ignore, type, parameter declarations. */ pushlevel (0); - /* Make a fresh binding contour that we can easily remove. */ - pushlevel (0); - expand_start_bindings (0); - /* Expand the function arguments. Do this first so that any new registers get created before we allocate the maps. */ @@ -1738,6 +1734,11 @@ expand_inline_function (fndecl, parms, target, ignore, type, else abort (); + /* Make a fresh binding contour that we can easily remove. Do this after + expanding our arguments so cleanups are properly scoped. */ + pushlevel (0); + expand_start_bindings (0); + /* Make new label equivalences for the labels in the called function. */ for (i = min_labelno; i < max_labelno; i++) map->label_map[i] = gen_label_rtx (); |