From: michaelh Date: Sun, 7 Oct 2001 17:12:13 +0000 (+0000) Subject: Created X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=066a38adf95543bf8d29724681fa0303d67f0bfc;p=fw%2Fsdcc Created git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1372 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/support/regression/tests/bug-468811.c b/support/regression/tests/bug-468811.c new file mode 100644 index 00000000..c5454561 --- /dev/null +++ b/support/regression/tests/bug-468811.c @@ -0,0 +1,74 @@ +/* For some reason an integer operation is run as floating point. + Test is to see if it links. + */ +#include + +typedef unsigned char UBYTE; +typedef unsigned char UINT8; + +void +set_sprite_tile(UINT8 nb, UINT8 tile) +{ + UNUSED(nb && tile); +} + +/* screen size */ +#define MIN_SX 5U /* min x (char) */ +#define MAX_SX (20U-MIN_SX) /* max x (char) */ +#define MIN_SY 5U /* min y (char) */ +#define MAX_SY (MIN_SY+13U) /* max y (char) */ + +#define DEF_SP 30U /* sprite null char code */ + +/* player */ +#define MIN_PX (MIN_SX*8U+8U) /* min x (dot) */ +#define MAX_PX (MAX_SX*8U-8U) /* max x (dot) */ +#define DEF_PX 80U /* ship x pos (dot) */ +#define DEF_PY (MIN_SY*8U) /* ship y pos (dot) */ +#define DEF_PC0 14U +#define DEF_PC1 15U +#define DEF_PF 8U + +/* bomb */ +#define MAX_TT 6U /* number */ +#define DEF_TS 2U /* sprite tile id */ +#define DEF_TC 2U /* sprite data id */ +#define DEF_TX (80U-6U) /* bomb x pos (dot) */ +#define DEF_TY (DEF_PY-14U) /* bomb y pos (dot) */ +#define MAX_TY (MAX_SY*8U) /* max y pos (dot) */ + +/* enemy */ +#define MAX_ET 10U /* number */ +#define DEF_ES0 (DEF_TS+MAX_TT) /* sprite tile id */ +#define DEF_ES1 (DEF_ES0+1U) +#define DEF_1EC0 32U +#define DEF_1EC1 48U +#define DEF_2EC0 64U +#define DEF_2EC1 80U +#define DEF_XEC0 96U /* sprite data(X) id */ +#define DEF_XEC1 112U /* sprite data(X) id */ +#define DEF_EY (DEF_PY+12U) +#define DEF_EH 10U +#define SUB_EX0 20U +#define SUB_EX1 (SUB_EX0-8U) +#define MIN_EX (SUB_EX0-16U) +#define MAX_EX (SUB_EX0+180U) +#define SPEED_EY (DEF_EY+DEF_EH*3U) +#define DEF_BC1 4U +#define DEF_BC2 5U + +UBYTE ef[MAX_ET], ex[MAX_ET], ey[MAX_ET]; +UBYTE pf, px, pp, pl; + +/* enemys */ +void enemys() +{ + UBYTE i; + + for( i=0; i