changeset 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 32380d8cb035
children f214c1d5b862
files gcc/c-parser.c gcc/calls.c gcc/calls.c~
diffstat 3 files changed, 9 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/gcc/c-parser.c	Sun Nov 13 16:24:42 2011 +0900
+++ b/gcc/c-parser.c	Thu Dec 15 02:37:13 2011 +0900
@@ -6741,7 +6741,10 @@
         tree decl_cond =
           build_decl (location, VAR_DECL, get_identifier ("retval"),
 		      TREE_TYPE (TREE_TYPE (current_function_decl)));
+	/* use thread-local  */
+	//	DECL_TLS_MODEL (decl_cond) = decl_default_tls_model (decl_cond);
         TREE_STATIC (decl_cond) = 1;
+	
         DECL_ARTIFICIAL (decl_cond) = 1;
         pushdecl (decl_cond);
 
--- a/gcc/calls.c	Sun Nov 13 16:24:42 2011 +0900
+++ b/gcc/calls.c	Thu Dec 15 02:37:13 2011 +0900
@@ -2335,12 +2335,7 @@
 #endif
       /* Check whether the target is able to optimize the call
 	 into a sibcall.  */
-#ifndef noCbC
-      || (!targetm.function_ok_for_sibcall (fndecl, exp)
-	 && (!fndecl || !CbC_IS_CODE_SEGMENT (TREE_TYPE (fndecl))))
-#else
       || !targetm.function_ok_for_sibcall (fndecl, exp)
-#endif 
       /* Functions that do not return exactly once may not be sibcall
 	 optimized.  */
       || (flags & (ECF_RETURNS_TWICE | ECF_NORETURN))
@@ -2353,14 +2348,8 @@
 	 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)
--- 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)