shuffle(type, (tree *)newtree, shuffle_length);
 
-       /*
-        * set up a bogus anonymous struct field designed to error out on unnamed struct initializers
-        * as gcc provides no other way to detect such code
-        */
-       list = make_node(FIELD_DECL);
-       TREE_CHAIN(list) = newtree[0];
-       TREE_TYPE(list) = void_type_node;
-       DECL_SIZE(list) = bitsize_zero_node;
-       DECL_NONADDRESSABLE_P(list) = 1;
-       DECL_FIELD_BIT_OFFSET(list) = bitsize_zero_node;
-       DECL_SIZE_UNIT(list) = size_zero_node;
-       DECL_FIELD_OFFSET(list) = size_zero_node;
-       DECL_CONTEXT(list) = type;
-       // to satisfy the constify plugin
-       TREE_READONLY(list) = 1;
-
        for (i = 0; i < num_fields - 1; i++)
                TREE_CHAIN(newtree[i]) = newtree[i+1];
        TREE_CHAIN(newtree[num_fields - 1]) = NULL_TREE;
 
        main_variant = TYPE_MAIN_VARIANT(type);
        for (variant = main_variant; variant; variant = TYPE_NEXT_VARIANT(variant)) {
-               TYPE_FIELDS(variant) = list;
+               TYPE_FIELDS(variant) = newtree[0];
                TYPE_ATTRIBUTES(variant) = copy_list(TYPE_ATTRIBUTES(variant));
                TYPE_ATTRIBUTES(variant) = tree_cons(get_identifier("randomize_performed"), NULL_TREE, TYPE_ATTRIBUTES(variant));
                TYPE_ATTRIBUTES(variant) = tree_cons(get_identifier("designated_init"), NULL_TREE, TYPE_ATTRIBUTES(variant));