diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-10-18 15:42:11 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-10-18 15:42:11 -0400 |
commit | 5415b705f4ca9540317f9841db9a5a1e404099b2 (patch) | |
tree | 014cc2bb754afdad3eda061c20046bbf0e462549 /gcc | |
parent | 0fc4f91130cb863ab9034f8fae983bbb7f7d82d7 (diff) | |
download | gcc-5415b705f4ca9540317f9841db9a5a1e404099b2.zip gcc-5415b705f4ca9540317f9841db9a5a1e404099b2.tar.gz gcc-5415b705f4ca9540317f9841db9a5a1e404099b2.tar.bz2 |
(start_function): Save immediate_size_expand and initialize it to zero
in case nested function.
From-SVN: r8302
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c-decl.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c index fa16ad7..995009a 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -5853,6 +5853,7 @@ start_function (declspecs, declarator, nested) { tree decl1, old_decl; tree restype; + int old_immediate_size_expand = immediate_size_expand; current_function_returns_value = 0; /* Assume, until we see it does. */ current_function_returns_null = 0; @@ -5862,6 +5863,9 @@ start_function (declspecs, declarator, nested) named_labels = 0; shadowed_labels = 0; + /* Don't expand any sizes in the return type of the function. */ + immediate_size_expand = 0; + decl1 = grokdeclarator (declarator, declspecs, FUNCDEF, 1); /* If the declarator is not suitable for a function definition, @@ -5997,6 +6001,8 @@ start_function (declspecs, declarator, nested) if (TREE_ADDRESSABLE (DECL_ASSEMBLER_NAME (current_function_decl))) TREE_ADDRESSABLE (current_function_decl) = 1; + immediate_size_expand = old_immediate_size_expand; + return 1; } |