Mercurial > hg > CbC > CbC_gcc
diff gcc/calls.c @ 83:6fb1a677d0b5
modify expand_call
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 11 Nov 2011 04:29:33 +0900 |
parents | 895e19fe9c22 |
children | 12b3180c7d07 |
line wrap: on
line diff
--- a/gcc/calls.c Fri Nov 11 02:35:16 2011 +0900 +++ b/gcc/calls.c Fri Nov 11 04:29:33 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)