CedarExtra.contract
Copyright Ó 1991 by Xerox Corporation. All rights reserved.
/* 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𡤇
#define XR←C2C←runtime←version𡤇
#ifdef XR←C2C←runtime←version𡤊ny
an other version is defined; please crash the compiler
#endif
#define XR←C2C←runtime←version𡤊ny
extern void XRugPutChar();
extern void XR←RaiseAbstractionFault();
extern unsigned XR←RaiseBoundsFault();
extern unsigned XR←RaiseArithmeticFault();
extern unsigned XR←UnnamedError;
extern unsigned XR←Unwind;
extern unsigned XRorted;
extern unsigned XR←Uncaught;
extern unsigned XR←NarrowFault;
extern unsigned XR←PushHandler();
#pragma unknown𡤌ontrol𡤏low(XR←PushHandler)
extern void XR←PopHandler();
extern void XR←RaiseSignal();
extern void XR←RaiseError();
extern unsigned XR𡤎xtensionAlloc();
extern unsigned XR𡤎xtensionFree();
extern void XR𡤏ork();
extern unsigned XR←Join();
extern void XR←Wait();
extern void XR←Notify();
extern void XR𡤋roadcast();
extern void XR←MonitorEntry();
extern void XR←MonitorExit();
extern void XR←MoveWords();
extern void XR←MoveWordsDisjoint();
extern unsigned XR𡤎qualWords();
extern void XR←MoveBytesDisjoint();
extern unsigned XR𡤎xtractField();
extern void XRpositField();
extern void XR←MoveField();
extern unsigned XR𡤎qualFields();
extern void XR𡤏illFields();
extern void XR𡤏illWords();
extern void XR𡤏illLongFields();
extern void XR𡤏illLongWords();
extern void XR𡤊ssignRef();
extern void XR𡤊ssignRefInit();
extern void XR𡤊ssignRefComposite();
extern void XR𡤊ssignRefCompositeInit();
extern unsigned XR←NewObject();
extern unsigned XR←Narrow();
extern unsigned XR←GetReferentType();
extern unsigned XR𡤌heckProc();
/* 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𡤏loatInt();
extern unsigned XR𡤏loatCard();
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 XRloatInt();
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