32 lines
414 B
C
32 lines
414 B
C
/* { dg-options "-O2" } */
|
|
/* { dg-do run } */
|
|
|
|
#if defined __i386__
|
|
#define REG "edi"
|
|
#else
|
|
#define REG "r14"
|
|
#endif
|
|
|
|
register unsigned long *ds asm(REG);
|
|
|
|
extern void abort (void);
|
|
|
|
__attribute__ ((noinline)) void
|
|
test (void)
|
|
{
|
|
*++ds = 31337;
|
|
}
|
|
|
|
int
|
|
main ()
|
|
{
|
|
unsigned long stack[2];
|
|
stack[0] = 0;
|
|
stack[1] = 0;
|
|
ds = stack;
|
|
test ();
|
|
if (ds != stack + 1 || *ds != 31337)
|
|
abort ();
|
|
return 0;
|
|
}
|