* c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
* c-c++-common/Wsequence-point-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@198903
138bc75d-0d04-0410-961f-
82ee72b054a4
+2013-05-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/57274
+ * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
+
2013-05-10 Marc Glisse <marc.glisse@inria.fr>
* c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
switch (code)
{
case CONSTRUCTOR:
+ case SIZEOF_EXPR:
return;
case COMPOUND_EXPR:
+2013-05-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/57274
+ * c-c++-common/Wsequence-point-1.c: New test.
+
2013-05-14 Marc Glisse <marc.glisse@inria.fr>
* g++.dg/ext/vector22.C: New testcase.
--- /dev/null
+/* PR c++/57274 */
+/* { dg-do compile } */
+/* { dg-options "-Wsequence-point" } */
+
+void foo (int, int);
+
+void
+bar (int *x)
+{
+ foo (*x++, sizeof (*x)); /* { dg-bogus "may be undefined" } */
+}
+
+void
+baz (int *x)
+{
+ foo (*x, sizeof (*x++) + sizeof (*x++)); /* { dg-bogus "may be undefined" } */
+}