1/* Test C11 constraint against pointer / floating-point casts. */ 2/* { dg-do compile } */ 3/* { dg-options "-std=c11 -pedantic-errors" } */ 4 5void *p; 6float f; 7double d; 8long double ld; 9_Complex float cf; 10_Complex double cd; 11_Complex long double cld; 12 13void 14func (void) 15{ 16 f = (float) p; /* { dg-error "pointer" } */ 17 d = (double) p; /* { dg-error "pointer" } */ 18 ld = (long double) p; /* { dg-error "pointer" } */ 19 cf = (_Complex float) p; /* { dg-error "pointer" } */ 20 cd = (_Complex double) p; /* { dg-error "pointer" } */ 21 cld = (_Complex long double) p; /* { dg-error "pointer" } */ 22 p = (void *) f; /* { dg-error "pointer" } */ 23 p = (void *) d; /* { dg-error "pointer" } */ 24 p = (void *) ld; /* { dg-error "pointer" } */ 25 p = (void *) cf; /* { dg-error "pointer" } */ 26 p = (void *) cd; /* { dg-error "pointer" } */ 27 p = (void *) cld; /* { dg-error "pointer" } */ 28} 29