1 /* PR c/30360 */ 2 /* { dg-do run { target i?86-*-linux* x86_64-*-linux* ia64-*-linux* s390*-*-linux* } } */ 3 /* { dg-options "-O2 -std=gnu99" } */ 4 5 #define I (__extension__ 1.0iF) 6 #define H(x) asm ("" : "=m" (x) : "m" (x)) 7 extern void abort (void); 8 9 int main(void)10main (void) 11 { 12 _Complex double a = 1.0 + 1.0 * I, b = 0.0, c; 13 H (a); 14 H (b); 15 c = a / b; 16 if (!__builtin_isinf (__real__ c) && !__builtin_isinf (__imag__ c)) 17 abort (); 18 a = 0.0; 19 H (a); 20 H (b); 21 c = a / b; 22 if (!__builtin_isnan (__real__ c) || !__builtin_isnan (__imag__ c)) 23 abort (); 24 return 0; 25 } 26