mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 16:52: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.
66 lines
2.6 KiB
C
66 lines
2.6 KiB
C
/* voc 1.95 [2016/08/23] for gcc LP64 on cygwin xtspkaSfF */
|
|
|
|
#ifndef OPM__h
|
|
#define OPM__h
|
|
|
|
#define LARGE
|
|
#include "SYSTEM.h"
|
|
|
|
|
|
import INTEGER OPM_Alignment, OPM_ByteSize, OPM_CharSize, OPM_BoolSize, OPM_SIntSize, OPM_IntSize, OPM_LIntSize, OPM_SetSize, OPM_RealSize, OPM_LRealSize, OPM_PointerSize, OPM_ProcSize, OPM_RecSize, OPM_MaxSet;
|
|
import LONGINT OPM_MaxIndex;
|
|
import LONGREAL OPM_MinReal, OPM_MaxReal, OPM_MinLReal, OPM_MaxLReal;
|
|
import BOOLEAN OPM_noerr;
|
|
import LONGINT OPM_curpos, OPM_errpos, OPM_breakpc;
|
|
import INTEGER OPM_currFile, OPM_level, OPM_pc, OPM_entno;
|
|
import CHAR OPM_modName[32];
|
|
import CHAR OPM_objname[64];
|
|
import SET OPM_opt, OPM_glbopt;
|
|
import BOOLEAN OPM_dontAsm, OPM_dontLink, OPM_mainProg, OPM_mainLinkStat, OPM_notColorOutput, OPM_forceNewSym, OPM_Verbose;
|
|
|
|
|
|
import void OPM_CloseFiles (void);
|
|
import void OPM_CloseOldSym (void);
|
|
import void OPM_DeleteNewSym (void);
|
|
import void OPM_FPrint (LONGINT *fp, LONGINT val);
|
|
import void OPM_FPrintLReal (LONGINT *fp, LONGREAL lr);
|
|
import void OPM_FPrintReal (LONGINT *fp, REAL real);
|
|
import void OPM_FPrintSet (LONGINT *fp, SET set);
|
|
import void OPM_Get (CHAR *ch);
|
|
import void OPM_Init (BOOLEAN *done, CHAR *mname, LONGINT mname__len);
|
|
import void OPM_InitOptions (void);
|
|
import void OPM_LogW (CHAR ch);
|
|
import void OPM_LogWLn (void);
|
|
import void OPM_LogWNum (LONGINT i, LONGINT len);
|
|
import void OPM_LogWStr (CHAR *s, LONGINT s__len);
|
|
import void OPM_Mark (INTEGER n, LONGINT pos);
|
|
import void OPM_NewSym (CHAR *modName, LONGINT modName__len);
|
|
import void OPM_OldSym (CHAR *modName, LONGINT modName__len, BOOLEAN *done);
|
|
import void OPM_OpenFiles (CHAR *moduleName, LONGINT moduleName__len);
|
|
import BOOLEAN OPM_OpenPar (void);
|
|
import void OPM_RegisterNewSym (void);
|
|
import LONGINT OPM_SignedMaximum (LONGINT bytecount);
|
|
import LONGINT OPM_SignedMinimum (LONGINT bytecount);
|
|
import void OPM_SymRCh (CHAR *ch);
|
|
import LONGINT OPM_SymRInt (void);
|
|
import void OPM_SymRLReal (LONGREAL *lr);
|
|
import void OPM_SymRReal (REAL *r);
|
|
import void OPM_SymRSet (SET *s);
|
|
import void OPM_SymWCh (CHAR ch);
|
|
import void OPM_SymWInt (LONGINT i);
|
|
import void OPM_SymWLReal (LONGREAL lr);
|
|
import void OPM_SymWReal (REAL r);
|
|
import void OPM_SymWSet (SET s);
|
|
import void OPM_Write (CHAR ch);
|
|
import void OPM_WriteHex (LONGINT i);
|
|
import void OPM_WriteInt (LONGINT i);
|
|
import void OPM_WriteLn (void);
|
|
import void OPM_WriteReal (LONGREAL r, CHAR suffx);
|
|
import void OPM_WriteString (CHAR *s, LONGINT s__len);
|
|
import void OPM_WriteStringVar (CHAR *s, LONGINT s__len);
|
|
import BOOLEAN OPM_eofSF (void);
|
|
import void OPM_err (INTEGER n);
|
|
import void *OPM__init(void);
|
|
|
|
|
|
#endif
|