<<>> <> <> <<>> /* CedarExtra.contract */ /* CedarExtra.h as assumed by c2c */ /* Christian Jacobi - January 28, 1988 */ /* Christian Jacobi - November 8, 1989 */ /* Contract between compiler backend and runtime */ /* Conceptional .h file as expected by compiler backend */ /* The real used .h file might implement certain procedures as macros */ #ifndef XR_C2C_runtime_version_7 #define XR_C2C_runtime_version_7 #ifdef XR_C2C_runtime_version_any an other version is defined; please crash the compiler #endif #define XR_C2C_runtime_version_any extern void XR_DebugPutChar(); extern void XR_RaiseAbstractionFault(); extern unsigned XR_RaiseBoundsFault(); extern unsigned XR_RaiseArithmeticFault(); extern unsigned XR_UnnamedError; extern unsigned XR_Unwind; extern unsigned XR_Aborted; extern unsigned XR_Uncaught; extern unsigned XR_NarrowFault; extern unsigned XR_PushHandler(); #pragma unknown_control_flow(XR_PushHandler) extern void XR_PopHandler(); extern void XR_RaiseSignal(); extern void XR_RaiseError(); extern unsigned XR_ExtensionAlloc(); extern unsigned XR_ExtensionFree(); extern void XR_Fork(); extern unsigned XR_Join(); extern void XR_Wait(); extern void XR_Notify(); extern void XR_Broadcast(); extern void XR_MonitorEntry(); extern void XR_MonitorExit(); extern void XR_MoveWords(); extern void XR_MoveWordsDisjoint(); extern unsigned XR_EqualWords(); extern void XR_MoveBytesDisjoint(); extern unsigned XR_ExtractField(); extern void XR_DepositField(); extern void XR_MoveField(); extern unsigned XR_EqualFields(); extern void XR_FillFields(); extern void XR_FillWords(); extern void XR_FillLongFields(); extern void XR_FillLongWords(); extern void XR_AssignRef(); extern void XR_AssignRefInit(); extern void XR_AssignRefComposite(); extern void XR_AssignRefCompositeInit(); extern unsigned XR_NewObject(); extern unsigned XR_Narrow(); extern unsigned XR_GetReferentType(); extern unsigned XR_CheckProc(); /* all the floating procedures have parameters and returns of type unsigned! */ /* but the bits represent reals if the appropriate LOOPHOLE's (NOT cast) would be made */ extern unsigned XR_SignedPwr(); extern unsigned XR_UnsignedPwr(); extern unsigned XR_FloatInt(); extern unsigned XR_FloatCard(); extern unsigned XR_RealNeg(); extern unsigned XR_RealAdd(); extern unsigned XR_RealSub(); extern unsigned XR_RealMul(); extern unsigned XR_RealDiv(); extern unsigned XR_RealGt(); extern unsigned XR_RealGe(); extern unsigned XR_RealAbs(); /* may re-evaluate argument if implemented as macro */ extern unsigned XR_RealMin(); /* may re-evaluate argument if implemented as macro */ extern unsigned XR_RealMax(); /* may re-evaluate argument if implemented as macro */ extern unsigned XR_RealPwr(); /* double things */ /* an I suffix means input parameter is address (indirection) */ extern void XR_DFloatInt(); extern void XR_DFloatCard(); extern void XR_DFloatReal(); extern void XR_DFloatDIntI(); extern void XR_DFloatDCardI(); extern void XR_DIntInt(); extern void XR_DIntCard(); extern void XR_DIntDCardI(); extern void XR_DCardInt(); extern void XR_DCardCard(); extern void XR_DCardDIntI(); extern unsigned XR_IntDIntI(); extern unsigned XR_IntDCardI(); extern unsigned XR_CardDIntI(); extern unsigned XR_CardDCardI(); extern void XR_DRealNegI(); extern void XR_DIntNegI(); extern void XR_DCardNegI(); extern void XR_DRealAddI(); extern void XR_DIntAddI(); extern void XR_DCardAddI(); extern void XR_DRealSubI(); extern void XR_DIntSubI(); extern void XR_DCardSubI(); extern void XR_DRealMulI(); extern void XR_DIntMulI(); extern void XR_DCardMulI(); extern void XR_DRealDivI(); extern void XR_DIntDivI(); extern void XR_DCardDivI(); extern void XR_DRealDivI(); extern void XR_DIntDivI(); extern void XR_DCardDivI(); extern void XR_DIntModI(); extern void XR_DCardModI(); extern unsigned XR_DRealGtI(); extern unsigned XR_DIntGtI(); extern unsigned XR_DCardGtI(); extern unsigned XR_DRealGeI(); extern unsigned XR_DIntGeI(); extern unsigned XR_DCardGeI(); extern unsigned XR_DRealEqI(); extern unsigned XR_DEqI(); extern void XR_DFloatAbsI(); extern void XR_DIntAbsI(); extern void XR_DRealMinI(); extern void XR_DIntMinI(); extern void XR_DCardMinI(); extern void XR_DRealMaxI(); extern void XR_DIntMaxI(); extern void XR_DCardMaxI(); extern void XR_DRealPwrI(); extern void XR_DIntPwrI(); extern void XR_DCardPwrI(); #endif