blob: ee352fabfcec7e58b89183441d29aa4c5b922909 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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++;
}
}
|