Mercurial > hg > CbC > old > device
comparison mc-inline.c @ 695:3e69986a7b82
*** empty log message ***
author | kono |
---|---|
date | Wed, 17 Oct 2007 22:22:12 +0900 |
parents | 6785c63f0558 |
children | 7f0f92380714 |
comparison
equal
deleted
inserted
replaced
694:edc024fc7472 | 695:3e69986a7b82 |
---|---|
650 } | 650 } |
651 | 651 |
652 static int | 652 static int |
653 palloc(int e) | 653 palloc(int e) |
654 { | 654 { |
655 return list2(car(e),pexpr(cadr(e))); | 655 int e1 = pexpr(e); |
656 if (car(e1)==CONST) | |
657 return list2(ADDRESS,list3(LVAR,new_lvar_align(cadr(e1),16),0)); | |
658 return list2(ALLOCA,e1); | |
656 } | 659 } |
657 | 660 |
658 static int | 661 static int |
659 pcomma(int e1,int e2) | 662 pcomma(int e1,int e2) |
660 { | 663 { |
677 } | 680 } |
678 | 681 |
679 static int | 682 static int |
680 pbassop(int e) | 683 pbassop(int e) |
681 { | 684 { |
682 int e1=pexpr(caddr(e)); | 685 int e1 = caddr(e); |
686 if (car(e)==BASSOP) e1=pexpr(e1); | |
683 return list4(car(e),pexpr(cadr(e)),e1,cadddr(e)); | 687 return list4(car(e),pexpr(cadr(e)),e1,cadddr(e)); |
684 } | 688 } |
685 | 689 |
686 /* | 690 /* |
687 variable initialization with offset | 691 variable initialization with offset |