[comp.lang.c++] cfront 2.0 bug 900212_02

rfg@paris.ics.uci.edu (Ronald Guilmette) (02/15/90)

// cfront 2.0 bug 900212_02

// cfront fails to detect cases where an pointer-to-object value is assigned
// to a pointer-to-member variable.

struct struct0 {
  int struct0_data_member_0;
  int struct0_data_member_1;
  int struct0_data_member_2;
};

struct struct1 {
  int struct1_data_member_0;
};

int i;
int *ip;
int struct0::*dmp;

struct0 *ptr_0;
struct1 *ptr_1;

void global_function_0 ()
{
  dmp = &struct0::struct0_data_member_2;	/* OK */
  dmp = &ptr_0->struct0_data_member_0;		/* ERROR - missed by cfront */
  dmp = &ptr_1->struct1_data_member_0;		/* ERROR - missed by cfront */
  dmp = ip;					/* ERROR - missed by cfront */

  i = ptr_0->*dmp;
}

int main () { return 0; }