8sa1-gcc/gcc/testsuite/gcc.c-torture/execute/20020201-1.c
Jakub Jelinek d3c5265862 re PR c/5304 (gcc-20011231 generates incorrect divmod code for chars)
PR c/5304:
	* expmed.c (expand_mult_highpart): Use immed_double_const for wide_op1
	unconditionally.

	* gcc.c-torture/execute/20020201-1.c: New test.

From-SVN: r49416
2002-02-02 00:43:19 +01:00

38 lines
749 B
C

/* Test whether division by constant works properly. */
extern void abort (void);
extern void exit (int);
unsigned char cx = 7;
unsigned short sx = 14;
unsigned int ix = 21;
unsigned long lx = 28;
unsigned long long Lx = 35;
int
main ()
{
unsigned char cy;
unsigned short sy;
unsigned int iy;
unsigned long ly;
unsigned long long Ly;
cy = cx / 6; if (cy != 1) abort ();
cy = cx % 6; if (cy != 1) abort ();
sy = sx / 6; if (sy != 2) abort ();
sy = sx % 6; if (sy != 2) abort ();
iy = ix / 6; if (iy != 3) abort ();
iy = ix % 6; if (iy != 3) abort ();
ly = lx / 6; if (ly != 4) abort ();
ly = lx % 6; if (ly != 4) abort ();
Ly = Lx / 6; if (Ly != 5) abort ();
Ly = Lx % 6; if (Ly != 5) abort ();
exit(0);
}