diff options
Diffstat (limited to 'gcc/c-semantics.c')
-rw-r--r-- | gcc/c-semantics.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/gcc/c-semantics.c b/gcc/c-semantics.c index 59620ca..91ab873 100644 --- a/gcc/c-semantics.c +++ b/gcc/c-semantics.c @@ -286,14 +286,17 @@ emit_local_var (decl) expand_decl (decl); } - /* Actually do the initialization. */ - if (stmts_are_full_exprs_p ()) - expand_start_target_temps (); + if (DECL_INITIAL (decl)) + { + /* Actually do the initialization. */ + if (stmts_are_full_exprs_p ()) + expand_start_target_temps (); - expand_decl_init (decl); + expand_decl_init (decl); - if (stmts_are_full_exprs_p ()) - expand_end_target_temps (); + if (stmts_are_full_exprs_p ()) + expand_end_target_temps (); + } } /* Helper for generating the RTL at the beginning of a scope. */ |