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 XRC2C←runtime←version𡤇
#define XRC2C←runtime←version𡤇
#ifdef XRC2C←runtime←version𡤊ny
 an other version is defined; please crash the compiler
#endif
#define XRC2C←runtime←version𡤊ny
extern void   XR�ugPutChar();
extern void   XR←RaiseAbstractionFault();
extern unsigned  XR←RaiseBoundsFault();
extern unsigned  XR←RaiseArithmeticFault();
extern unsigned  XR←UnnamedError;
extern unsigned  XR←Unwind;
extern unsigned  XR�orted;
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   XR�positField();
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   XR�loatInt();
extern void   XRDFloatCard();
extern void   XRDFloatReal();
extern void   XRDFloatDIntI();
extern void   XRDFloatDCardI();
extern void   XRDIntInt();
extern void   XRDIntCard();
extern void   XRDIntDCardI();
extern void   XRDCardInt();
extern void   XRDCardCard();
extern void   XRDCardDIntI();
extern unsigned  XRIntDIntI();
extern unsigned  XRIntDCardI();
extern unsigned  XRCardDIntI();
extern unsigned  XRCardDCardI();
extern void   XRDRealNegI();
extern void   XRDIntNegI();
extern void   XRDCardNegI();
extern void   XRDRealAddI();
extern void   XRDIntAddI();
extern void   XRDCardAddI();
extern void   XRDRealSubI();
extern void   XRDIntSubI();
extern void   XRDCardSubI();
extern void   XRDRealMulI();
extern void   XRDIntMulI();
extern void   XRDCardMulI();
extern void   XRDRealDivI();
extern void   XRDIntDivI();
extern void   XRDCardDivI();
extern void   XRDRealDivI();
extern void   XRDIntDivI();
extern void   XRDCardDivI();
extern void   XRDIntModI();
extern void   XRDCardModI();

extern unsigned  XRDRealGtI();
extern unsigned  XRDIntGtI();
extern unsigned  XRDCardGtI();
extern unsigned  XRDRealGeI();
extern unsigned  XRDIntGeI();
extern unsigned  XRDCardGeI();
extern unsigned  XRDRealEqI();
extern unsigned  XRDEqI();
extern void   XRDFloatAbsI();
extern void   XRDIntAbsI();
extern void   XRDRealMinI();
extern void   XRDIntMinI();
extern void   XRDCardMinI();
extern void   XRDRealMaxI();
extern void   XRDIntMaxI();
extern void   XRDCardMaxI();
extern void   XRDRealPwrI();
extern void   XRDIntPwrI();
extern void   XRDCardPwrI();
#endif