// RUN: %clang_cc1 %s -Wno-uninitialized -std=c++11 -fsyntax-only -verify
;
;
constexpr A a1; // expected-error {{constant expression}} expected-note {{in call to 'A()'}}
constexpr A a2 = ; // expected-error {{constant expression}} expected-note {{in call to 'A()'}}
void
constexpr B b1; // expected-error {{constant expression}} expected-note {{in call to 'B()'}}
constexpr B b2 = ; // ok
static_assert;
static_assert;
;
;
constexpr C c1; // expected-error {{without a user-provided default constructor}}
constexpr C c2 = ; // ok
constexpr D d1; // expected-error {{without a user-provided default constructor}}
constexpr D d2 = ; // ok with DR1452
static_assert;
static_assert;
;
;
constexpr int n = Z<V>.c; // expected-error {{constant expression}} expected-note {{non-literal type 'Z<V>'}}
;
constexpr E e1; // expected-error {{constant expression}} expected-note {{in call to 'E()'}}
constexpr E e2 = ;
static_assert;
static_assert;
static_assert;
static_assert;