diff gcc/gimplify.c @ 1:caeb520cebed

patch for CbC
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 17 Jul 2009 17:43:54 +0900
parents a06113de4d67
children 9de9dad105d4
line wrap: on
line diff
--- a/gcc/gimplify.c	Fri Jul 17 14:47:48 2009 +0900
+++ b/gcc/gimplify.c	Fri Jul 17 17:43:54 2009 +0900
@@ -52,6 +52,10 @@
 #include "splay-tree.h"
 #include "vec.h"
 #include "gimple.h"
+#ifndef noCbC
+#include "cbc-tree.h"
+#endif
+
 
 
 enum gimplify_omp_var_data
@@ -1329,7 +1333,16 @@
       return GS_ALL_DONE;
     }
 
-  if (VOID_TYPE_P (TREE_TYPE (TREE_TYPE (current_function_decl))))
+  if (VOID_TYPE_P (TREE_TYPE (TREE_TYPE (current_function_decl))) 
+#ifndef noCbC
+      || ( ret_expr
+           && TREE_CODE(ret_expr)==CALL_EXPR
+	   && CbC_IS_CbC_GOTO(ret_expr) 
+	   //&& !CbC_IS_CODE_SEGMENT(TREE_TYPE(current_function_decl)))
+	   && !(current_function_decl&&CbC_IS_CODE_SEGMENT(TREE_TYPE(current_function_decl))))
+	   //&& !(current_function_decl&&CbC_IS_CODE_SEGMENT(current_function_decl)))
+#endif
+     )
     result_decl = NULL_TREE;
   else
     {