*** /usr/src/cmd/cfront/cfront/expr.c Thu May 10 11:31:31 1990 --- expr.c Mon Aug 27 10:27:47 1990 *************** *** 751,770 // if (t2->is_cl_obj()) t2->tsizeof(); } else t2 = 0; //error('d',"b %k t1 %t t2 %t",b,t1,t2); switch (b) { // filter out non-overloadable operators default: { Pexpr x = try_to_overload(tbl); if (x) return x; } case DOT: case G_CM: case G_ADDROF: case G_CALL: case QUEST: break; } switch (b) { --- 751,771 ----- // if (t2->is_cl_obj()) t2->tsizeof(); } else t2 = 0; //error('d',"b %k t1 %t t2 %t",b,t1,t2); switch (b) { // filter out non-overloadable operators default: { Pexpr x = try_to_overload(tbl); if (x) return x; + if (t2 && t1==0 && t2!=e2->tp) t2 = e2->tp; } case DOT: case G_CM: case G_ADDROF: case G_CALL: case QUEST: break; } switch (b) {