/* Test __builtin_complex errors. */ /* { dg-do compile } */ /* { dg-options "-std=c11 -pedantic-errors" } */ typedef double D; double d; _Complex double dc = __builtin_complex (1.0, (D) 0.0); _Complex double dc2 = __builtin_complex (d, 0.0); /* { dg-error "not constant" } */ _Complex float fc = __builtin_complex (1.0f, 1); /* { dg-error "not of real binary floating-point type" } */ _Complex float fc2 = __builtin_complex (1, 1.0f); /* { dg-error "not of real binary floating-point type" } */ _Complex float fc3 = __builtin_complex (1.0f, 1.0); /* { dg-error "different types" } */ void f (void) { __builtin_complex (0.0); /* { dg-error "wrong number of arguments" } */ __builtin_complex (0.0, 0.0, 0.0); /* { dg-error "wrong number of arguments" } */ } void (*p) (void) = __builtin_complex; /* { dg-error "cannot take address" } */