diff gcc/calls.c~ @ 86:12b3180c7d07

modify calls.c.
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Thu, 15 Dec 2011 02:37:13 +0900
parents 6fb1a677d0b5
children f214c1d5b862
line wrap: on
line diff
--- a/gcc/calls.c~	Sun Nov 13 16:24:42 2011 +0900
+++ b/gcc/calls.c~	Thu Dec 15 02:37:13 2011 +0900
@@ -2353,8 +2353,14 @@
 	 function, we cannot change it into a sibling call.
 	 crtl->args.pretend_args_size is not part of the
 	 stack allocated by our caller.  */
+#ifndef noCbC
+      || (args_size.constant > (crtl->args.size
+			       - crtl->args.pretend_args_size)
+	  && (!fndecl || !CbC_IS_CODE_SEGMENT (TREE_TYPE (fndecl))))
+#else
       || args_size.constant > (crtl->args.size
 			       - crtl->args.pretend_args_size)
+#endif 
       /* If the callee pops its own arguments, then it must pop exactly
 	 the same number of arguments as the current function.  */
       || (targetm.calls.return_pops_args (fndecl, funtype, args_size.constant)