Bulletin number: 259 Products affected: D700E Description: Ordering comparisons between INT64 values on T2 do not work Component: THE COMPILER UTILITY SET Date: Tue May 15 17:00:00 GMT 1990 ----- Because of a long-standing bug in the compiler library routine INT64GT in the T2 compiler library, which has been wrongly corrected in the D700E version of the library, all ordering (non-equality) comparisons between INT64 numbers which do not differ in the 16 most significant bits are suspect. Any program requiring to perform such comparisons should explicitly declare and use the following alternative corrected function: BOOL FUNCTION i64gt (VAL INT64 U,V) VAL[4]INT U RETYPES U: VAL[4]INT V RETYPES V: BOOL Result: VALOF IF U[3] = V[3] INT X, borrow: SEQ borrow, X := LONGDIFF (V[0], U[0], 0) borrow, X := LONGDIFF (V[1], U[1], borrow) borrow, X := LONGDIFF (V[2], U[2], borrow) Result := (borrow = 1) TRUE Result := (U[3] > V[3]) RESULT Result : The following bugs mentioned in the TDS2 buglist (Rev 5) have been cured (or are irrelevent) in TDS3: 2 These problem reports in this section refer to the file handling utility set version 1.01 dated 23rd November 1989. Press CODE INFORMATION after loading the utility set to see this date.