// { dg-do compile } // { dg-options "-Wall" } // Copyright (C) 2003 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 14 Aug 2003 // PR 11512. erroneous warnings template void Foo(T i) { i++, i++; i, i++; // { dg-warning "left operand" "" } i++, i; // { dg-warning "right operand" "" } for (;; --i, ++i) ; } void Bar () { Foo (1); // { dg-message "required" } } struct M {}; struct C { M m; C () :m (M ()) {} }; void Baz (int i) { i ? i + 1 : i + 2; // { dg-warning "operand of" } i ? i++ : 0; }