# HG changeset patch # User kono # Date 1135425710 -32400 # Node ID 96af6754acd36cbe2798bb37b3e2661fe79663ea # Parent 5d4112735c5cb1a7e310e3e53bfcd6b1bcd2e14d *** empty log message *** diff -r 5d4112735c5c -r 96af6754acd3 Changes --- a/Changes Sat Dec 24 12:58:20 2005 +0900 +++ b/Changes Sat Dec 24 21:01:50 2005 +0900 @@ -7475,7 +7475,6 @@ recursive inline �θ��ФϤ��ʤ��Ȥ����ʤ��櫓�͡� - (�������ʤ�ä���ä��ߤ���.... �ޤ������ٽ��ä���ä����) Fri Dec 23 19:37:42 JST 2005 @@ -7491,3 +7490,12 @@ return cadr(in); } �ߤ����ʴ���? + +Sat Dec 24 21:00:17 JST 2005 + +pfdecl �ǡ�inline ���������������ɡ������ǰ�����n->dsp�� arg_register +�ʤɤ��˲�����Ƥ��ޤ�������ȡ�inline ��inline��ޤ�Ǥ���������þ���ޤ��� + + + + diff -r 5d4112735c5c -r 96af6754acd3 mc-inline.c --- a/mc-inline.c Sat Dec 24 12:58:20 2005 +0900 +++ b/mc-inline.c Sat Dec 24 21:01:50 2005 +0900 @@ -159,7 +159,7 @@ // conv->switch_(); slfree=lfree; svalue=csvalue1; /* save parents switch value */ - gexpr(caddr(e1),1); + gexpr(caddr(e1),1); /* switch value */ csvalue1=csvalue() ; // conv->switch_body_(); cslabel = control = 0; @@ -635,7 +635,11 @@ static int p_case(int e) { - return list3(ST_CASE,pexpr(cadr(e)),caddr(e)); + int new=0,clist = caddr(e); + // insert destory clist, we have to copy it now + for(;clist;clist=cadr(clist)) + new=glist3(car(clist),new,0); + return list3(ST_CASE,pexpr(cadr(e)),reverse0(new)); } static int diff -r 5d4112735c5c -r 96af6754acd3 mc-parse.c --- a/mc-parse.c Sat Dec 24 12:58:20 2005 +0900 +++ b/mc-parse.c Sat Dec 24 21:01:50 2005 +0900 @@ -2273,15 +2273,14 @@ while(sym==CASE) { conv->case_begin_(0,0); getsym(0); - if (inmode) - clist=list3(cexpr(expr(1)),clist,0); - else - clist=glist3(cexpr(expr(1)),clist,l); + // we have to make it global? + c = cexpr(expr(1)); + clist=glist3(c,clist,inmode?0:l); conv->case_(0,0); checksym(COLON); } if (inmode) { - parse = list3(ST_CASE,parse,clist); + parse = glist3(ST_CASE,parse,clist); control=1; return; }