aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-semantics.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2003-05-13 14:58:56 -0400
committerJason Merrill <jason@gcc.gnu.org>2003-05-13 14:58:56 -0400
commit03307888f71f81829bc96f569b927a825e5ab2f4 (patch)
tree38e4eda90974c27801ffbbf2262cd0f625dedcde /gcc/c-semantics.c
parentd660cefe65aba85a809c01e104b1480df13952d1 (diff)
downloadgcc-03307888f71f81829bc96f569b927a825e5ab2f4.zip
gcc-03307888f71f81829bc96f569b927a825e5ab2f4.tar.gz
gcc-03307888f71f81829bc96f569b927a825e5ab2f4.tar.bz2
tree.h (STRIP_MAIN_TYPE_NOPS): New macro.
* tree.h (STRIP_MAIN_TYPE_NOPS): New macro. * tree.c (iterative_hash_expr): New fn. * c-semantics.c (emit_local_var): Don't mess with temp slots if there's no initializer. From-SVN: r66775
Diffstat (limited to 'gcc/c-semantics.c')
-rw-r--r--gcc/c-semantics.c15
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. */