view gcc/testsuite/g++.old-deja/g++.bugs/900212_02.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// { dg-do assemble  }
// g++ 1.36.1 bug 900212_02

// g++ fails to flag as errors attempts to take the difference of two values
// of some compatible pointer-to-member type.

// Cfront 2.0 passes this test.

// keywords: pointer arithmetic, subtraction, member pointers

struct struct0 {
};

int struct0::*p0;
int struct0::*p1;

int (struct0::*fp0) ();
int (struct0::*fp1) ();

int result;

void global_function_0 ()
{
  result = (p0 - p1);		// { dg-error "" } 
  result = (fp0 - fp1);		// { dg-error "" } 
}

int main () { return 0; }