# HG changeset patch # User anatofuz # Date 1541242149 -32400 # Node ID 420680fc7707c3ec4216e525becf8a2e9d97858c # Parent d34655255c7895bb2bda172bd81b508e25028727 do normal call in goto codesegment in normal function diff -r d34655255c78 -r 420680fc7707 CbC-examples/stack1.c --- a/CbC-examples/stack1.c Thu Oct 25 10:21:07 2018 +0900 +++ b/CbC-examples/stack1.c Sat Nov 03 19:49:09 2018 +0900 @@ -2,7 +2,7 @@ test for CbC converted __code from C */ -//#include +#include #define NULL 0 extern int printf(const char*, ...); diff -r d34655255c78 -r 420680fc7707 gcc/calls.c --- a/gcc/calls.c Thu Oct 25 10:21:07 2018 +0900 +++ b/gcc/calls.c Sat Nov 03 19:49:09 2018 +0900 @@ -3726,7 +3726,10 @@ warning(0, "no warning: unnamed code segment has been called from a function."); } */ - args_size.constant = CbC_PRETENDED_STACK_SIZE; + // treat goto codesegments in normall function call as a function call + // this behavale same as llvm + //args_size.constant = CbC_PRETENDED_STACK_SIZE; + try_tail_call = 0; } else if ( fndecl && CbC_IS_CODE_SEGMENT (TREE_TYPE (fndecl)) ) {