]> gcc.gnu.org Git - gcc.git/commitdiff
*** empty log message ***
authorTom Wood <wood@gnu.org>
Sun, 12 Apr 1992 14:34:57 +0000 (14:34 +0000)
committerTom Wood <wood@gnu.org>
Sun, 12 Apr 1992 14:34:57 +0000 (14:34 +0000)
From-SVN: r729

gcc/c-typeck.c
gcc/fold-const.c
gcc/loop.c
gcc/stor-layout.c

index 5a54d8f05236e002c1d33af5a838b8e4c4080013..3a1c828be4a4b587723bb36ef5ead1d35420b2fe 100644 (file)
@@ -4461,7 +4461,7 @@ digest_init (type, init, tail, require_constant, constructor_constant, ofwhat)
   if (TREE_CODE (init) == NON_LVALUE_EXPR)
     inside_init = TREE_OPERAND (init, 0);
 
-  if (init && raw_constructor
+  if (inside_init && raw_constructor
       && CONSTRUCTOR_ELTS (inside_init) != 0
       && TREE_CHAIN (CONSTRUCTOR_ELTS (inside_init)) == 0)
     {
@@ -4672,8 +4672,12 @@ digest_init (type, init, tail, require_constant, constructor_constant, ofwhat)
        ({
          if (ofwhat)
            push_string (ofwhat);
-         inside_init = convert_for_assignment (type, default_conversion (init),
-                                        &initialization_message, NULL_TREE, 0);
+         inside_init
+           = convert_for_assignment (type,
+                                     default_conversion (raw_constructor
+                                                         ? inside_init
+                                                         : init),
+                                     &initialization_message, NULL_TREE, 0);
        });
 
       if (require_constant && ! TREE_CONSTANT (inside_init))
index fab7300650f1cdd51366d61f81a1f75bb1bacebf..80e329a37e18043e9fc05a7a34369ea565d1754a 100644 (file)
@@ -3667,7 +3667,7 @@ fold (expr)
              case EQ_EXPR:
                return fold (build1 (NEGATE_EXPR, type, arg1));
              case NE_EXPR:
-               return arg1;
+               return convert (type, arg1);
              case GE_EXPR:
              case GT_EXPR:
                return fold (build1 (ABS_EXPR, type, arg1));
@@ -3683,7 +3683,7 @@ fold (expr)
          if (integer_zerop (TREE_OPERAND (arg0, 1)) && integer_zerop (arg2))
            {
              if (comp_code == NE_EXPR)
-               return arg1;
+               return convert (type, arg1);
              else if (comp_code == EQ_EXPR)
                return convert (type, integer_zero_node);
            }
@@ -3696,9 +3696,9 @@ fold (expr)
            switch (comp_code)
              {
              case EQ_EXPR:
-               return arg2;
+               return convert (type, arg2);
              case NE_EXPR:
-               return arg1;
+               return convert (type, arg1);
              case LE_EXPR:
              case LT_EXPR:
                return fold (build (MIN_EXPR, type, arg1, arg2));
index 4f255ef24cddba96cf4937bc7f1a2e899315066b..526c6fd18e37b4ec06739b2a500d4425e234142b 100644 (file)
@@ -3187,8 +3187,8 @@ strength_reduce (scan_start, end, loop_top, insn_count,
                  && GET_CODE (PATTERN (insn)) != RETURN
                  && (! condjump_p (insn)
                      || (JUMP_LABEL (insn) != 0
-                         && (INSN_UID (JUMP_LABEL (insn)) > max_uid_for_loop
-                             || INSN_UID (insn) > max_uid_for_loop
+                         && (INSN_UID (JUMP_LABEL (insn)) >= max_uid_for_loop
+                             || INSN_UID (insn) >= max_uid_for_loop
                              || (INSN_LUID (JUMP_LABEL (insn))
                                  < INSN_LUID (insn))))))
              {
index 35051be5ff0f9fbc81acd2a1776671446f836f62..c2cdae5ddc9f6e8dd79f8f266c5fbc95d3ca267b 100644 (file)
@@ -304,7 +304,7 @@ layout_record (rec)
       record_align = MAX (record_align, desired_align);
 #else
       if (PCC_BITFIELD_TYPE_MATTERS && TREE_TYPE (field) != error_mark_node
-         && DECL_BIT_FIELD (field)
+         && DECL_BIT_FIELD_TYPE (field)
          && ! integer_zerop (TYPE_SIZE (TREE_TYPE (field))))
        {
          /* For these machines, a zero-length field does not
@@ -354,7 +354,7 @@ layout_record (rec)
       if (PCC_BITFIELD_TYPE_MATTERS
          && TREE_CODE (field) == FIELD_DECL
          && TREE_TYPE (field) != error_mark_node
-         && DECL_BIT_FIELD (field)
+         && DECL_BIT_FIELD_TYPE (field)
          && !DECL_PACKED (field)
          && !integer_zerop (DECL_SIZE (field)))
        {
@@ -376,7 +376,7 @@ layout_record (rec)
       if (BITFIELD_NBYTES_LIMITED
          && TREE_CODE (field) == FIELD_DECL
          && TREE_TYPE (field) != error_mark_node
-         && DECL_BIT_FIELD (field)
+         && DECL_BIT_FIELD_TYPE (field)
          && !DECL_PACKED (field)
          && !integer_zerop (DECL_SIZE (field)))
        {
@@ -505,7 +505,7 @@ layout_union (rec)
 #ifdef PCC_BITFIELD_TYPE_MATTERS
       /* On the m88000, a bit field of declare type `int'
         forces the entire union to have `int' alignment.  */
-      if (PCC_BITFIELD_TYPE_MATTERS && DECL_BIT_FIELD (field))
+      if (PCC_BITFIELD_TYPE_MATTERS && DECL_BIT_FIELD_TYPE (field))
        union_align = MAX (union_align, TYPE_ALIGN (TREE_TYPE (field)));
 #endif
 
This page took 0.09025 seconds and 5 git commands to generate.