1 // { dg-do compile }
2 // { dg-options "-Wall" }
3
4 // Copyright (C) 2003 Free Software Foundation, Inc.
5 // Contributed by Nathan Sidwell 14 Aug 2003 <nathan@codesourcery.com>
6
7 // PR 11512. erroneous warnings
8
Foo(T i)9 template <class T> void Foo(T i)
10 {
11 i++, i++;
12 i, i++; // { dg-warning "left operand" }
13 i++, i; // { dg-warning "right operand" }
14 for (;; --i, ++i)
15 ;
16 }
17
Bar()18 void Bar ()
19 {
20 Foo (1); // { dg-message "required" }
21 }
22
23 struct M {};
24
25 struct C
26 {
27 M m;
CC28 C () :m (M ()) {}
29 };
30
31
Baz(int i)32 void Baz (int i)
33 {
34 i ? i + 1 : i + 2; // { dg-warning "operand of" }
35 i ? i++ : 0;
36 }
37