Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!usc!brutus.cs.uiuc.edu!jarthur!uci-ics!gateway From: rfg@paris.ics.uci.edu (Ronald Guilmette) Newsgroups: comp.lang.c++ Subject: cfront 2.0 bug 900211_06 Message-ID: <25DA675E.23088@paris.ics.uci.edu> Date: 15 Feb 90 08:25:02 GMT Organization: UC Irvine Department of ICS Lines: 36 // cfront 2.0 bug 900211_06 // cfront flags as errors all attempts to compare two compatible // pointer-to-member-function values. // The Cfront 2.0 Reference Manual suggest that there should be at least two // ways in which such comparisons could be considered to be legal. First, // sections 5.9 and 5.10 describe the semantics of both ordered and unordered // comparisons for pointers to members. Also, since pointer-to-member-function // values can be implicitly cast to void*, the comparsons could also be // interpreted as comparisons between pairs of void*'s. struct struct0 { int struct0_member_0 (); int struct0_member_1 (); }; int (struct0::*p0) (); int (struct0::*p1) (); int result; void global_function_0 () { result = p0 == p1; // gets bogus error result = p0 != p1; // gets bogus error result = p0 > p1; // gets bogus error result = p0 < p1; // gets bogus error result = p0 >= p1; // gets bogus error result = p0 <= p1; // gets bogus error } int main () { return 0; }