mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 12:12:25 +00:00
* Deduplicate common constants into OPM and do some source format tidying. * Fix postpush buildall script to force checkout of updated buildall. * Show enlistment branch in makefiles * Support non-printables in string literals and tidy case alignment and constant literals. * Common code for MIN and MAX of integer types. * Common code for SInt/Int/LInt in ConstOp parameter preparation. * Common code for SInt/Int/LInt in Op parameter preparation. * Refactor SetIntType to work with byte size directly. Prepare to revert my incorrect VAL changes. * Original meaning of VAL restored. Many library files disabled until use of VAL in 64 bits fixed. * Make Reals.Mod independent of INTEGER size and add reals tests. * Implement fraction, IsInfinity and IsNaN in oocLowReal.Mod. * OPB little simplifications and ShorterSize/LongerSize functions. * Add test for alignment computability * Replace alignment constants with calculated alignment. * typ.size aware OPV.Convert * Add SYSTEM_INT64 and make tests name independent. * Remove SYSTEM.H includes (string.h and stdint.h). * Replace uses of uintptr_t and size_t with SYSTEM_ADDRESS. * Sad hack to make FreeBSD and OpenBSD happy with memcpy declaration. * Detect 64 bit on FreeBSD, and size_t defined on OpenBSD. * %zd not supportd by mingw, cast strnlen return to int. * Add debug for intermittent failure only on OpenBSD. * Add textTexts as a confidence test and tidy up a couple of other tests. * Update binary test process.
50 lines
2 KiB
C
50 lines
2 KiB
C
/* voc 1.95 [2016/08/23] for gcc LP64 on cygwin xtspkaSfF */
|
|
|
|
#ifndef OPB__h
|
|
#define OPB__h
|
|
|
|
#define LARGE
|
|
#include "SYSTEM.h"
|
|
#include "OPS.h"
|
|
#include "OPT.h"
|
|
|
|
|
|
import void (*OPB_typSize)(OPT_Struct);
|
|
|
|
|
|
import void OPB_Assign (OPT_Node *x, OPT_Node y);
|
|
import void OPB_Call (OPT_Node *x, OPT_Node apar, OPT_Object fp);
|
|
import void OPB_CheckParameters (OPT_Object fp, OPT_Object ap, BOOLEAN checkNames);
|
|
import void OPB_Construct (SHORTINT class, OPT_Node *x, OPT_Node y);
|
|
import void OPB_DeRef (OPT_Node *x);
|
|
import OPT_Node OPB_EmptySet (void);
|
|
import void OPB_Enter (OPT_Node *procdec, OPT_Node stat, OPT_Object proc);
|
|
import void OPB_Field (OPT_Node *x, OPT_Object y);
|
|
import void OPB_In (OPT_Node *x, OPT_Node y);
|
|
import void OPB_Index (OPT_Node *x, OPT_Node y);
|
|
import void OPB_Inittd (OPT_Node *inittd, OPT_Node *last, OPT_Struct typ);
|
|
import void OPB_Link (OPT_Node *x, OPT_Node *last, OPT_Node y);
|
|
import void OPB_MOp (SHORTINT op, OPT_Node *x);
|
|
import OPT_Node OPB_NewBoolConst (BOOLEAN boolval);
|
|
import OPT_Node OPB_NewIntConst (LONGINT intval);
|
|
import OPT_Node OPB_NewLeaf (OPT_Object obj);
|
|
import OPT_Node OPB_NewRealConst (LONGREAL realval, OPT_Struct typ);
|
|
import OPT_Node OPB_NewString (OPS_String str, LONGINT len);
|
|
import OPT_Node OPB_Nil (void);
|
|
import void OPB_Op (SHORTINT op, OPT_Node *x, OPT_Node y);
|
|
import void OPB_OptIf (OPT_Node *x);
|
|
import void OPB_Param (OPT_Node ap, OPT_Object fp);
|
|
import void OPB_PrepCall (OPT_Node *x, OPT_Object *fpar);
|
|
import void OPB_Return (OPT_Node *x, OPT_Object proc);
|
|
import void OPB_SetElem (OPT_Node *x);
|
|
import void OPB_SetRange (OPT_Node *x, OPT_Node y);
|
|
import void OPB_StFct (OPT_Node *par0, SHORTINT fctno, INTEGER parno);
|
|
import void OPB_StPar0 (OPT_Node *par0, INTEGER fctno);
|
|
import void OPB_StPar1 (OPT_Node *par0, OPT_Node x, SHORTINT fctno);
|
|
import void OPB_StParN (OPT_Node *par0, OPT_Node x, INTEGER fctno, INTEGER n);
|
|
import void OPB_StaticLink (SHORTINT dlev);
|
|
import void OPB_TypTest (OPT_Node *x, OPT_Object obj, BOOLEAN guard);
|
|
import void *OPB__init(void);
|
|
|
|
|
|
#endif
|