------- Additional Comments From pinskia at gcc dot gnu dot org 2004-09-28 03:30 ------- Can you try this patch (I am testing it right now on powerpc-darwin for the NeXT runtime), the code I am removing dates back before EGCS: Index: objc-act.c =============================================================== ==== RCS file: /cvs/gcc/gcc/gcc/objc/objc-act.c,v retrieving revision 1.248 diff -u -p -r1.248 objc-act.c --- objc-act.c 24 Sep 2004 23:15:33 -0000 1.248 +++ objc-act.c 28 Sep 2004 03:29:33 -0000 @@ -3754,9 +3754,6 @@ static void generate_method_descriptors (tree protocol) { tree initlist, chain, method_list_template; - tree variable_length_type - = xref_tag (RECORD_TYPE, - get_identifier (UTAG_METHOD_PROTOTYPE_LIST)); int size; if (!objc_method_prototype_template) @@ -3779,7 +3776,6 @@ generate_method_descriptors (tree protoc = generate_descriptor_table (method_list_template, "_OBJC_PROTOCOL_CLASS_METHODS", size, initlist, protocol); - TREE_TYPE (UOBJC_CLASS_METHODS_decl) = variable_length_type; } else UOBJC_CLASS_METHODS_decl = 0; @@ -3800,7 +3796,6 @@ generate_method_descriptors (tree protoc = generate_descriptor_table (method_list_template, "_OBJC_PROTOCOL_INSTANCE_METHODS", size, initlist, protocol); - TREE_TYPE (UOBJC_INSTANCE_METHODS_decl) = variable_length_type; } else UOBJC_INSTANCE_METHODS_decl = 0; @@ -4484,8 +4479,6 @@ static void generate_ivar_lists (void) { tree initlist, ivar_list_template, chain; - tree variable_length_type - = xref_tag (RECORD_TYPE, get_identifier (UTAG_IVAR_LIST)); int size; generating_instance_variables = 1; @@ -4507,7 +4500,6 @@ generate_ivar_lists (void) UOBJC_CLASS_VARIABLES_decl = generate_ivars_list (ivar_list_template, "_OBJC_CLASS_VARIABLES", size, initlist); - TREE_TYPE (UOBJC_CLASS_VARIABLES_decl) = variable_length_type; } else UOBJC_CLASS_VARIABLES_decl = 0; @@ -4522,7 +4514,6 @@ generate_ivar_lists (void) UOBJC_INSTANCE_VARIABLES_decl = generate_ivars_list (ivar_list_template, "_OBJC_INSTANCE_VARIABLES", size, initlist); - TREE_TYPE (UOBJC_INSTANCE_VARIABLES_decl) = variable_length_type; } else UOBJC_INSTANCE_VARIABLES_decl = 0; @@ -4654,8 +4645,6 @@ static void generate_dispatch_tables (void) { tree initlist, chain, method_list_template; - tree variable_length_type - = xref_tag (RECORD_TYPE, get_identifier (UTAG_METHOD_LIST)); int size; if (!objc_method_template) @@ -4678,7 +4667,6 @@ generate_dispatch_tables (void) ? "_OBJC_CLASS_METHODS" : "_OBJC_CATEGORY_CLASS_METHODS"), size, initlist); - TREE_TYPE (UOBJC_CLASS_METHODS_decl) = variable_length_type; } else UOBJC_CLASS_METHODS_decl = 0; @@ -4704,7 +4692,6 @@ generate_dispatch_tables (void) = generate_dispatch_table (method_list_template, "_OBJC_CATEGORY_INSTANCE_METHODS", size, initlist); - TREE_TYPE (UOBJC_INSTANCE_METHODS_decl) = variable_length_type; } else UOBJC_INSTANCE_METHODS_decl = 0;
-- What |Removed |Added ---------------------------------------------------------------------------- Component|regression |objc http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16546