David Brown
fb002de0dd
Move alignment and type size code from OPC to OPT. Remove search path in bootstrap compiler.
2016-09-23 19:04:26 +01:00
David Brown
8017aa445c
Beginning to simplify build process
2016-09-23 17:12:02 +01:00
David Brown
22a4f8e263
Use SYSTEM.ADDRESS in libraries. Build all with -O2. Support INC(a,b) for any int a,b that support a:=a+b.
2016-09-23 13:04:24 +01:00
David Brown
f1cbbdba28
Simplify __TYPEOF.
2016-09-23 11:10:33 +01:00
David Brown
cca132d784
More adjustments to ADDRESS vs LONGINT. An -O2 on 64 bit compiler has worked once!
2016-09-23 10:53:24 +01:00
David Brown
7b8eed9993
Revert LEN() to returnng LONGINT
2016-09-22 20:48:13 +01:00
David Brown
b40dc4e2f8
Some support in makefile for 32 bit model.
2016-09-22 20:02:46 +01:00
David Brown
b158671cf8
SYSTEM.ADR and LEN both return SYSTEM.ADDRESS.
2016-09-22 18:40:35 +01:00
David Brown
246a961055
Tidy OPM, update usage display.
2016-09-22 15:03:08 +01:00
David Brown
76b6a8fc23
Clean option handling and add size model and target machine options.
2016-09-21 18:28:17 +01:00
David Brown
1c94abedc6
Simplify parameterisable memory model variables.
2016-09-21 14:28:53 +01:00
David Brown
20a97bb570
Add check that double and long long (both 64 bit) have same alignment.
2016-09-21 11:56:21 +01:00
David Brown
0ea077814f
More LONGINT changes to INT64. Hopefully fixes android and pi builds.
2016-09-20 17:51:14 +01:00
David Brown
1a83167d5a
Fix ethMD5 build. May need more work to be correct on 64 bit builds.
2016-09-20 16:43:34 +01:00
David Brown
9971e56451
INT64 support in the interface browser.
2016-09-18 15:52:11 +01:00
David Brown
08f09a097d
Merge separately committed support for INT64 import.
2016-09-18 11:06:20 +01:00
David Brown
210870f968
Use SYSTEM.INT64 for literal and related values.
2016-09-18 11:06:16 +01:00
David Brown
636c128d14
Fix import of SYSTEM.INT64 on 32 bit builds.
2016-09-18 10:55:14 +01:00
David Brown
21964471d8
Fix import of SYSTEM.INT64 type on 32 bit platforms.
2016-09-15 17:39:30 +01:00
David Brown
dc699db9f5
Support 64 bit integer literals on all builds, and fix 64 bit Console.hex display.
2016-09-15 15:23:08 +01:00
David Brown
7fad168e40
Tidy source of HEAP a bit.
2016-09-14 14:22:24 +01:00
David Brown
a36e04ebd7
Replace FetchAddress with (original) SYSTEM.GET.
2016-09-14 14:01:31 +01:00
David Brown
7efd5a0158
More LONGINTS changed to Address. Remove special FetchAddress code in Heap.
2016-09-14 13:02:00 +01:00
David Brown
f13130bbd3
Add set size to __SETOF and __SETRNG.
2016-09-13 20:35:29 +01:00
David Brown
b8496c3736
Pass set size to __IN, remove uSET Ctype, optimize __IN size test.
2016-09-13 20:14:17 +01:00
David Brown
68c105b48c
Add tests for ENTIER.
2016-09-13 19:44:01 +01:00
David Brown
516e261242
Support int64 in ABS. Remove unneccessary cast in __XF, __RF.
2016-09-12 17:03:02 +01:00
David Brown
9baf4c9429
Fix shift/rotate for all integer types, add tests, make build order work for SYSTEM.c/h changes.
2016-09-12 15:55:54 +01:00
David Brown
74a085dda3
Update bootstrap.
2016-09-11 18:33:30 +01:00
David Brown
1bce6ac9b0
Make address just a synonym for int32 or int64.
2016-09-11 18:00:35 +01:00
David Brown
24aa3c6508
-Ob not working on my FreeBSD, use -O1. Better LP64 detection for OpenBSD.
2016-09-10 12:24:06 +01:00
David Brown
83aaa70290
SYSTEM.ADDRESS signed (again), DIV, MOD full integer support, ASH and checks support 64 bit ints.
...
Change (back) to address type being signed.
DIV and MOD fully defined for the full range of integer on both parameters.
_X, _XF, _R and _RF checks upgraded for 64 bit support.
ASH upgraded for 64 bit.
Add div and mod tests to language confidence test.
Enable debuggable C compiler options.
2016-09-09 14:47:40 +01:00
David Brown
ebfc60f49d
Define integer sizes before including SYSTEM.h
2016-09-06 20:48:22 +01:00
David Brown
682fa59e42
Fix mingw windows build.
2016-09-04 16:38:17 +01:00
David Brown
a865643d6c
Change of mind: s/uintptr/address/. Replace LONGINT with ADDRESS in Platform*.
2016-09-04 14:34:24 +01:00
David Brown
90737e5677
Remove obsolete SYSTEM.ADRINT. (Not that I much like uintptr).
2016-09-03 23:28:50 +01:00
David Brown
4ec2e61ed0
Completely update addresing vars in heap from LONGINT to SYSTEM.UINTPTR.
2016-09-03 18:55:55 +01:00
David Brown
db18774de1
Allow SYSTEM.VAL of constant in CONST and use in Heap.Mod.
2016-09-03 17:47:55 +01:00
David Brown
a730d6c96b
Switch SYSTEM.h uintptr type from int64 to size_t, 32 bit working again.
2016-09-03 12:01:04 +01:00
David Brown
cdd8a26481
Moving Heap.Mod to SYSTEM.UINTPTR. Only 64 bit working for now.
2016-09-03 11:56:17 +01:00
David Brown
11de6b8512
uintptr for alloc/free, some sys fns from LONGINT to int64.
2016-09-02 13:02:44 +01:00
David Brown
fdaa5ec81b
Fix outdated CARD32 type in PlatformWindows.
2016-09-01 14:53:23 +01:00
David Brown
6851833a1e
Remove some temporary bottstrapping types. Change 'U_' to 'u'.
2016-09-01 14:45:23 +01:00
David Brown
ee8342ef0d
Moving to config independent types stage 1 - generate intxx types.
2016-09-01 14:14:06 +01:00
David Brown
159f5a3d80
Update bootstrap source and snapshot binaries
2016-09-01 12:04:17 +01:00
David Brown
68cf60c401
Renumber forms removing gaps for SInt and LInt.
2016-08-31 18:46:03 +01:00
David Brown
a1fd798f6d
Remove all use of forms SInt and LInt and remove intSet using just Int instead.
2016-08-31 18:33:53 +01:00
David Brown
0508097ffe
Base expression casting on C int size, remove dependencies on form=LInt.
2016-08-31 17:15:44 +01:00
David Brown
b3c71fb2f0
Include int size in .sym files, fix __IN for out of range values, better naming.
2016-08-30 19:01:24 +01:00
David Brown
a33e38cf6c
Add OutSize and InTyp procedures for integer symbol handling.
2016-08-29 18:34:46 +01:00