summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.brendan/parse3.C
blob: 18bde916f6e7a14928f582e1ae77f152933eb9f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// { dg-do assemble  }

// 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.

// Fixed. PR 8545, 2001 01 23
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
}