diff options
author | Meador Inge <meadori@codesourcery.com> | 2012-05-29 19:07:04 +0000 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2012-05-29 20:07:04 +0100 |
commit | d0421638fabdc7d9b886ec43c0fceef2f8b77922 (patch) | |
tree | bfc8d525b15b5bfee4c171fbc65c93caa3b86da7 /gcc | |
parent | 5e631e49ec134dede600bdc73f0219654083df49 (diff) | |
download | gcc-d0421638fabdc7d9b886ec43c0fceef2f8b77922.zip gcc-d0421638fabdc7d9b886ec43c0fceef2f8b77922.tar.gz gcc-d0421638fabdc7d9b886ec43c0fceef2f8b77922.tar.bz2 |
c-decl.c (c_push_function_context): Always create a new language function.
2012-05-29 Meador Inge <meadori@codesourcery.com>
* c-decl.c (c_push_function_context): Always create a new language
function.
(c_pop_function_context): Clear the language function created in
c_push_function_context.
From-SVN: r187979
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/c-decl.c | 14 |
2 files changed, 11 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5d87541..e2ebe2f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2012-05-29 Meador Inge <meadori@codesourcery.com> + + * c-decl.c (c_push_function_context): Always create a new language + function. + (c_pop_function_context): Clear the language function created in + c_push_function_context. + 2012-05-29 Matt Turner <mattst88@gmail.com> * config/alpha/ev6.md: (define_bypass "ev6_fmul,ev6_fadd"): New. diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 29cd18c..0c7e80e 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -8577,11 +8577,9 @@ check_for_loop_decls (location_t loc, bool turn_off_iso_c99_error) void c_push_function_context (void) { - struct language_function *p = cfun->language; - /* cfun->language might have been already allocated by the use of - -Wunused-local-typedefs. In that case, just re-use it. */ - if (p == NULL) - cfun->language = p = ggc_alloc_cleared_language_function (); + struct language_function *p; + p = ggc_alloc_language_function (); + cfun->language = p; p->base.x_stmt_tree = c_stmt_tree; c_stmt_tree.x_cur_stmt_list @@ -8607,11 +8605,7 @@ c_pop_function_context (void) pop_function_context (); p = cfun->language; - /* When -Wunused-local-typedefs is in effect, cfun->languages is - used to store data throughout the life time of the current cfun, - So don't deallocate it. */ - if (!warn_unused_local_typedefs) - cfun->language = NULL; + cfun->language = NULL; if (DECL_STRUCT_FUNCTION (current_function_decl) == 0 && DECL_SAVED_TREE (current_function_decl) == NULL_TREE) |