1 // { dg-do assemble } 2 3 // these are marked as expected errors because they evidence an 4 // ambiguity in the grammar between expressions and declarations. 5 // when the parser's been cleaned up or rewritten, these two error 6 // markers can go away, since they'll no longer occur. 7 8 // Fixed. PR 8545, 2001 01 23 9 class A 10 { 11 public: 12 int high; 13 unsigned int low; 14 A operator+(const A in); 15 }; 16 17 A A::operator+(const A in) 18 { 19 if (high==0) 20 return A(); // this works 21 else 22 return (A()); // this works not 23 } 24