diff options
author | Brendan Kehoe <brendan@gcc.gnu.org> | 1998-08-18 11:19:21 -0400 |
---|---|---|
committer | Brendan Kehoe <brendan@gcc.gnu.org> | 1998-08-18 11:19:21 -0400 |
commit | a5a406af6492a832d56b9cb4e49c1b4d0461381d (patch) | |
tree | 0d9eb848e15bd607191be0c2c409a3116e05debc /gcc | |
parent | ba6ac69e478e4f2c56d284664a0a7400e1068e89 (diff) | |
download | gcc-a5a406af6492a832d56b9cb4e49c1b4d0461381d.zip gcc-a5a406af6492a832d56b9cb4e49c1b4d0461381d.tar.gz gcc-a5a406af6492a832d56b9cb4e49c1b4d0461381d.tar.bz2 |
another expr/decl ambiguity test
From-SVN: r21826
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/parse4.C | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/parse4.C b/gcc/testsuite/g++.old-deja/g++.brendan/parse4.C new file mode 100644 index 0000000..95995ff --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.brendan/parse4.C @@ -0,0 +1,24 @@ +// Build don't link: + +// this is marked as an expected error because it evidences an +// ambiguity in the grammar between expressions and declarations. +// when the parser's been cleaned up or rewritten, the error +// marker can go away, since it'll no longer occur. + +class B +{ +public: + B( int t ) {} + void f() {} +}; + +int g() { return 0; } + +main() +{ + int try1; + B( try1 ).f(); // no syntax error + B b( g() ); // no syntax error + B( ::g() ).f(); // no syntax error + B( g() ).f(); // syntax error before `.' // ERROR - +} |