Commit graph

728 commits

Author SHA1 Message Date
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
b8694e65ab Return d0 correctly in ulmSYSTEM read unixcall handler. Fixes #43. 2016-09-15 13:30: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
David Brown
7df022d94e Add SYSTEM types INT8 through INT64. Define LINT as derived type of SYSTEM.INT64. 2016-08-26 18:59:50 +01:00
David Brown
b6385f8b8c Add basic SYSTEM.ADRINT type. 2016-08-26 16:28:07 +01:00
David C W Brown
da88496c5f Tidy (#41)
* 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.
2016-08-25 14:41:00 +01:00
David Brown
1f41d80b1e Resnap test binaries with improved buinary extraction. 2016-08-24 18:45:52 +01:00
David Brown
3a7b742ea7 Update binary test process. 2016-08-24 16:26:43 +01:00
David Brown
ca2cc52a44 Port updated tests and binary snapping, with corrected Reals code, from tidy branch. 2016-08-24 14:10:06 +01:00
David Brown
b1dc7d77e8 Update boostrap source 2016-07-22 20:20:57 +01:00
David Brown
6d957bf0bb Remove unused variable and export. Thanks Oleg. 2016-07-22 18:56:14 +01:00
David Brown
d9c319ef3a Fix initial Time() value and fix GetTimeOfDay on Windows. Thanks Oleg. 2016-07-22 14:25:39 +01:00
David C W Brown
c07485d5a4 Merge pull request #37 from vishaps/FileList
Remove limit on numeric value of OS handles from Files.Mod
2016-07-21 14:15:02 +01:00
David Brown
d43279d053 postpushpl fix buildall parameter (yes, again). 2016-07-21 13:58:46 +01:00
David Brown
0d988a8ea0 postpush.pl fix branch passed to buildall. 2016-07-21 12:56:10 +01:00