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 PR objc/37460 [4.4 Regression]: objc.dg/super-class-2.m objc.dg/zero-link-1.m objc.dg/zero-link-2.m ICE


Hi,
  This turned out to be the same issue which I mentioned back in June
during the GCC summit of the tuples branch
(http://gcc.gnu.org/ml/gcc/2008-06/msg00460.html).  So the issue is
that the Objective-C's front-end defines the language hook
LANG_HOOKS_GET_CALLEE_FNDECL and returns a function decl that is
correct but as mentioned in previous email on the issue,
gimple_build_call_from_tree calls get_callee_fndecl to get the real
decl so we get a mismatched types and such.  So the real solution is
just to remove this language hook, it is not needed to get the
behavior of why it was added any more as OBJ_TYPE_REF alone is enough
to cause a direct call to happen even at -O0.

OK? Bootstrapped and tested on i386-darwin with no regressions and all
the objective-C regressions are gone.

Thanks,
Andrew Pinski

objc/ChangeLog:
* objc-act.c (objc_get_callee_fndecl): Remove.
* objc-act.h (objc_get_callee_fndecl): Remove.
* objc-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.


objcp/ChangeLog:
* objcp-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define

Attachment: fixtuple.diff.txt
Description: Text document


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