111
|
1 /* PR c/30360 */
|
|
2 /* { dg-do run { target i?86-*-linux* i?86-*-gnu* 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
|
|
10 main (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 }
|