diff options
author | Gabriel Dos Reis <gdr@gcc.gnu.org> | 2002-12-29 21:28:25 +0000 |
---|---|---|
committer | Gabriel Dos Reis <gdr@gcc.gnu.org> | 2002-12-29 21:28:25 +0000 |
commit | b626ec1b39cc0479d38ebfa454c7b72305e8ea80 (patch) | |
tree | 500f37fa6ead91b15f81ed479625644c217f0226 | |
parent | 17db6bcc2930f8e4a913fdf1356855194d62feeb (diff) | |
download | gcc-b626ec1b39cc0479d38ebfa454c7b72305e8ea80.zip gcc-b626ec1b39cc0479d38ebfa454c7b72305e8ea80.tar.gz gcc-b626ec1b39cc0479d38ebfa454c7b72305e8ea80.tar.bz2 |
New test.
From-SVN: r60610
-rw-r--r-- | gcc/testsuite/g++.dg/parse/primary-expression-1.C | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/parse/primary-expression-1.C b/gcc/testsuite/g++.dg/parse/primary-expression-1.C new file mode 100644 index 0000000..931ecd8 --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/primary-expression-1.C @@ -0,0 +1,58 @@ +// Copyright (C) 2002 Free Software Foundation +// Origin: C++/717 +// Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net +// { dg-do compile } + +class _eAny +{ +public: + _eAny(){} +}; + +template <class X> +class _eSeq +{ +public: + _eSeq(const X thing){} + int _oHash() {return 0;} + _eSeq<X > _oPlusPlus(const _eSeq<X > other) const + { + return *this; + } + _eSeq<X > take(const _eSeq<X > other) const + { + return *this; + } +}; + + +template <class X> +class _eHndl +{ +public: + _eHndl(const _eAny *obj){} +}; + +class VarInstances : public _eAny +{ +public: + VarInstances() : _eAny() {} +}; + +void testFunc(const VarInstances *testInstance) +{ + const _eSeq<_eHndl<VarInstances> > temp1 = + _eSeq<_eHndl<VarInstances> >(_eHndl<VarInstances>(testInstance)); + + if((_eSeq<_eHndl<VarInstances> + >(_eHndl<VarInstances>(testInstance))._oPlusPlus(temp1)._oHash() == + 7)) + { + return; + } +} + +int main(int argc, char** argv) +{ + testFunc(new VarInstances()); +} |