// RUN: %clang_cc1 %s -std=c++11 -fms-compatibility -fsyntax-only -verify | |
struct S { | |
enum { E = 1 }; | |
static const int sdm = 1; | |
}; | |
void f(S *s) { | |
char array[s->E] = { 0 }; | |
} | |
extern S *s; | |
constexpr int e1 = s->E; | |
S *side_effect(); // expected-note{{declared here}} | |
constexpr int e2 = // expected-error{{must be initialized by a constant expression}} | |
side_effect()->E; // expected-note{{cannot be used in a constant expression}} | |
constexpr int e4 = s->sdm; |