1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-pointer-to-int-cast -Wno-bool-conversion %s 2 3 typedef __typeof((int*) 0 - (int*) 0) intptr_t; 4 5 static int f = 10; 6 static int b = f; // expected-error {{initializer element is not a compile-time constant}} 7 8 float r = (float) (intptr_t) &r; // expected-error {{initializer element is not a compile-time constant}} 9 intptr_t s = (intptr_t) &s; 10 _Bool t = &t; 11 12 13 union bar { 14 int i; 15 }; 16 17 struct foo { 18 short ptr; 19 }; 20 21 union bar u[1]; 22 struct foo x = {(intptr_t) u}; // expected-error {{initializer element is not a compile-time constant}} 23 struct foo y = {(char) u}; // expected-error {{initializer element is not a compile-time constant}} 24 intptr_t z = (intptr_t) u; // no-error 25