# HG changeset patch # User Shinji KONO # Date 1289908222 -32400 # Node ID 7a19e49db6acb5bfaed297ede936f7fc89ecf44e # Parent 7cb7dd01507fd4abf5f58295fb17ed4a1c6a55ac i64 continue.. struct diff -r 7cb7dd01507f -r 7a19e49db6ac mc-codegen.c --- a/mc-codegen.c Tue Nov 16 19:44:54 2010 +0900 +++ b/mc-codegen.c Tue Nov 16 20:50:22 2010 +0900 @@ -4467,13 +4467,22 @@ e=list3n(LVAR,cadr(e) + dsp,ncaddr(e)); /* may have attribute */ break; case INDIRECT: - e=list2(INDIRECT,list3(ADD,cadr(e),list2(CONST,dsp))); + if (lp64) + e=list2(INDIRECT,list3(LADD,cadr(e),llist2(LCONST,dsp))); + else + e=list2(INDIRECT,list3(ADD,cadr(e),list2(CONST,dsp))); break; case IVAR: - e=list3(ADD,e,list2(CONST,dsp)); + if (lp64) + e=list3(LADD,e,llist2(LCONST,dsp)); + else + e=list3(ADD,e,list2(CONST,dsp)); break; default: - e=list2(INDIRECT,list3(ADD,e,list2(CONST,dsp))); + if (lp64) + e=list2(INDIRECT,list3(LADD,e,llist2(LCONST,dsp))); + else + e=list2(INDIRECT,list3(ADD,e,list2(CONST,dsp))); } } else { switch(car(e)) {