This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
C++ testcase for PR 717
- From: Gabriel Dos Reis <gdr at integrable-solutions dot net>
- To: gcc-patches at gcc dot gnu dot org
- Date: 29 Dec 2002 22:29:45 +0100
- Subject: C++ testcase for PR 717
- Organization: Integrable Solutions
This is a verbatim copy of C++/717 (fixed by the new parser).
-- Gaby
Index: primary-expression-1.C
===================================================================
RCS file: primary-expression-1.C
diff -N primary-expression-1.C
*** /dev/null 1 Jan 1970 00:00:00 -0000
--- primary-expression-1.C 29 Dec 2002 21:27:43 -0000
***************
*** 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());
+ }