mirror of
https://github.com/nArnoSNES/tcc-65816.git
synced 2024-06-02 19:42:59 +00:00
23 lines
310 B
C
23 lines
310 B
C
extern void abort (void);
|
|
|
|
int
|
|
main ()
|
|
{
|
|
int i, j;
|
|
unsigned long u, r1, r2;
|
|
|
|
i = -16;
|
|
j = 1;
|
|
u = i + j;
|
|
|
|
/* no sign extension upon shift */
|
|
r1 = u >> 1;
|
|
/* sign extension upon shift, but there shouldn't be */
|
|
r2 = ((unsigned long) (i + j)) >> 1;
|
|
|
|
if (r1 != r2)
|
|
abort ();
|
|
|
|
return 0;
|
|
}
|