mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 08:42:24 +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.
55 lines
1.2 KiB
C
55 lines
1.2 KiB
C
/* voc 1.95 [2016/08/23] for gcc LP64 on cygwin tskSfF */
|
|
|
|
#ifndef Heap__h
|
|
#define Heap__h
|
|
|
|
#define LARGE
|
|
#include "SYSTEM.h"
|
|
|
|
typedef
|
|
CHAR Heap_CmdName[24];
|
|
|
|
typedef
|
|
void (*Heap_Command)(void);
|
|
|
|
typedef
|
|
void (*Heap_EnumProc)(void(*)(SYSTEM_PTR));
|
|
|
|
typedef
|
|
void (*Heap_Finalizer)(SYSTEM_PTR);
|
|
|
|
typedef
|
|
struct Heap_ModuleDesc *Heap_Module;
|
|
|
|
typedef
|
|
struct Heap_ModuleDesc {
|
|
LONGINT _prvt0;
|
|
char _prvt1[72];
|
|
} Heap_ModuleDesc;
|
|
|
|
typedef
|
|
CHAR Heap_ModuleName[20];
|
|
|
|
|
|
import SYSTEM_PTR Heap_modules;
|
|
import LONGINT Heap_allocated, Heap_heapsize;
|
|
import INTEGER Heap_FileCount;
|
|
|
|
import LONGINT *Heap_ModuleDesc__typ;
|
|
|
|
import void Heap_FINALL (void);
|
|
import void Heap_GC (BOOLEAN markStack);
|
|
import void Heap_INCREF (Heap_Module m);
|
|
import void Heap_InitHeap (void);
|
|
import void Heap_Lock (void);
|
|
import SYSTEM_PTR Heap_NEWBLK (LONGINT size);
|
|
import SYSTEM_PTR Heap_NEWREC (LONGINT tag);
|
|
import void Heap_REGCMD (Heap_Module m, Heap_CmdName name, Heap_Command cmd);
|
|
import SYSTEM_PTR Heap_REGMOD (Heap_ModuleName name, Heap_EnumProc enumPtrs);
|
|
import void Heap_REGTYP (Heap_Module m, LONGINT typ);
|
|
import void Heap_RegisterFinalizer (SYSTEM_PTR obj, Heap_Finalizer finalize);
|
|
import void Heap_Unlock (void);
|
|
import void *Heap__init(void);
|
|
|
|
|
|
#endif
|