summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/explow.c9
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1ea87106223..a66c1fa279e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2011-05-04 Richard Guenther <rguenther@suse.de>
+
+ * explow.c (promote_mode): Move variable declarations before code.
+
2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
* tree.h (build_function_type_array): Declare.
diff --git a/gcc/explow.c b/gcc/explow.c
index da04505a7e8..812897163e2 100644
--- a/gcc/explow.c
+++ b/gcc/explow.c
@@ -802,6 +802,11 @@ enum machine_mode
promote_mode (const_tree type ATTRIBUTE_UNUSED, enum machine_mode mode,
int *punsignedp ATTRIBUTE_UNUSED)
{
+#ifdef PROMOTE_MODE
+ enum tree_code code;
+ int unsignedp;
+#endif
+
/* For libcalls this is invoked without TYPE from the backends
TARGET_PROMOTE_FUNCTION_MODE hooks. Don't do anything in that
case. */
@@ -812,8 +817,8 @@ promote_mode (const_tree type ATTRIBUTE_UNUSED, enum machine_mode mode,
probably want to test POINTERS_EXTEND_UNSIGNED even if PROMOTE_MODE
is not defined. The affected targets are M32C, S390, SPARC. */
#ifdef PROMOTE_MODE
- const enum tree_code code = TREE_CODE (type);
- int unsignedp = *punsignedp;
+ code = TREE_CODE (type);
+ unsignedp = *punsignedp;
switch (code)
{