llvm/clang/test/AST/ByteCode/cxx11-pedantic.cpp

// RUN: %clang_cc1 -fexperimental-new-constant-interpreter -verify=both,expected -std=c++11 -triple x86_64-linux -pedantic %s
// RUN: %clang_cc1 -verify=both,ref -std=c++11 -triple x86_64-linux -pedantic %s

struct T { int n; };
const T t = { 42 }; // both-note 2{{declared here}}
struct S {
  int m : t.n; // both-warning {{width of bit-field 'm' (42 bits)}} \
               // both-warning {{expression is not an integral constant expression}} \
               // both-note {{read of non-constexpr variable 't' is not allowed}}
};

static_assert(t.n == 42, ""); // both-error {{expression is not an integral constant expression}} \
                              // both-note {{read of non-constexpr variable 't' is not allowed}}