Commit graph

590 commits

Author SHA1 Message Date
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
David Brown
7d7579a36d Remove unused AlignSize proc, and clean sym files before compiler build. 2016-08-29 17:47:54 +01:00
David Brown
5033d09f32 Record constant size in symbol tables, make full is now successful. 2016-08-27 18:49:52 +01:00