Mercurial > hg > CbC > old > device
changeset 674:68d70527b0c0
*** empty log message ***
author | kono |
---|---|
date | Sat, 05 May 2007 13:45:55 +0900 |
parents | 442e90958386 |
children | ba7110017db5 |
files | Changes Makefile.ia32 mc-code-powerpc.c test/inline.c test/putenemy.c |
diffstat | 5 files changed, 38 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/Changes Sat May 05 08:10:56 2007 +0900 +++ b/Changes Sat May 05 13:45:55 2007 +0900 @@ -9258,4 +9258,22 @@ は、update されない。なので、leave_scope 中で、nptr を書き換える必要がある。 - +PS3 ppc の make diff が通らない... +code-gen-all の inline も + +PPCで、inc_flag をしないと、long long の比較でしくじる + +PS3 ppc は、レジスタ2が予約らしい (library で使うとアウト) + +bitfield がずれている。 + + + +Sat May 5 13:10:05 JST 2007 + +ia32 のidiv/imull の符号の扱いがおかしいらいが.... + +いや、これは引数の呼び出し順序の問題ですね。これを +変えるのは不可能ではないのだが... + +
--- a/Makefile.ia32 Sat May 05 08:10:56 2007 +0900 +++ b/Makefile.ia32 Sat May 05 13:45:55 2007 +0900 @@ -1,12 +1,12 @@ # CC = gcc -std=c99 CC = cc # -O3 -CFLAGS = -g -Wall -I. -DUSE_CODE_KEYWORD +CFLAGS = -g -O -Wall -I. -DUSE_CODE_KEYWORD # CFLAGS = -g -Wall -I. -pg -fprofile-arcs -ftest-coverage # LDFLAGS = -pg # for Linux Zaurus # CFLAGS = -fsigned-char -pipe -g -I. -I/home/zaurus/develop/include -CFLAGS1 = -g -I. +CFLAGS1 = -g -I. BASE=0 STAGE=1 MFLAGS=$(MFALGS) BASE=$(BASE) STAGE=$(STAGE)
--- a/mc-code-powerpc.c Sat May 05 08:10:56 2007 +0900 +++ b/mc-code-powerpc.c Sat May 05 13:45:55 2007 +0900 @@ -1105,7 +1105,9 @@ i = REG_VAR_BASE-i; } else { if (i<0||i>=MAX_INPUT_REGISTER_VAR) return 0; +#ifndef __APPLE__ if (i%2==1) i++; +#endif i = i+MIN_TMP_REG; } ll = get_lregister1(i,i+1);
--- a/test/inline.c Sat May 05 08:10:56 2007 +0900 +++ b/test/inline.c Sat May 05 13:45:55 2007 +0900 @@ -268,8 +268,8 @@ " test4\n"); #if 0 // error - printf("#0270:test5 - test6\n"); + //printf("#0270:test5 + // test6\n"); #endif printf("#0273:test7 \ test8\n");
--- a/test/putenemy.c Sat May 05 08:10:56 2007 +0900 +++ b/test/putenemy.c Sat May 05 13:45:55 2007 +0900 @@ -27,7 +27,7 @@ } } -int Mycos(int c) +int Mycos0(int c) { c%=360; if(c<0) c+=360; @@ -38,7 +38,12 @@ return(0); } -int Mysin(int c) +int Mycos(int c) { + printf("Mycos %d=%d\n",c,Mycos0(c)); + return Mycos0(c); +} + +int Mysin0(int c) { c%=360; if(c<0) c+=360; @@ -49,6 +54,11 @@ return(0); } +int Mysin(int c) { + printf("Mysin %d=%d\n",c,Mysin0(c)); + return Mysin0(c); +} + void Putenemy(int charno,float x,float y,float sx,float sy,int move) { if(x) @@ -60,6 +70,7 @@ main() { int ix=32,iy=32; float fx=32,fy=32; + srand(55555); sankakuf(); printf("#0060:%d %d\n", Mysin(45),Mycos(-30)); {