// RUN: %clang_cc1 -std=c++1y -S -o - -emit-llvm -verify %s

namespace default_arg_temporary {

constexpr bool equals(const float& arg = 1.0f) {
  return arg == 1.0f;
}

constexpr const int &x(const int &p = 0) {
  return p;
}

struct S {
  constexpr S(const int &a = 0) {}
};

void test_default_arg2() {
  // This piece of code used to cause an assertion failure in
  // CallStackFrame::createTemporary because the same MTE is used to initilize
  // both elements of the array (see PR33140).
  constexpr S s[2] = {};

  // This piece of code used to cause an assertion failure in
  // CallStackFrame::createTemporary because multiple CXXDefaultArgExpr share
  // the same MTE (see PR33140).
  static_assert(equals() && equals(), "");

  // Test that constant expression evaluation produces distinct lvalues for
  // each call.
  static_assert(&x() != &x(), "");
}

// Check that multiple CXXDefaultInitExprs don't cause an assertion failure.
struct A { int &&r = 0; }; // expected-note 2{{default member initializer}}
struct B { A x, y; };
B b = {}; // expected-warning 2{{not supported}}

}
