(digest_init): Test TREE_TYPE (inside_init) is
authorRichard Stallman <rms@gnu.org>
Tue, 18 Aug 1992 02:55:07 +0000 (02:55 +0000)
committerRichard Stallman <rms@gnu.org>
Tue, 18 Aug 1992 02:55:07 +0000 (02:55 +0000)
nonzero before testing anything else about it.

From-SVN: r1879

gcc/c-typeck.c

index 18f2ed50136f85a40d474e2223f3463191f9056a..c20cbecb46fc1a352fdb2357466aa0c605dae68e 100644 (file)
@@ -4603,12 +4603,12 @@ digest_init (type, init, tail, require_constant, constructor_constant, ofwhat)
      from an expression of the same type, optionally with braces.
      For an array, this is allowed only for a string constant.  */
 
-  if (inside_init
-      && (TYPE_MAIN_VARIANT (TREE_TYPE (inside_init)) == TYPE_MAIN_VARIANT (type)
-         || (code == ARRAY_TYPE && TREE_TYPE (inside_init)
+  if (inside_init && TREE_TYPE (inside_init) != 0
+      && ((TYPE_MAIN_VARIANT (TREE_TYPE (inside_init))
+          == TYPE_MAIN_VARIANT (type)))
+         || (code == ARRAY_TYPE
              && comptypes (TREE_TYPE (inside_init), type))
          || (code == POINTER_TYPE
-             && TREE_TYPE (inside_init) != 0
              && (TREE_CODE (TREE_TYPE (inside_init)) == ARRAY_TYPE
                  || TREE_CODE (TREE_TYPE (inside_init)) == FUNCTION_TYPE)
              && comptypes (TREE_TYPE (TREE_TYPE (inside_init)),