// Test for constant initialization of non-literal class (e.g. mutex)
// { dg-options "-save-temps" }
// { dg-do run { target c++11 } }

struct A
{
  int i;
  constexpr A(int _i): i(_i) { }
  A(const A&);		       // non-trivial copy ctor makes A non-literal
};

A a(42);	    // constexpr constructor allows constant initialization
A ar[3] = { { 1 }, { 2 }, { 3 } };
// { dg-final { scan-assembler-not "static_initialization" } }

int main()
{
  if (a.i != 42
      || ar[0].i != 1
      || ar[1].i != 2
      || ar[2].i != 3)
    return 1;
}
