aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>1998-03-02 11:06:14 +0000
committerJason Merrill <jason@gcc.gnu.org>1998-03-02 06:06:14 -0500
commit948edfa70264176018542bf185e3ed1a68cf331c (patch)
tree2a0d099f7849457d294950cc8436b95557917eb7 /gcc
parent54f00917bcbf5e7ce42556c3366cb42f26548a77 (diff)
downloadgcc-948edfa70264176018542bf185e3ed1a68cf331c.zip
gcc-948edfa70264176018542bf185e3ed1a68cf331c.tar.gz
gcc-948edfa70264176018542bf185e3ed1a68cf331c.tar.bz2
decl.c (start_function): Don't call temporary_allocation for a nested function.
* decl.c (start_function): Don't call temporary_allocation for a nested function. From-SVN: r18356
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/decl.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index cf011cc..66d98cb 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+Mon Mar 2 11:04:59 1998 Jim Wilson <wilson@cygnus.com>
+
+ * decl.c (start_function): Don't call temporary_allocation for a
+ nested function.
+
Sun Mar 1 21:06:37 1998 Jason Merrill <jason@yorick.cygnus.com>
* pt.c (instantiate_class_template): Don't mess with friends if
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 6d44bb0..e5ab625 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -11916,8 +11916,11 @@ start_function (declspecs, declarator, attrs, pre_parsed_p)
TREE_THIS_VOLATILE (DECL_RESULT (decl1)) = TYPE_VOLATILE (restype);
}
- /* Allocate further tree nodes temporarily during compilation
- of this function only. Tiemann moved up here from bottom of fn. */
+ /* Allocate further tree nodes temporarily during compilation
+ of this function only. Tiemann moved up here from bottom of fn. */
+ /* If this is a nested function, then we must continue to allocate RTL
+ on the permanent obstack in case we need to inline it later. */
+ if (! hack_decl_function_context (decl1))
temporary_allocation ();
if (processing_template_decl)