Mercurial > hg > CbC > CbC_gcc
diff gcc/gimplify.c @ 73:ce75bd9117e4
merge calls.c, cfgexpand.c, gcc.c, gimple.c, gimple.h and gimplify.c
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 22 Aug 2011 01:54:47 +0900 |
parents | b81903832de2 |
children | ab0bcb71f44d |
line wrap: on
line diff
--- a/gcc/gimplify.c Sun Aug 21 22:22:32 2011 +0900 +++ b/gcc/gimplify.c Mon Aug 22 01:54:47 2011 +0900 @@ -46,6 +46,9 @@ #include "vec.h" #include "gimple.h" #include "tree-pass.h" +#ifndef noCbC +#include "cbc-tree.h" +#endif #include "langhooks-def.h" /* FIXME: for lhd_set_decl_assembler_name. */ #include "expr.h" /* FIXME: for can_move_by_pieces @@ -1234,7 +1237,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 {