diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/arg9.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/arg9.C | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/arg9.C b/gcc/testsuite/g++.old-deja/g++.law/arg9.C new file mode 100644 index 000000000..ee352fabf --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.law/arg9.C @@ -0,0 +1,39 @@ +// { dg-do assemble } +// GROUPS passed arg-matching +// arg-matching file +// Message-Id: <199405132049.QAA06835@elan.cs.UMD.EDU> +// Subject: Bug in g++ 2.4.5 and 2.5.8 +// Date: Fri, 13 May 1994 16:49:22 -0400 +// From: Evan Rosser <ejr@cs.umd.edu> + +#include <assert.h> +#include <stdio.h> +#include <stdlib.h> + +class TupleIterator { +public: + TupleIterator(int *tpl); + int& operator*(); + int live() const; +// The compile fails with "no post-increment operator for type" at "TI++" +// below. +// It succeeds with the same declarations if set_position does not take an int. +// This occurs with G++ 2.4.5 and 2.5.8. +// Sun CC works OK with either case. + void operator++(int); + void set_position(int); +private: +}; + +int main() { + +int t[5]; +t[1] = 1; t[2] = 2;t[3] = 3;t[4] = 4; +TupleIterator TI(t); + + while(TI.live()){ + printf("%d", *TI); + TI++; + } +} + |