summaryrefslogtreecommitdiff
path: root/gcc/c-semantics.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-13 18:58:56 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-13 18:58:56 +0000
commit10f6a2691da04b880014abffa51a058893b669ef (patch)
tree38e4eda90974c27801ffbbf2262cd0f625dedcde /gcc/c-semantics.c
parent6971805a001c9f86f14f6e80f88ae062eb547f86 (diff)
downloadgcc-10f6a2691da04b880014abffa51a058893b669ef.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66775 138bc75d-0d04-0410-961f-82ee72b054a4
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 59620ca3d0f..91ab8738033 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. */