blob: 510f3ab099afdd92ceb055c2db29e14bcd901b02 [file] [log] [blame]
Eli Friedmanc219a152009-05-19 11:12:40 +00001// RUN: clang-cc -triple i386-pc-linux-gnu -fsyntax-only -verify %s
Eli Friedman578a9722009-02-22 06:45:27 +00002
3#include <stdint.h>
4
Anders Carlsson1a86b332007-10-17 00:52:43 +00005static int f = 10;
Chris Lattnerd8803632008-08-10 01:58:45 +00006static int b = f; // expected-error {{initializer element is not a compile-time constant}}
Eli Friedmanc1cc6dc2008-05-30 18:14:48 +00007
Eli Friedman41826bb2009-05-01 02:23:58 +00008float r = (float) (intptr_t) &r; // expected-error {{initializer element is not a compile-time constant}}
Eli Friedman578a9722009-02-22 06:45:27 +00009intptr_t s = (intptr_t) &s;
Eli Friedmanc1cc6dc2008-05-30 18:14:48 +000010_Bool t = &t;
Nuno Lopes83950812009-02-02 16:07:41 +000011
12
13union bar {
Mike Stump1eb44332009-09-09 15:08:12 +000014 int i;
Nuno Lopes83950812009-02-02 16:07:41 +000015};
16
17struct foo {
Mike Stump1eb44332009-09-09 15:08:12 +000018 unsigned ptr;
Nuno Lopes83950812009-02-02 16:07:41 +000019};
20
21union bar u[1];
Eli Friedman578a9722009-02-22 06:45:27 +000022struct foo x = {(intptr_t) u}; // no-error
Nuno Lopesff776452009-02-02 22:57:15 +000023struct foo y = {(char) u}; // expected-error {{initializer element is not a compile-time constant}}