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 @@ -2337,7 +2337,7 @@ into a sibcall. */ #ifndef noCbC || (!targetm.function_ok_for_sibcall (fndecl, exp) - && !CbC_IS_CODE_SEGMENT (TREE_TYPE (fndecl))) + && (!fndecl || !CbC_IS_CODE_SEGMENT (TREE_TYPE (fndecl)))) #else || !targetm.function_ok_for_sibcall (fndecl, exp) #endif @@ -2368,9 +2368,9 @@ /* Check if caller and callee disagree in promotion of function return value. */ #ifndef noCbC - if(0) + if (try_tail_call && (!fndecl || !CbC_IS_CODE_SEGMENT (TREE_TYPE (fndecl)))) #else - if (try_tail_call) + if (try_tail_call) #endif { enum machine_mode caller_mode, caller_promoted_mode;