(fold-convert): Use assignment, instead of initializing, aggregate
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 25 Apr 1994 10:33:38 +0000 (06:33 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 25 Apr 1994 10:33:38 +0000 (06:33 -0400)
local variable REAL_VALUE_TYPE.

From-SVN: r7146

gcc/fold-const.c

index 9fa976b92b78b323fb70b38d2317547771db22c5..c3f2c5c9dfd2fa33ef502a4f34d4cdc65a0db6f3 100644 (file)
@@ -1584,10 +1584,15 @@ fold_convert (t, arg1)
 #if !defined (REAL_IS_NOT_DOUBLE) || defined (REAL_ARITHMETIC)
       else if (TREE_CODE (arg1) == REAL_CST)
        {
-         REAL_VALUE_TYPE x = TREE_REAL_CST (arg1);
-         REAL_VALUE_TYPE l = real_value_from_int_cst (TYPE_MIN_VALUE (type));
-         REAL_VALUE_TYPE u = real_value_from_int_cst (TYPE_MAX_VALUE (type));
-
+         /* Don't initialize these, use assignments.
+            Initialized local aggregates don't work on old compilers.  */
+         REAL_VALUE_TYPE x;
+         REAL_VALUE_TYPE l;
+         REAL_VALUE_TYPE u;
+
+         x = TREE_REAL_CST (arg1);
+         l = real_value_from_int_cst (TYPE_MIN_VALUE (type));
+         u = real_value_from_int_cst (TYPE_MAX_VALUE (type));
          /* See if X will be in range after truncation towards 0.
             To compensate for truncation, move the bounds away from 0,
             but reject if X exactly equals the adjusted bounds.  */