FSF GCC merge 02/23/03
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.bugs / 900212_01.C
blob03c41fb04236d8abe877ea45822cb1bd9c6ac61f
1 // g++ 1.36.1 bug 900212_01
3 // g++ fails to flag as errors all attempts to add or subtract integer values
4 // from pointers-to-member values.
6 // Some cases are detected however.
8 // Cfront 2.0 passes this test.
10 // keywords: pointer arithmetic, member pointers
12 struct struct0 {
15 int struct0::*p0;
16 int struct0::*p1;
18 int (struct0::*fp0) ();
19 int (struct0::*fp1) ();
21 void global_function_0 ()
23   p0 = p1 + 3;                  // ERROR - 
24   p0 = p1 - 3;                  // ERROR - 
25   p1++;                         /* ERROR - caught by g++ */
26   ++p1;                         /* ERROR - caught by g++ */
27   p1--;                         /* ERROR - caught by g++ */
28   --p1;                         /* ERROR - caught by g++ */
30   fp0 = fp1 + 3;                // ERROR - 
31   fp0 = fp1 - 3;                // ERROR - 
32   fp1++;                        /* ERROR - */
33   ++fp1;                        /* ERROR - */
34   fp1--;                        /* ERROR - */
35   --fp1;                        /* ERROR - */
38 int main () { return 0; }