OSDN Git Service

* tree.c (get_unwidened): Reorder conditions so that the null pointer
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 10 Jan 2004 12:02:34 +0000 (12:02 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 10 Jan 2004 12:02:34 +0000 (12:02 +0000)
check is done first.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75639 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree.c

index a475633..13ee5f6 100644 (file)
@@ -1,3 +1,8 @@
+2004-01-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * tree.c (get_unwidened): Reorder conditions so that the null pointer
+       check is done first.
+
 2004-01-09  Eric Christopher  <echristo@redhat.com>
 
        * toplev.c (rest_of_handle_cfg): Add reg_scan pass
index b252a67..8fffffd 100644 (file)
@@ -4123,10 +4123,10 @@ get_unwidened (tree op, tree for_type)
         The resulting extension to its nominal type (a fullword type)
         must fit the same conditions as for other extensions.  */
 
-      if (INT_CST_LT_UNSIGNED (TYPE_SIZE (type), TYPE_SIZE (TREE_TYPE (op)))
+      if (type != 0
+         && INT_CST_LT_UNSIGNED (TYPE_SIZE (type), TYPE_SIZE (TREE_TYPE (op)))
          && (for_type || ! DECL_BIT_FIELD (TREE_OPERAND (op, 1)))
-         && (! uns || final_prec <= innerprec || unsignedp)
-         && type != 0)
+         && (! uns || final_prec <= innerprec || unsignedp))
        {
          win = build (COMPONENT_REF, type, TREE_OPERAND (op, 0),
                       TREE_OPERAND (op, 1));