+2019-09-15 Marek Polacek <polacek@redhat.com>
+
+ PR c++/91740 - ICE with constexpr call and ?: in ARRAY_REF.
+ * pt.c (build_non_dependent_expr): Call build_non_dependent_expr for
+ the first operand.
+
2019-09-15 Nathan Sidwell <nathan@acm.org>
* cp-tree.h (DECL_CLONED_FUNCTION_P): Reimplement using
if (TREE_CODE (expr) == COND_EXPR)
return build3 (COND_EXPR,
TREE_TYPE (expr),
- TREE_OPERAND (expr, 0),
+ build_non_dependent_expr (TREE_OPERAND (expr, 0)),
(TREE_OPERAND (expr, 1)
? build_non_dependent_expr (TREE_OPERAND (expr, 1))
: build_non_dependent_expr (TREE_OPERAND (expr, 0))),
+2019-09-15 Marek Polacek <polacek@redhat.com>
+
+ PR c++/91740 - ICE with constexpr call and ?: in ARRAY_REF.
+ * g++.dg/cpp1y/var-templ63.C: New test.
+
2019-09-15 Sandra Loosemore <sandra@codesourcery.com>
* lib/target-supports.exp
--- /dev/null
+// PR c++/91740 - ICE with constexpr call and ?: in ARRAY_REF.
+// { dg-do compile { target c++14 } }
+
+constexpr bool f(const char*) { return true; }
+template<typename T> const char c = "FOO"[f("BAR") ? 1 : 0];