// RUN: %clang_cc1 -fexperimental-new-constant-interpreter -verify %s
+// RUN: %clang_cc1 -fexperimental-new-constant-interpreter -std=c++14 -verify %s
// RUN: %clang_cc1 -fexperimental-new-constant-interpreter -triple i686 -verify %s
// RUN: %clang_cc1 -verify=ref %s
+// RUN: %clang_cc1 -verify=ref -std=c++14 %s
// RUN: %clang_cc1 -verify=ref -triple i686 %s
// expected-no-diagnostics
static_assert(ints2.b == -30, "");
static_assert(!ints2.c, "");
-#if 0
+#if __cplusplus >= 201703L
+// FIXME: In c++14, this uses a MaterializeTemporaryExpr,
+// which the new interpreter doesn't support yet.
constexpr Ints getInts() {
return {64, 128, true};
}
}
static_assert(getPointer()->a == 100, "");
-#if 0
+#if __cplusplus >= 201703L
+// FIXME: In c++14, this uses a MaterializeTemporaryExpr,
+// which the new interpreter doesn't support yet.
constexpr C RVOAndParams(const C *c) {
return C();
}