OSDN Git Service

* gcc.dg/pr32370.c: Force 64 bits on IA64.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / pr32370.c
1 /* PR middle-end/32370 */
2 /* { dg-do compile { target i?86-*-* x86_64-*-* ia64-*-* } } */
3 /* { dg-options "" { target ia64-*-* } } */
4 /* { dg-options "-ffixed-esi" { target i?86-*-* x86_64-*-* } } */
5
6 #if defined __i386__ || defined __x86_64__
7 # define C "=S"
8 # define TYPE unsigned long
9 #elif defined __ia64__
10 # define C "=a"
11 # define TYPE unsigned long long
12 #endif
13
14 unsigned int
15 foo (TYPE port)
16 {
17   unsigned int v;
18   __asm__ __volatile__ ("" : C (v) : "Nd" (port));      /* { dg-error "while reloading\|has impossible" } */
19   return v;
20 }
21
22 void
23 bar (void)
24 {
25   foo (0);
26 }