Mercurial > hg > CbC > old > device
changeset 784:3bc6c34bfa2e
i64 obsf2
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 20 Nov 2010 16:29:25 +0900 |
parents | feeb9b9f8236 |
children | 33d9a4b05bc8 |
files | .gdbinit mc-code-arm.c mc-code-i64.c mc-code-ia32.c mc-code-mips.c mc-code-powerpc.c |
diffstat | 6 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/.gdbinit Sat Nov 20 13:49:56 2010 +0900 +++ b/.gdbinit Sat Nov 20 16:29:25 2010 +0900 @@ -26,7 +26,8 @@ # r -s test/basic.c # r -s test/float.c # r -s test/strinit.c -r -s test/arg.c +# r -s test/arg.c +r -s test/obsf2.c # r -s test/putenemy.c # r -s -DINLINE=inline test/code-gen-all.c # r -s -DINLINE=inline test/strinit.c
--- a/mc-code-arm.c Sat Nov 20 13:49:56 2010 +0900 +++ b/mc-code-arm.c Sat Nov 20 16:29:25 2010 +0900 @@ -2595,6 +2595,7 @@ complex_ = 0; e4 = car(e3); if (car(e4)==RSTRUCT) e4 = cadr(e4); + esel if (car(e4)==INDIRECT) e4 = cadr(e4); if (!simple_arg(e4)) { // Calculate complex struct address here. // If simple, leave it.
--- a/mc-code-i64.c Sat Nov 20 13:49:56 2010 +0900 +++ b/mc-code-i64.c Sat Nov 20 16:29:25 2010 +0900 @@ -2223,6 +2223,7 @@ complex_ = 0; e4 = car(e3); if (car(e4)==RSTRUCT) e4 = cadr(e4); + else if (car(e4)==INDIRECT) e4 = cadr(e4); if (!simple_arg(e4)) { // Calculate complex struct address here. // If simple, leave it. @@ -2237,7 +2238,7 @@ car(e3)=arg; reg_arg_list = list2(arg,reg_arg_list); - car(e3) = rvalue_t(arg,INT); + car(e3) = rvalue_t(arg,LONGLONG); } } stargs = list4(e3,stargs,nargs,reg_arg);
--- a/mc-code-ia32.c Sat Nov 20 13:49:56 2010 +0900 +++ b/mc-code-ia32.c Sat Nov 20 16:29:25 2010 +0900 @@ -1890,6 +1890,7 @@ complex_ = 0; e4 = car(e3); if (car(e4)==RSTRUCT) e4 = cadr(e4); + else if (car(e4)==INDIRECT) e4 = cadr(e4); if (!simple_arg(e4)) { // Calculate complex struct address here. // If simple, leave it.
--- a/mc-code-mips.c Sat Nov 20 13:49:56 2010 +0900 +++ b/mc-code-mips.c Sat Nov 20 16:29:25 2010 +0900 @@ -2193,6 +2193,7 @@ complex_ = 0; e4 = car(e3); if (car(e4)!=RSTRUCT) e4 = cadr(e4); + else if (car(e4)!=INDIRECT) e4 = cadr(e4); if (!simple_arg(e4)) { // Calculate complex struct address here. // If simple, leave it.
--- a/mc-code-powerpc.c Sat Nov 20 13:49:56 2010 +0900 +++ b/mc-code-powerpc.c Sat Nov 20 16:29:25 2010 +0900 @@ -2531,6 +2531,7 @@ complex_ = 0; e4 = car(e3); if (car(e4)==RSTRUCT) e4 = cadr(e4); + else if (car(e4)==INDIRECT) e4 = cadr(e4); if (!simple_arg(e4)) { // Calculate complex struct address here. // If simple, leave it.