Fixes for issues I've just found/introduced to x86 TCC.

- Cast from pointer to long long makes TCC output an error. Use cast to int before we apply shift operation for a pointer value.
- Removed test cases for casts from pointer to char/short because they produce warning.
This commit is contained in:
Shinichiro Hamaji
2009-04-16 02:34:59 +09:00
committed by grischka
parent be43c8e0ed
commit 83fd36333a
2 changed files with 6 additions and 3 deletions

5
tcc.c
View File

@ -6219,6 +6219,11 @@ static void gen_cast(CType *type)
vpushi(0);
gv(RC_INT);
} else {
if (sbt == VT_PTR) {
/* cast from pointer to int before we apply
shift operation, which pointers don't support*/
gen_cast(&int_type);
}
gv_dup();
vpushi(31);
gen_op(TOK_SAR);