(process_init_element): For fieldtype, don't access
authorJim Wilson <wilson@gcc.gnu.org>
Sat, 18 Jun 1994 20:58:57 +0000 (13:58 -0700)
committerJim Wilson <wilson@gcc.gnu.org>
Sat, 18 Jun 1994 20:58:57 +0000 (13:58 -0700)
TYPE_MAIN_VARIANT field if the type is error_mark_node.

From-SVN: r7521

gcc/c-typeck.c

index 7742e35..659a3e3 100644 (file)
@@ -5999,7 +5999,9 @@ process_init_element (value)
              break;
            }
 
-         fieldtype = TYPE_MAIN_VARIANT (TREE_TYPE (constructor_fields));
+         fieldtype = TREE_TYPE (constructor_fields);
+         if (fieldtype != error_mark_node)
+           fieldtype = TYPE_MAIN_VARIANT (fieldtype);
          fieldcode = TREE_CODE (fieldtype);
 
          /* Accept a string constant to initialize a subarray.  */
@@ -6060,7 +6062,9 @@ process_init_element (value)
              break;
            }
 
-         fieldtype = TYPE_MAIN_VARIANT (TREE_TYPE (constructor_fields));
+         fieldtype = TREE_TYPE (constructor_fields);
+         if (fieldtype != error_mark_node)
+           fieldtype = TYPE_MAIN_VARIANT (fieldtype);
          fieldcode = TREE_CODE (fieldtype);
 
          /* Accept a string constant to initialize a subarray.  */