This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

C++ testcase for PR 717


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());
+ }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]