aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.brendan/parse3.C
blob: 8be64a39b68835f7b6bf54d5b2def80f1572d0ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Build don't link: 

// these are marked as expected errors because they evidence an
// ambiguity in the grammar between expressions and declarations.
// when the parser's been cleaned up or rewritten, these two error
// markers can go away, since they'll no longer occur.

class A
{
  public:
    int high;
    unsigned int low;
    A operator+(const A in);
};

A A::operator+(const A in)
{
    if (high==0)
      return A();    // this works
    else
      return (A());  // this works not // gets bogus error - XFAIL *-*-* 
} // gets bogus error - XFAIL *-*-*