* pt.c (value_dependent_expression_p): Treat STMT_EXPR as
value-dependent.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183149
138bc75d-0d04-0410-961f-
82ee72b054a4
+2012-01-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/51714
+ * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
+ value-dependent.
+
2012-01-13 Dodji Seketeli <dodji@redhat.com>
PR c++/51633
return false;
}
+ case STMT_EXPR:
+ /* Treat a GNU statement expression as dependent to avoid crashing
+ under fold_non_dependent_expr; it can't be constant. */
+ return true;
+
default:
/* A constant expression is value-dependent if any subexpression is
value-dependent. */
+2012-01-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/51714
+ * g++.dg/ext/stmtexpr14.C: New.
+
2012-01-13 Dodji Seketeli <dodji@redhat.com>
PR c++/51633
--- /dev/null
+// PR c++/51714
+
+template <typename T>
+void Foo()
+{
+ true || !__extension__ ({ int verbose = 2; verbose <= 3; });
+}
+
+int main()
+{
+ Foo<int>();
+}