+2015-10-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67926
+ * constexpr.c (potential_constant_expression_1): Handle
+ UNARY_LEFT_FOLD_EXPR, UNARY_RIGHT_FOLD_EXPR, BINARY_LEFT_FOLD_EXPR,
+ BINARY_RIGHT_FOLD_EXPR.
+
2015-10-13 Jakub Jelinek <jakub@redhat.com>
Aldy Hernandez <aldyh@redhat.com>
case TRUTH_NOT_EXPR:
case FIXED_CONVERT_EXPR:
case UNARY_PLUS_EXPR:
+ case UNARY_LEFT_FOLD_EXPR:
+ case UNARY_RIGHT_FOLD_EXPR:
unary:
return RECUR (TREE_OPERAND (t, 0), rval);
case MEMBER_REF:
case DOTSTAR_EXPR:
case MEM_REF:
+ case BINARY_LEFT_FOLD_EXPR:
+ case BINARY_RIGHT_FOLD_EXPR:
binary:
for (i = 0; i < 2; ++i)
if (!RECUR (TREE_OPERAND (t, i), want_rval))
+2015-10-16 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/67926
+ * g++.dg/cpp1z/fold-ice1.C: New.
+
2015-10-16 Michael Collison <michael.collison@linaro.org>
Andrew Pinski <andrew.pinski@caviumnetworks.com>
- * testsuite/gcc.dg/tree-ssa/minmax-loopend.c: New test.
+ * gcc.dg/tree-ssa/minmax-loopend.c: New test.
2015-10-15 Marek Polacek <polacek@redhat.com>
--- /dev/null
+// PR c++/67926
+// { dg-options -std=c++1z }
+
+template <bool ... T> bool FUR = (T && ...);
+template <bool ... T> bool FUL = (... && T);
+
+template <bool T1, bool ... T2> bool FBR = (T1 && ... && T2);
+template <bool T1, bool ... T2> bool FBL = (T2 && ... && T1);