Home | History | Annotate | Download | only in Sema
      1 // RUN: %clang_cc1 -fsyntax-only -verify -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