Mercurial > hg > CbC > old > device
changeset 693:e5a498eab0f4
*** empty log message ***
author | kono |
---|---|
date | Sat, 13 Oct 2007 18:49:28 +0900 |
parents | 6785c63f0558 |
children | edc024fc7472 |
files | .gdbinit mc-code-arm.c mc-code-ia32.c mc-code-mips.c mc-code-powerpc.c mc-code-spu.c mc-parse.c |
diffstat | 7 files changed, 18 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/.gdbinit Fri Oct 12 21:40:45 2007 +0900 +++ b/.gdbinit Sat Oct 13 18:49:28 2007 +0900 @@ -13,11 +13,11 @@ x/1i $eip end b errmsg -# r -s test/tmp7.c +r -s test/tmp7.c # r -s test/tmp6.c # r -s test/call.c # r -s test/code-gen-all.c # r -s mc-code-powerpc.c -r -s test/strinit.c +# r -s test/strinit.c # r -s -DINLINE=inline test/strinit.c # r -s test/fact-a.c
--- a/mc-code-arm.c Fri Oct 12 21:40:45 2007 +0900 +++ b/mc-code-arm.c Sat Oct 13 18:49:28 2007 +0900 @@ -2570,12 +2570,12 @@ if (e5) { // compute address only, complex_ is me now. Clear it. complex_ = 0; e4 = car(e3); - if (car(e4)!=RSTRUCT) error(-1); - if (!simple_arg(cadr(e4))) { + if (car(e4)==RSTRUCT) e4 = cadr(e4); + if (!simple_arg(e4)) { // Calculate complex struct address here. // If simple, leave it. arg = get_register_var(0); - g_expr_u(assign_expr0(arg,list2(ADDRESS,car(e3)),INT,INT)); + g_expr_u(assign_expr0(arg,e4,INT,INT)); car(e3)=arg; reg_arg_list = list2(arg,reg_arg_list); if (car(arg)==REGISTER) use_input_reg(cadr(arg),1);
--- a/mc-code-ia32.c Fri Oct 12 21:40:45 2007 +0900 +++ b/mc-code-ia32.c Sat Oct 13 18:49:28 2007 +0900 @@ -1849,17 +1849,17 @@ if (e5) { // compute address only, complex_ is me now. Clear it. complex_ = 0; e4 = car(e3); - if (car(e4)!=RSTRUCT) error(-1); - if (!simple_arg(cadr(e4))) { + if (car(e4)==RSTRUCT) e4 = cadr(e4); + if (!simple_arg(e4)) { // Calculate complex struct address here. // If simple, leave it. arg = get_register_var(0); #if ARG_ORDER==1 delayed_arg = list2( - assign_expr0(arg,list2(ADDRESS,car(e3)),INT,INT), + assign_expr0(arg,e4,INT,INT), delayed_arg); #else - g_expr_u(assign_expr0(arg,list2(ADDRESS,car(e3)),INT,INT)); + g_expr_u(assign_expr0(arg,e4,INT,INT)); #endif car(e3)=arg; reg_arg_list = list2(arg,reg_arg_list);
--- a/mc-code-mips.c Fri Oct 12 21:40:45 2007 +0900 +++ b/mc-code-mips.c Sat Oct 13 18:49:28 2007 +0900 @@ -2166,12 +2166,12 @@ if (e5) { // compute address only, complex_ is me now. Clear it. complex_ = 0; e4 = car(e3); - if (car(e4)!=RSTRUCT) error(-1); - if (!simple_arg(cadr(e4))) { + if (car(e4)!=RSTRUCT) e4 = cadr(e4); + if (!simple_arg(e4)) { // Calculate complex struct address here. // If simple, leave it. arg = get_register_var(0); - g_expr_u(assign_expr0(arg,list2(ADDRESS,car(e3)),INT,INT)); + g_expr_u(assign_expr0(arg,e4,INT,INT)); car(e3)=arg; reg_arg_list = list2(arg,reg_arg_list); if (car(arg)==REGISTER) use_input_reg(cadr(arg),1);
--- a/mc-code-powerpc.c Fri Oct 12 21:40:45 2007 +0900 +++ b/mc-code-powerpc.c Sat Oct 13 18:49:28 2007 +0900 @@ -2493,12 +2493,12 @@ if (e5) { // compute address only, complex_ is me now. Clear it. complex_ = 0; e4 = car(e3); - if (car(e4)!=RSTRUCT) error(-1); - if (!simple_arg(cadr(e4))) { + if (car(e4)==RSTRUCT) e4 = cadr(e4); + if (!simple_arg(e4)) { // Calculate complex struct address here. // If simple, leave it. arg = get_register_var(0); - g_expr_u(assign_expr0(arg,list2(ADDRESS,car(e3)),INT,INT)); + g_expr_u(assign_expr0(arg,e4,INT,INT)); car(e3)=arg; reg_arg_list = list2(arg,reg_arg_list); if (car(arg)==REGISTER) use_input_reg(cadr(arg),1);
--- a/mc-code-spu.c Fri Oct 12 21:40:45 2007 +0900 +++ b/mc-code-spu.c Sat Oct 13 18:49:28 2007 +0900 @@ -2475,12 +2475,12 @@ if (e5) { // compute address only, complex_ is me now. Clear it. complex_ = 0; e4 = car(e3); - if (car(e4)!=RSTRUCT) error(-1); + if (car(e4)==RSTRUCT) e4 = cadr(e4); if (!simple_arg(cadr(e4))) { // Calculate complex struct address here. // If simple, leave it. arg = get_register_var(0); - g_expr_u(assign_expr0(arg,list2(ADDRESS,car(e3)),INT,INT)); + g_expr_u(assign_expr0(arg,e4,INT,INT)); car(e3)=arg; reg_arg_list = list2(arg,reg_arg_list); if (car(arg)==REGISTER) use_input_reg(cadr(arg),1);