johannes 03/01/02 10:53:03
Modified: live/gcc3/gcc calls.c
Log:
Bug #: 3136737
Submitted by: dale
Reviewed by: obvious
Restore local patch to do indirect sibcalls (lost in merge)
Revision Changes Path
1.40 +2 -2 src/live/gcc3/gcc/calls.c
Index: calls.c
===================================================================
RCS file: /cvs/Darwin/src/live/gcc3/gcc/calls.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- calls.c 2002/12/08 00:37:41 1.39
+++ calls.c 2003/01/02 18:52:59 1.40
@@ -2532,9 +2532,9 @@
before the sibcall_epilogue. */
|| fndecl == NULL_TREE
#endif
-/* APPLE LOCAL end */
|| (flags & (ECF_RETURNS_TWICE | ECF_LONGJMP | ECF_NORETURN))
- || !FUNCTION_OK_FOR_SIBCALL (fndecl)
+ || (fndecl && !FUNCTION_OK_FOR_SIBCALL (fndecl))
+/* APPLE LOCAL end */
/* If this function requires more stack slots than the current
function, we cannot change it into a sibling call. */
|| args_size.constant > current_function_args_size