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   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   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