diff options
author | Brendan Kehoe <brendan@gcc.gnu.org> | 1998-08-18 11:11:05 -0400 |
---|---|---|
committer | Brendan Kehoe <brendan@gcc.gnu.org> | 1998-08-18 11:11:05 -0400 |
commit | ba6ac69e478e4f2c56d284664a0a7400e1068e89 (patch) | |
tree | 719fd4049f49a6925fc735867a0b7bca6586ccaa /gcc | |
parent | 20045452636c20b9941102c5d4df386a2e364cb0 (diff) | |
download | gcc-ba6ac69e478e4f2c56d284664a0a7400e1068e89.zip gcc-ba6ac69e478e4f2c56d284664a0a7400e1068e89.tar.gz gcc-ba6ac69e478e4f2c56d284664a0a7400e1068e89.tar.bz2 |
add expr/decl ambiguity test
From-SVN: r21825
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/parse3.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/parse3.C b/gcc/testsuite/g++.old-deja/g++.brendan/parse3.C new file mode 100644 index 0000000..c346a28 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.brendan/parse3.C @@ -0,0 +1,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 !! -> why ?? // ERROR - +} // ERROR - |