This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix 66 new objc failures


> 
> --BOUNDARY
> Content-Type: text/plain; charset=us-ascii
> Content-Transfer-Encoding: 7bit
> 
> With your recent patch, GCC HEAD has some regression test failures, 
> which used to pass.  There are 66 new failures, and 20
> failures that existed before and after that patch; 0 failures
> have been fixed.

These are all caused by Zack's patches but really it is a Objective-C front-end issue
not saying a couple of decls are always should be marked as referenced.
Here is a patch which fixes all of these new regressions.

OK? Built Objective-C and these regressions were fixed on powerpc-apple-darwin.

Thanks,
Andrew Pinski
apinski@apple.com

ChangeLog:
	* objc/objc-act.c (build_module_descriptor): Mark UOBJC_MODULES_decl as
	always referenced.
	(synth_forward_declarations): Likewise for UOBJC_CLASS_decl and
	UOBJC_METACLASS_decl.


Patch:
Index: objc-act.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/objc/objc-act.c,v
retrieving revision 1.231
diff -u -p -r1.231 objc-act.c
--- objc-act.c	8 Jul 2004 19:50:17 -0000	1.231
+++ objc-act.c	9 Jul 2004 23:16:01 -0000
@@ -1864,6 +1864,8 @@ build_module_descriptor (void)
 
   /* Mark the decl to avoid "defined but not used" warning.  */
   DECL_IN_SYSTEM_HEADER (UOBJC_MODULES_decl) = 1;
+  
+  mark_decl_referenced (UOBJC_MODULES_decl);
 
   /* Generate a constructor call for the module descriptor.
      This code was generated by reading the grammar rules
@@ -4210,6 +4212,9 @@ synth_forward_declarations (void)
   /* static struct objc_class _OBJC_METACLASS_<my_name>; */
   UOBJC_METACLASS_decl = build_metadata_decl ("_OBJC_METACLASS",
 						  objc_class_template);
+						  
+  mark_decl_referenced (UOBJC_CLASS_decl);
+  mark_decl_referenced (UOBJC_METACLASS_decl);
 
   /* Pre-build the following entities - for speed/convenience.  */
 




> 
> The new failures are:
> native objc.sum objc/execute/IMP.m
> native objc.sum objc/execute/_cmd.m
> native objc.sum objc/execute/accessing_ivars.m
> native objc.sum objc/execute/bf-1.m
> native objc.sum objc/execute/bf-10.m
> native objc.sum objc/execute/bf-11.m
> native objc.sum objc/execute/bf-12.m
> native objc.sum objc/execute/bf-13.m
> native objc.sum objc/execute/bf-14.m
> native objc.sum objc/execute/bf-15.m
> native objc.sum objc/execute/bf-16.m
> native objc.sum objc/execute/bf-17.m
> native objc.sum objc/execute/bf-18.m
> native objc.sum objc/execute/bf-19.m
> native objc.sum objc/execute/bf-2.m
> native objc.sum objc/execute/bf-20.m
> native objc.sum objc/execute/bf-21.m
> native objc.sum objc/execute/bf-3.m
> native objc.sum objc/execute/bf-4.m
> native objc.sum objc/execute/bf-5.m
> native objc.sum objc/execute/bf-6.m
> native objc.sum objc/execute/bf-7.m
> native objc.sum objc/execute/bf-8.m
> native objc.sum objc/execute/bf-9.m
> native objc.sum objc/execute/bycopy-2.m
> native objc.sum objc/execute/bycopy-3.m
> native objc.sum objc/execute/cascading-1.m
> native objc.sum objc/execute/class-1.m
> native objc.sum objc/execute/class-10.m
> native objc.sum objc/execute/class-11.m
> native objc.sum objc/execute/class-12.m
> native objc.sum objc/execute/class-13.m
> native objc.sum objc/execute/class-14.m
> native objc.sum objc/execute/class-2.m
> native objc.sum objc/execute/class-3.m
> native objc.sum objc/execute/class-4.m
> native objc.sum objc/execute/class-5.m
> native objc.sum objc/execute/class-6.m
> native objc.sum objc/execute/class-7.m
> native objc.sum objc/execute/class-8.m
> native objc.sum objc/execute/class-9.m
> native objc.sum objc/execute/class_self-1.m
> native objc.sum objc/execute/class_self-2.m
> native objc.sum objc/execute/enumeration-1.m
> native objc.sum objc/execute/enumeration-2.m
> native objc.sum objc/execute/formal_protocol-1.m
> native objc.sum objc/execute/formal_protocol-2.m
> native objc.sum objc/execute/formal_protocol-3.m
> native objc.sum objc/execute/formal_protocol-4.m
> native objc.sum objc/execute/formal_protocol-7.m
> native objc.sum objc/execute/function-message-1.m
> native objc.sum objc/execute/initialize.m
> native objc.sum objc/execute/load-2.m
> native objc.sum objc/execute/load-3.m
> native objc.sum objc/execute/load.m
> native objc.sum objc/execute/many_args_method.m
> native objc.sum objc/execute/nested-3.m
> native objc.sum objc/execute/no_clash.m
> native objc.sum objc/execute/np-2.m
> native objc.sum objc/execute/object_is_class.m
> native objc.sum objc/execute/object_is_meta_class.m
> native objc.sum objc/execute/redefining_self.m
> native objc.sum objc/execute/root_methods.m
> native objc.sum objc/execute/static-1.m
> native objc.sum objc/execute/static-2.m
> native objc.sum objc/execute/va_method.m
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]