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