Jonas Maebe
3fde3f23ce
* moved ios test object files to ios directory
...
+ added darwin/aarch64 test object files
git-svn-id: trunk@45803 -
2020-07-18 13:44:03 +00:00
florian
a57f3ba396
* patch by Sergey Larin to handle Native(U)Int conversions from/to variants, resolves #37339
...
git-svn-id: trunk@45797 -
2020-07-16 20:44:30 +00:00
florian
7337515137
+ patch by Christo Crause: ESP8266 controller unit for freertos, resolves #37336
...
git-svn-id: trunk@45784 -
2020-07-14 20:34:58 +00:00
florian
0cb21e8338
+ test for last commit
...
git-svn-id: trunk@45773 -
2020-07-11 20:31:00 +00:00
florian
f6f5cb45a3
+ strip leading zeros in numeric labels in iso/extended pascal mode also in label declarations, resolves #37323
...
git-svn-id: trunk@45764 -
2020-07-11 07:12:37 +00:00
florian
392d66a9ce
* variables can have the same name as the main program in iso mode, resolves #37322
...
git-svn-id: trunk@45757 -
2020-07-10 21:05:59 +00:00
florian
3caacc529a
* fix abs() intrinsic optimisation, resolves #37301
...
git-svn-id: trunk@45732 -
2020-07-05 09:19:14 +00:00
florian
ff295bf349
* delay setting of pd_body and pd_implement till the header of a generic
...
procedure is parsed, resolves #37261
git-svn-id: trunk@45717 -
2020-06-30 20:36:51 +00:00
florian
d41f4c7c4e
* correctly handle sign/zero extensions for optimization "var3", resolves #37254
...
git-svn-id: trunk@45713 -
2020-06-29 20:36:54 +00:00
Károly Balogh
cab80d1218
amiga-likes: add headers for timer.device/GetSysTime()
...
git-svn-id: trunk@45712 -
2020-06-28 22:23:36 +00:00
svenbarth
52678562e3
* correctly handle selection between Single and Double overloads for Currency
...
+ added test
git-svn-id: trunk@45707 -
2020-06-27 22:33:36 +00:00
svenbarth
eaa2a2006c
* fix for Mantis #37272 : also allow the empty set for dynamic array parameters; Delphi probably started to allow that together with array constructors.
...
+ added tests
git-svn-id: trunk@45706 -
2020-06-27 22:33:31 +00:00
svenbarth
d401639b24
* fix for Mantis #37251 : apply patches by Bi0T1N to implement the IsConstValue() intrinsic
...
+ added tests
git-svn-id: trunk@45695 -
2020-06-25 20:42:47 +00:00
florian
cb11e2568d
+ Xtensa: patch by Christo Crause to add optional MAC16 registers, resolves #37130
...
git-svn-id: trunk@45679 -
2020-06-22 19:05:13 +00:00
yury
e63c03125a
* Reworked tprocdef.is_implemented to fix a bug with the parentfp optimization. The bug was detected when using the llvm backend.
...
+ Added a test.
git-svn-id: trunk@45675 -
2020-06-21 19:52:14 +00:00
Jonas Maebe
3cb341eabc
* ensure that dispose(managed_ptr) does not result in multiple evaluations of
...
the managed_ptr expression
git-svn-id: trunk@45673 -
2020-06-21 15:10:38 +00:00
florian
a7c0fa0def
o patch for Xtensa by Christo Crause, resolves #37099
...
+ Added postfix parsing in tattreader.GetToken
- Removed all postfixed versions of OpCodes from the instruction list
+ Added all missing OpCodes from Xtensa ISA
* Changed branch OpCode to A_B, similar to ARM
+ Added missing branch condition flags BCI and BSI
* Updated existing compiler code that referred to the old postfixed instructions
+ Added prefix and postfix handling in TxtensaInstrWriter.WriteInstruction
* Updated TCPUAddNode.second_addfloat to specify .S postfix
* Updated tcpuunaryminusnode.second_float to specify .S postfix
+ Implemented prefix and postfix identification in txtensaattreader.is_asmopcode
* Adapted branch condition extraction to respect postfixes
* Changed itcpugas to call findreg_by_name_table from raatt.pas (same as issue #0037121 , difficult to test these changes without including a fix for the register name search problem)
git-svn-id: trunk@45672 -
2020-06-21 14:51:40 +00:00
florian
80111a0a60
* make local variables in assembler blocks working again after r44933
...
* test for #37218
git-svn-id: trunk@45667 -
2020-06-20 20:17:53 +00:00
yury
c15b6f4516
* Fixed the parentfp optimization for some cases when nested procvars are used.
...
git-svn-id: trunk@45664 -
2020-06-20 18:28:07 +00:00
florian
62c417c8bf
* temporarily fix #37034 by disabling the problematic optimization until the real cause is fixed
...
git-svn-id: trunk@45655 -
2020-06-15 19:57:39 +00:00
svenbarth
febeef03e4
* for adding procdefs to forwarddefs check for the specialization flag instead of whether it's a full specialization; fixes implicit finalization handlers on x86_64-win64 not being found
...
+ added tests
git-svn-id: trunk@45646 -
2020-06-13 18:42:31 +00:00
florian
50c48349d5
* check properly for i/o errors in the iso read helpers, resolves #37154
...
* CheckRead checks if reading caused an I/O error and returns false in this case
git-svn-id: trunk@45635 -
2020-06-10 20:47:58 +00:00
florian
9710b2cbb4
+ some basic stuff for mips64el
...
git-svn-id: trunk@45614 -
2020-06-07 20:04:17 +00:00
michael
816ff7966b
* Tests for Stack/Queue comparison with pas2js
...
git-svn-id: trunk@45610 -
2020-06-07 15:37:49 +00:00
svenbarth
95f94bebba
* forgot to commit the generated Makefile
...
git-svn-id: trunk@45609 -
2020-06-07 12:25:15 +00:00
svenbarth
ac5093274d
+ add support for port object on Z80 using the new IN/OUT intrinsics
...
git-svn-id: trunk@45608 -
2020-06-07 12:25:10 +00:00
svenbarth
c793f42271
+ add intrinsics for Z80 port IN/OUT
...
git-svn-id: trunk@45607 -
2020-06-07 12:24:59 +00:00
svenbarth
ac8552afc2
+ add initial RTL for MSX DOS. Simple programs are already working, but there are apparantly some code generation problems that lead to I/O as well as parameters not working correctly
...
git-svn-id: trunk@45600 -
2020-06-06 17:16:45 +00:00
svenbarth
921e73ab0c
+ add compiler support for the Z80 MSX-DOS target
...
git-svn-id: trunk@45596 -
2020-06-06 17:16:20 +00:00
svenbarth
bf96709e39
* with ihx2tzx now also supporting binary output it makes sense to rename it to something more generic
...
git-svn-id: trunk@45594 -
2020-06-06 17:16:08 +00:00
michael
700f3e6ec1
* Add dictionary tests for comparison with pas2js
...
git-svn-id: trunk@45538 -
2020-05-31 10:57:12 +00:00
michael
e0c5ac1682
* Add nullable (bug ID 0037128)
...
git-svn-id: trunk@45520 -
2020-05-28 09:39:35 +00:00
florian
8f88112bfe
* allow in iso mode constants selecting the branch to dispose of a variant record (no functional effect though), resolves #37085
...
git-svn-id: trunk@45519 -
2020-05-27 21:10:55 +00:00
florian
b4de0b2e9c
* insert fwait after fcompp, resolves #37136
...
git-svn-id: trunk@45500 -
2020-05-25 20:38:19 +00:00
svenbarth
1d4bbcef75
+ add additional overloads for FindResource and FindResourceEx so that mixtures of AnsiString and MAKEINTRESOURCE types as well as names can be used
...
+ added test for ReadComponentRes (which called the wrong FindResource before)
git-svn-id: trunk@45479 -
2020-05-23 21:24:01 +00:00
Károly Balogh
9f80b11c5d
tosunits: added another example which shows a DEGAS format picture
...
git-svn-id: trunk@45474 -
2020-05-23 14:26:41 +00:00
florian
51da470757
* constrained type parameters are not undefined defs, resolves #37107
...
git-svn-id: trunk@45457 -
2020-05-21 18:19:08 +00:00
Jonas Maebe
a88eee4080
* fixed unitdir directive for relative paths in case the current module's
...
path is not set, broken by r43312 (mantis #37095 )
git-svn-id: trunk@45410 -
2020-05-17 21:27:00 +00:00
svenbarth
6b548b9016
* fix for Mantis #37042 : apply patch and test (adjusted for Big Endian) by Bi0T1N to add support for TBitConverter
...
git-svn-id: trunk@45409 -
2020-05-17 20:59:57 +00:00
Jonas Maebe
f9672b53a2
- removed old float-to-string and string-to-float conversion code
...
git-svn-id: trunk@45401 -
2020-05-17 14:05:38 +00:00
michael
f432bd9307
* Patch from Noel Duffy to add TrySTrToHost* functions
...
git-svn-id: trunk@45376 -
2020-05-16 13:11:28 +00:00
svenbarth
f0e8d5dfa6
* fix for Mantis #37043 : apply patch by Bi0T1N (including test) to add additional overloads for IntToHex including a rerouting of the ordinal helpers' ToHexString to use these overloads
...
git-svn-id: trunk@45370 -
2020-05-15 15:14:19 +00:00
florian
7a60e044e3
* simplify constant expressions after re-ordering, resolves #37062
...
git-svn-id: trunk@45360 -
2020-05-13 20:26:04 +00:00
michael
71e322d058
* Patch from Noel Duffy to improve IPV6 address parsing (bug ID tw37013)
...
git-svn-id: trunk@45350 -
2020-05-13 07:19:03 +00:00
yury
a316229ef6
* Always use parentfp for forward-declared nested procedures.
...
git-svn-id: trunk@45320 -
2020-05-09 17:52:17 +00:00
Károly Balogh
bc9b8af04b
m68k: add the converted includes, based on m68kins.dat
...
git-svn-id: trunk@45311 -
2020-05-08 12:11:13 +00:00
Károly Balogh
d5874b0088
m68k: added a full instruction table (minus CF MAC/EMAC instructions for now), based on vasm, and the required tool to process it
...
git-svn-id: trunk@45310 -
2020-05-08 12:05:11 +00:00
florian
f8e7d0bc09
- remove unused files, resolves #37032
...
git-svn-id: trunk@45306 -
2020-05-07 20:36:09 +00:00
yury
c1d124d497
* x86: Fixed peephole optimization introduced in r44233. tb0219 and tb0548 tests have failed with -O2 since then.
...
* Added variants of the tb0219 and tb0548 tests with forced -O2.
git-svn-id: trunk@45291 -
2020-05-06 14:18:44 +00:00
svenbarth
3d2945726a
* handle generic parameters in Ord()
...
+ added test
git-svn-id: trunk@45232 -
2020-05-03 15:08:31 +00:00
florian
b6097a0300
* correctly handle result type of string constant nodes for internally created
...
nodes
git-svn-id: trunk@45231 -
2020-05-03 12:41:17 +00:00
Jonas Maebe
722ad1ff7b
* support floating point parameters split over multiple locations, including
...
integer registers, for homogeneous records/arrays on ppc64le (related to
mantis #36934 )
git-svn-id: trunk@45205 -
2020-05-01 13:02:48 +00:00
Jonas Maebe
05923af386
* ppc64le: fix storing homogeneous 64 bit float parameters in case they are
...
split over just FPU registers and memory (related to mantis #36934 )
git-svn-id: trunk@45204 -
2020-05-01 13:02:45 +00:00
Jonas Maebe
d83232f881
* ELFv2: fixed homogeneous aggregate parameter passing when they should
...
overflow into integer registers (mantis #36934 )
git-svn-id: trunk@45199 -
2020-04-30 20:53:05 +00:00
marcus
95ced4a7f5
Amiga: special CRT unit (named vidcrt) based on video unit
...
git-svn-id: trunk@45197 -
2020-04-30 19:28:45 +00:00
nickysn
19c1ecda54
+ started work on the Z80 internal assembler
...
git-svn-id: trunk@45191 -
2020-04-30 14:27:48 +00:00
Károly Balogh
c206415450
zxspectrum: pascal startup code. this allows the RTL to be built with any assembler
...
git-svn-id: trunk@45165 -
2020-04-28 23:13:29 +00:00
Károly Balogh
23fc0fe66a
z80: added quick & dirty vasm assembler support to the target
...
git-svn-id: trunk@45152 -
2020-04-28 01:23:31 +00:00
nickysn
fa052f76ee
+ added empty strings.inc and stringss.inc files
...
git-svn-id: trunk@45148 -
2020-04-27 22:13:36 +00:00
nickysn
6f6598712f
* synchronized with trunk
...
git-svn-id: branches/z80@45131 -
2020-04-26 22:33:58 +00:00
svenbarth
a467332187
* fix for Mantis #36975 : arraydefs are not allowed for generic types (this is only used for type declarations; for specializing constant strings which are char arrays are still allowed)
...
+ added test
git-svn-id: trunk@45089 -
2020-04-26 11:46:10 +00:00
svenbarth
60345366f2
* fix for Mantis #35140 : apply patch by Ryan Joseph together with some further changes by me to add support for constant parameters in generics
...
+ added tests
git-svn-id: trunk@45080 -
2020-04-25 22:12:35 +00:00
nickysn
26ba399a66
* synchronized with trunk
...
git-svn-id: branches/z80@45056 -
2020-04-24 19:16:32 +00:00
svenbarth
bd01182ff0
* add support for AND, OR, XOR and NOT of integer values in preprocessor directives (Delphi allows that as well)
...
+ added test
git-svn-id: trunk@45053 -
2020-04-24 14:09:04 +00:00
nickysn
02dbca9ae4
+ added dummy sysdir.inc to the ZX Spectrum RTL
...
git-svn-id: branches/z80@45032 -
2020-04-23 03:03:42 +00:00
nickysn
f732b8413c
+ added dummy sysfile.inc
...
git-svn-id: branches/z80@45031 -
2020-04-23 03:01:39 +00:00
nickysn
0d7e3921aa
+ added susheap.inc to the ZX Spectrum RTL (empty for now)
...
git-svn-id: branches/z80@45027 -
2020-04-23 02:35:11 +00:00
nickysn
76a8d47eb6
+ added z80/int64p.inc (empty for now)
...
git-svn-id: branches/z80@45021 -
2020-04-23 01:57:03 +00:00
nickysn
cae8a928c9
* fixed tz80loadparentfpnode.pass_generate_code to return result in an imaginary register sequence,
...
instead of simply returning IX
git-svn-id: branches/z80@45020 -
2020-04-23 01:40:13 +00:00
nickysn
a189ea4b0b
* synchronized with trunk
...
git-svn-id: branches/z80@45010 -
2020-04-22 22:43:31 +00:00
florian
483837ae5c
+ Xtensa: make use of ADDX*
...
git-svn-id: trunk@45001 -
2020-04-22 21:03:08 +00:00
svenbarth
5ef9a78f5f
* fix for Mantis #36951 : B and BL can take immediate literals as well
...
+ added test
git-svn-id: trunk@44999 -
2020-04-22 20:19:14 +00:00
yury
7b425ed4a6
* Moved the common interface part of the win32 and win64 System units to the syswinh.inc include file.
...
git-svn-id: trunk@44996 -
2020-04-22 12:04:05 +00:00
nickysn
63e6c8fcf1
+ override the NOT node for the Z80 (not yet implemented)
...
git-svn-id: branches/z80@44991 -
2020-04-22 02:56:51 +00:00
nickysn
86643f8a34
* synchronized with trunk
...
git-svn-id: branches/z80@44981 -
2020-04-21 23:36:44 +00:00
svenbarth
2b59000d56
+ implement compiler support for SEH on Win64
...
Note: due to the way we access variables in a nested function (which in this case includes exception filters) we can not extract the finally handlers and call them (like we do on i386 and x86_64, but instead we duplicate the finally code)
git-svn-id: trunk@44941 -
2020-04-21 06:06:05 +00:00
nickysn
d3e946b779
* fixed Z80 stack and temp allocation, so it doesn't have any wasted bytes
...
git-svn-id: branches/z80@44906 -
2020-04-21 02:51:44 +00:00
nickysn
861ae0b139
+ some rtl include files added
...
git-svn-id: branches/z80@44904 -
2020-04-21 02:11:52 +00:00
nickysn
aeafe0db40
+ added math.inc and set.inc for Z80, empty for now
...
git-svn-id: branches/z80@44903 -
2020-04-21 02:05:10 +00:00
nickysn
2f68090dd6
* synchronized with trunk
...
git-svn-id: branches/z80@44898 -
2020-04-20 22:42:08 +00:00
florian
b4ff93c9fe
+ forgotten files added
...
git-svn-id: trunk@44889 -
2020-04-20 20:08:19 +00:00
nickysn
f8d69601f2
+ added makefiles for ihx2tzx
...
git-svn-id: branches/z80@44857 -
2020-04-19 15:58:29 +00:00
nickysn
21dd92df23
+ added Makefile for the ZX Spectrum rtl
...
git-svn-id: branches/z80@44852 -
2020-04-19 14:45:14 +00:00
nickysn
3deeff689a
+ added a ZX Spectrum target to the compiler
...
git-svn-id: branches/z80@44815 -
2020-04-19 01:09:03 +00:00
nickysn
8c87ef2a32
+ added makefile.fpc for the ZX Spectrum RTL
...
git-svn-id: branches/z80@44814 -
2020-04-19 00:48:12 +00:00
nickysn
4f1174cc6e
+ added a very minimal and incomplete ZX Spectrum RTL
...
git-svn-id: branches/z80@44813 -
2020-04-19 00:24:22 +00:00
nickysn
c4950d1723
* synchronized with trunk
...
git-svn-id: branches/z80@44754 -
2020-04-17 22:48:14 +00:00
nickysn
be095914ec
+ created and included an Z80 instruction table
...
git-svn-id: branches/z80@44753 -
2020-04-17 22:47:15 +00:00
svenbarth
de35356a4d
* when checking for an existing operator overload for the assignment operator, check for the correct variant (explicit or not) matching the overload
...
+ added tests
git-svn-id: trunk@44746 -
2020-04-17 14:44:14 +00:00
nickysn
c3ca85e349
* synchronized with trunk
...
git-svn-id: branches/z80@44721 -
2020-04-13 21:10:10 +00:00
florian
2276caae24
+ common assembler optimizer base class for arm and aarch64
...
git-svn-id: trunk@44720 -
2020-04-13 21:01:01 +00:00
florian
cd35cdad25
* fix Min/MaxSingle/Double values, resolves #36870
...
git-svn-id: trunk@44714 -
2020-04-13 08:48:32 +00:00
nickysn
a8e047fcbb
* synchronized with trunk
...
git-svn-id: branches/z80@44649 -
2020-04-08 22:36:55 +00:00
Károly Balogh
d6a4347fae
amiunits: rotating cube example program, tuned for low-end systems
...
git-svn-id: trunk@44641 -
2020-04-08 07:55:01 +00:00
nickysn
9573e373f2
* synchronize with trunk
...
git-svn-id: branches/z80@44637 -
2020-04-07 22:19:18 +00:00
florian
1dd914ffc8
+ initial xtensa-linux rtl
...
git-svn-id: trunk@44636 -
2020-04-07 21:01:07 +00:00
nickysn
b2549b63cd
* implemented pop_parasize for the Z80 and declared stdcall to be a clearstack pocall on this arch
...
git-svn-id: branches/z80@44629 -
2020-04-07 00:07:34 +00:00
nickysn
692ec2fcba
* synchronized with trunk
...
git-svn-id: branches/z80@44623 -
2020-04-06 22:14:42 +00:00
florian
460369405e
+ xtensa-linux: OS specific system unit header files
...
git-svn-id: trunk@44612 -
2020-04-05 21:12:13 +00:00
nickysn
052bc6c5e8
* synchronized with trunk
...
git-svn-id: branches/z80@44609 -
2020-04-05 20:52:53 +00:00
florian
2f5d51436e
+ with the randseed set as in the test, the test fails on x86_64-linux, added so it won't be forgotten
...
git-svn-id: trunk@44599 -
2020-04-05 16:26:11 +00:00
florian
0f06a7205b
* do not create full copies of objects when object checking is on, resolves #36863
...
git-svn-id: trunk@44598 -
2020-04-05 16:26:10 +00:00
nickysn
ac1d4ad499
+ added unit zxbasic, containing ZX Spectrum constants for the ZX BASIC keywords
...
* use these constants to construct the BASIC program loader (so it's now less cryptic what we're writing there)
git-svn-id: branches/z80@44590 -
2020-04-05 14:51:08 +00:00
nickysn
175cbf672f
+ initial implementation of an .IHX (Intel hex format) to .TZX (ZX Spectrum tape file format) file conversion tool
...
git-svn-id: branches/z80@44588 -
2020-04-05 04:23:46 +00:00
nickysn
87eae35e2f
* synchronize with trunk
...
git-svn-id: branches/z80@44584 -
2020-04-04 22:54:29 +00:00
Károly Balogh
8d690546f3
m68k-amiga: make all legacy support functions have a public name, and supply headers for them (will be utilized by athreads, dos, and sysutils units)
...
git-svn-id: trunk@44564 -
2020-04-04 13:21:54 +00:00
nickysn
20eab5582f
+ generate the Z80 instruction enum and string table from z80ins.dat via a newly created tool
...
git-svn-id: branches/z80@44556 -
2020-04-04 01:36:07 +00:00
nickysn
565cc0e96b
+ created a parseable Z80 instruction description file, very loosely based on x86ins.dat. Parser not
...
implemented yet, but will be soon.
git-svn-id: branches/z80@44554 -
2020-04-04 00:21:50 +00:00
florian
a6cfaa996a
* few cleanups towards building the z80-embedded system unit
...
git-svn-id: branches/z80@44550 -
2020-04-03 20:37:27 +00:00
nickysn
50e5b07568
* synchronize with trunk
...
git-svn-id: branches/z80@44503 -
2020-04-01 22:43:55 +00:00
michael
a24a4b9745
* Patch from Bart Broersma to fix bug ID #36809 - test program
...
git-svn-id: trunk@44478 -
2020-04-01 07:06:01 +00:00
nickysn
377f52ee69
+ started work on the sdcc-sdasz80 asm backend
...
git-svn-id: branches/z80@44445 -
2020-03-30 23:31:04 +00:00
nickysn
6e346f1c79
* synchronize with trunk
...
git-svn-id: branches/z80@44444 -
2020-03-30 22:36:17 +00:00
michael
13986a1f8f
* Added ability to use UTF16, expanded patch from Anton Kavalenka
...
git-svn-id: trunk@44435 -
2020-03-30 19:36:04 +00:00
nickysn
a340a39ae3
* synchronize with trunk
...
git-svn-id: branches/z80@44428 -
2020-03-30 03:14:29 +00:00
Károly Balogh
b96109727c
m68k-amiga: initial work on some support functions to allow the RTL to be compiled for AmigaOS 1.x
...
git-svn-id: trunk@44427 -
2020-03-30 03:06:23 +00:00
nickysn
48b4cc34cb
* synchronized with trunk
...
git-svn-id: branches/z80@44414 -
2020-03-29 23:04:40 +00:00
Jonas Maebe
10b15628ab
* split i/t_darwin from i/t_bsd, as they don't have that much in common
...
any more
git-svn-id: trunk@44407 -
2020-03-29 18:27:27 +00:00
florian
391512546e
+ initial FreeRTOS RTL support, largely based on the Embedded target, limited to Xtensa so far
...
git-svn-id: trunk@44400 -
2020-03-29 17:13:45 +00:00
nickysn
755fe97c51
* synchronize with trunk
...
git-svn-id: branches/z80@44397 -
2020-03-29 16:24:32 +00:00
florian
639f1c476f
+ Xtensa: tcpuinlinenode.second_abs_long
...
git-svn-id: trunk@44364 -
2020-03-25 21:17:05 +00:00
florian
e34a759659
+ Xtensa: mathu.inc using only the softfloat unit provided mechanisms
...
git-svn-id: trunk@44347 -
2020-03-23 20:54:55 +00:00
Jeppe Johansen
3189e4245d
makefiles: Add support for xtensa-embedded target.
...
git-svn-id: trunk@44332 -
2020-03-21 20:59:33 +00:00
florian
729425447f
+ Xtensa: basic operations for Xtensa implemented
...
git-svn-id: trunk@44324 -
2020-03-21 12:49:46 +00:00
florian
73c68236b6
* Xtensa: completed compiler skeleton
...
git-svn-id: trunk@44323 -
2020-03-21 12:49:45 +00:00
florian
28c0a47a95
+ Xtensa: completed rtl skeleton
...
git-svn-id: trunk@44322 -
2020-03-21 12:49:43 +00:00
florian
83a6efd759
+ Xtensa: RTL skeleton
...
git-svn-id: trunk@44320 -
2020-03-20 22:35:43 +00:00
florian
9e40d536cb
+ Xtensa: initial skeleton completed
...
+ xtensa-embedded support in the compiler
git-svn-id: trunk@44318 -
2020-03-20 22:34:33 +00:00
florian
27349661e0
+ Xtensa: lazarus project
...
git-svn-id: trunk@44317 -
2020-03-20 22:34:30 +00:00
florian
08c12ca439
+ Xtensa: register information
...
git-svn-id: trunk@44316 -
2020-03-20 22:34:29 +00:00
michael
abda57b3b9
* SAX example
...
git-svn-id: trunk@44293 -
2020-03-13 08:05:42 +00:00
marco
7b4ef925f0
* attempt at crt1 translation to get freebsd 12 running.
...
git-svn-id: trunk@44289 -
2020-03-08 16:37:30 +00:00
florian
bc3131688a
* fix precedence of IS operator, resolves #35909
...
git-svn-id: trunk@44266 -
2020-03-06 10:10:58 +00:00
svenbarth
97c8464b11
* fix for Mantis #36738 : when copying a record using its copy operator we assume that we've copied the whole record; this way managed records inside non-managed records are handled correctly
...
+ added (adjusted) test
git-svn-id: trunk@44257 -
2020-03-02 22:04:45 +00:00
svenbarth
8003f675c5
+ add test for already fixed Mantis #24283
...
git-svn-id: trunk@44249 -
2020-02-28 16:29:14 +00:00
florian
4dff373fef
* (modified) patch by J. Gareth Moreton: processor-aware MOVZX optimisation cleanup, resolves #36687
...
git-svn-id: trunk@44233 -
2020-02-22 18:37:38 +00:00
florian
c146aecc01
* throw an error if the forward interface type and the actual interface type do not match, resolves #36720
...
git-svn-id: trunk@44230 -
2020-02-21 20:35:27 +00:00
svenbarth
2ad3c6dd97
* fix global generic functions with constraints in mode Delphi by handling implementations with defines outside of parse_generic_parameters
...
+ added tests
git-svn-id: trunk@44189 -
2020-02-16 09:53:37 +00:00
florian
b7afb2431c
* do not allow constraints in headers of procedure implementations in delphi mode, resolves #36584
...
* better error message if a constraint is found at a wrong location
git-svn-id: trunk@44174 -
2020-02-14 20:56:55 +00:00
svenbarth
c4f3f7f453
* only resolve a dummy symbol if it is a type symbol (thus truly a dummy symbol)
...
+ added tests
git-svn-id: trunk@44172 -
2020-02-14 16:49:07 +00:00
svenbarth
147559349b
* fix for Mantis #36652 : gracefully handle the error if one tries to implement a method of a type from another unit
...
+ added test
git-svn-id: trunk@44170 -
2020-02-14 16:48:58 +00:00
florian
1e64133a08
* fix TVector.Reserve after IncreaseCapacity changes, resolves #36698
...
git-svn-id: trunk@44167 -
2020-02-13 21:29:23 +00:00
yury
39c48f0d01
* Fixed r43577 for cases when the size of the new result of a simplified node after typecheckpass is smaller than the size of the original node's result. This caused internal errors or invalid assembly in some cases. Issue #36587 .
...
git-svn-id: trunk@44151 -
2020-02-11 12:49:12 +00:00
florian
297d6e2c60
* patch by Christo Crause: more avr1 controllers and remove attiny28 from avr25 makefile list, resolves #36686
...
git-svn-id: trunk@44136 -
2020-02-09 10:51:14 +00:00
florian
04ad607bb4
* patch by Christo Crause: more AVR controllers, resolves #36683
...
git-svn-id: trunk@44130 -
2020-02-08 20:43:22 +00:00
florian
5040e31f11
* patch by Christo Crause: add missing atmega-PB controllers, resolves #36667
...
git-svn-id: trunk@44128 -
2020-02-07 19:48:46 +00:00
florian
2d47013cd1
* patch by J. Gareth Moreton: fixes internal error 200405231 with inline, resolves #35590
...
git-svn-id: trunk@44119 -
2020-02-05 20:35:03 +00:00
florian
de213ba258
- test removed as it cannot work on all variants of currency support
...
git-svn-id: trunk@44107 -
2020-02-03 20:16:33 +00:00
florian
2b7447c78d
* EPoll_Event is packed only on x86-64, not other 64 Bit CPUs, resolves #34416
...
* epoll_pwait expects the SigSet size as sixth parameter (kernel syscall only)
+ simple epoll* test
git-svn-id: trunk@44093 -
2020-02-02 14:23:51 +00:00
florian
d479069f8c
* might_have_sideeffects takes care of absolute
...
git-svn-id: trunk@44083 -
2020-02-01 18:00:38 +00:00
svenbarth
1407aa2b4b
* fix for Mantis #36631 : it's an error if a POINT after an array is not followed by an identifier
...
+ added tests
git-svn-id: trunk@44082 -
2020-02-01 17:51:46 +00:00
florian
00214406bc
+ patch by Christo Crause: Support for attiny10x controllers, resolves #36645
...
git-svn-id: trunk@44081 -
2020-02-01 15:54:57 +00:00
florian
9d91d680fb
* patch by Christo Crause: support for megaAVR 0 and tinyAVR 0/1, #36616 , part 3/3
...
git-svn-id: trunk@44038 -
2020-01-26 14:35:32 +00:00
florian
7892e3f7b7
* patch by Christo Crause: support for megaAVR 0 and tinyAVR 0/1, #36616 , part 2/3
...
git-svn-id: trunk@44037 -
2020-01-26 14:35:29 +00:00
florian
6c71fd461d
* avoid internalerror for dec/inc(...,v) with v>high(int64), resolves #35298
...
git-svn-id: trunk@44031 -
2020-01-24 21:39:07 +00:00
florian
d87a5cc9fb
* take care of m_duplicate_names when checking for duplicate locals, resolves #33221
...
git-svn-id: trunk@44028 -
2020-01-23 21:32:09 +00:00
florian
7b4292c94e
* patch by Robert Roland to support the RaspberryPi 2 as a bare metal embedded target, resolves #35236
...
git-svn-id: trunk@44027 -
2020-01-23 21:14:49 +00:00
svenbarth
4fc02d3d09
* enable tail recursion optimization also for const and constref open arrays
...
+ added test
git-svn-id: trunk@44011 -
2020-01-21 21:29:56 +00:00
florian
01302bc47d
* subroutines working with an OS dependend time stamp use an int64 now, so the 2038 problem
...
on unixes can be tackled
git-svn-id: trunk@44010 -
2020-01-21 20:59:20 +00:00
florian
069e040e49
* do for-loop unrolling after for-loop simplification, resolves #36589
...
git-svn-id: trunk@43999 -
2020-01-19 18:21:12 +00:00
michael
d6894f2814
* Add calendar example
...
git-svn-id: trunk@43991 -
2020-01-19 16:34:03 +00:00
michael
6984cf8606
* Fix bug #0036581 , amended patch by Pascal Riekenberg
...
git-svn-id: trunk@43973 -
2020-01-18 16:40:57 +00:00
florian
70a836c4a2
* first part of merging parts of Jeppe's intrinsics patch, mainly r31135
...
is merged by this commit with a lot of adaptions
git-svn-id: trunk@43949 -
2020-01-14 21:52:39 +00:00
Jeppe Johansen
2678522db5
- RISC-V: Add controller types for common RV32 MCUs.
...
- Adds initial controller units for these MCUs.
Code contributed by Michael Ring
git-svn-id: trunk@43935 -
2020-01-13 22:54:26 +00:00
Jeppe Johansen
02c3f328a2
- RISC-V: Share optimizations between 32 and 64-bit.
...
git-svn-id: trunk@43934 -
2020-01-13 22:49:23 +00:00
florian
1ceb5ea343
+ lazarus project
...
git-svn-id: trunk@43916 -
2020-01-11 22:45:32 +00:00
florian
007df5d0fa
* fix for #36554
...
git-svn-id: trunk@43913 -
2020-01-11 21:15:19 +00:00
svenbarth
7a0a1d9f36
* fix for Mantis #36544 : provide an overall exception handler for the library startup code in case of unhandled exceptions (the loading of the library is considered failed in that case) when SEH is active
...
+ added test
git-svn-id: trunk@43901 -
2020-01-10 15:39:20 +00:00
Jonas Maebe
31ef82b9c6
* constrained sitofp is not yet supported in LLVM for all targets
...
git-svn-id: trunk@43885 -
2020-01-07 20:22:17 +00:00
florian
404c6e0c15
+ forgotten file
...
git-svn-id: trunk@43879 -
2020-01-06 20:59:25 +00:00
florian
6612bb4434
* proper naming
...
git-svn-id: trunk@43871 -
2020-01-06 14:58:06 +00:00
florian
6371d5f26d
+ infrastructure to profile different stages of the compiler
...
git-svn-id: trunk@43869 -
2020-01-06 14:46:32 +00:00
florian
d425a85f8d
+ Linux.fpstatx, resolves #36501
...
git-svn-id: trunk@43837 -
2020-01-02 14:10:31 +00:00
florian
f6c16323fa
* unified loadnf_load_self_pointer into loadnf_load_addr
...
+ var parameters are now allowed when doing tail recursion optimziation, resolves #32811
git-svn-id: trunk@43824 -
2019-12-30 22:43:10 +00:00
svenbarth
3e7dc25667
* fix for Mantis #36496 : correctly handle the function result alias variable inside generic functions
...
+ added tests
git-svn-id: trunk@43823 -
2019-12-30 21:35:26 +00:00
marcus
9b67c65749
AROS, OS4, MorphOS: Console, ConUnit added, Crt first Version
...
git-svn-id: trunk@43815 -
2019-12-30 14:32:32 +00:00
florian
00859420ab
* correctly handle reading of class/object pointers in combination with @, resolves #26326
...
git-svn-id: trunk@43804 -
2019-12-28 17:59:23 +00:00
florian
7032c80041
* accept #26 as eof in iso mode, resolves #35136
...
git-svn-id: trunk@43801 -
2019-12-28 10:35:46 +00:00
florian
94d222ba69
+ test for #26791 , meanwhile fixed
...
git-svn-id: trunk@43797 -
2019-12-26 21:10:34 +00:00
florian
fd0012deff
* when copying goto nodes take care if the label node is part of the copied tree
...
or not, resolves #35820
git-svn-id: trunk@43793 -
2019-12-25 17:10:14 +00:00
florian
4de6b3e6b9
* do not crash when an unsupported code page is encountered, resolves #35581
...
git-svn-id: trunk@43764 -
2019-12-23 21:44:50 +00:00
florian
2f374a37b7
* patch by Bart Broersma to allow to declare "LongInt = AnsiString" comparison
...
operator in non-macpas modes, resolves #29460
git-svn-id: trunk@43709 -
2019-12-22 22:06:26 +00:00
svenbarth
8111e92e1f
* rework syntax for cblocks: now a cblock directive is required
...
* additionally implicit calling conventions of cdecl or mwpascal now work as well
* adjusted tests
+ added tests
Note: the generator for packages/univint needs to be fixed, until then building on macOS will be broken
git-svn-id: trunk@43684 -
2019-12-14 16:45:38 +00:00
florian
f62fd437b1
* patch by J. Gareth Moreton: improve test and benchmark, resolves #35633
...
git-svn-id: trunk@43671 -
2019-12-10 21:31:42 +00:00
florian
ef7e4f6f62
* fix J. Gareth Moreton to resolve #36389
...
git-svn-id: trunk@43670 -
2019-12-09 22:00:45 +00:00
florian
ac6e4f59c6
* better error recovery, resolves #36397
...
git-svn-id: trunk@43653 -
2019-12-05 20:46:50 +00:00
michael
b82eaf4ce2
* Fix bug #32532 : AV when killing daemon app
...
git-svn-id: trunk@43645 -
2019-12-05 14:54:15 +00:00
michael
db895fcebe
* Fix bug #0036361 , use buffer when reading csv
...
git-svn-id: trunk@43641 -
2019-12-05 10:43:02 +00:00
svenbarth
927c91e093
* fix for Mantis #36388 : correctly handle generic constraints when looking for helpers
...
git-svn-id: trunk@43629 -
2019-12-02 22:29:34 +00:00
florian
86d8e79e86
* fix some currency issues, resolves #33963 and #36179
...
git-svn-id: trunk@43620 -
2019-12-01 20:24:00 +00:00
florian
f2a8b8ad6a
* adapt register if the size of the paraloc and the register differ, resolves #34409
...
git-svn-id: trunk@43617 -
2019-11-30 20:37:55 +00:00
florian
d8f1aacd78
* better error recovery, resolves #36377
...
git-svn-id: trunk@43612 -
2019-11-29 22:13:17 +00:00
Jonas Maebe
5800ac6213
* fix conversion from Objective-C class/protocol to tvarrec (store in
...
vPointer) (mantis #36362 )
git-svn-id: trunk@43594 -
2019-11-26 21:24:56 +00:00
florian
fb4b1cbf35
* warn only in delphi mode if an explicit enumeration value exceeds the range, relaxes r43191
...
git-svn-id: trunk@43590 -
2019-11-25 20:58:20 +00:00
svenbarth
ef6c9e930b
* correctly handle the genericdef being a procdef, otherwise no code will be generated (and no error either :/ )
...
+ added test
git-svn-id: trunk@43586 -
2019-11-25 20:28:23 +00:00
michael
bcee247240
* Simple, read-only example, no authentication
...
git-svn-id: trunk@43584 -
2019-11-25 14:14:19 +00:00
svenbarth
39f4b97ea5
+ add test for a problem reported by Michael van Canneyt which is fixed by the previous revision
...
git-svn-id: trunk@43569 -
2019-11-24 00:04:35 +00:00
pierre
bfb4b885ca
Add riscv32 mathu inculde file, redirecting to ../riscv64/mathu.inc file (this file seems to have no 64-bit specific code)
...
git-svn-id: trunk@43530 -
2019-11-21 10:52:27 +00:00
pierre
0e0407ad57
Add si_XXX.inc files, pointing to riscv64 counterparts
...
git-svn-id: trunk@43526 -
2019-11-20 22:51:03 +00:00
florian
3de38c4894
* naming of tests fixed
...
git-svn-id: trunk@43502 -
2019-11-16 17:18:04 +00:00
florian
60b3296594
* relax conditions in tcallnode.optimize_funcret_assignment, resolves #36279
...
git-svn-id: trunk@43501 -
2019-11-16 17:16:16 +00:00
Jonas Maebe
4fd670c6ec
* fixed missing masking of values after shifting them during inline
...
evaluation
o also only mask values when performing a constant evaluation of
"0 shl/shr x" during inline evaluation (just like when evaluating other
shl/shr operations)
git-svn-id: trunk@43497 -
2019-11-16 14:27:47 +00:00
michael
3b85cc4040
* Fix bug ID #0027891 , newer version compaible with 1.3.14
...
git-svn-id: trunk@43477 -
2019-11-15 14:40:48 +00:00
florian
e1433adc2e
* check in the internal assembler for references with incorrect use of RIP
...
+ test
git-svn-id: trunk@43461 -
2019-11-13 20:47:42 +00:00
florian
9d0389aa53
+ readded accidently deleted file
...
git-svn-id: trunk@43448 -
2019-11-10 21:22:33 +00:00
florian
7747c5fc27
-- Zusammenführen von r43307 bis r43443 in ».«:
...
D tests/webtbs/tw32219.pp
U compiler/i386/i386att.inc
U compiler/i386/i386atts.inc
U compiler/i386/i386int.inc
U compiler/i386/i386nop.inc
U compiler/i386/i386op.inc
U compiler/i386/i386prop.inc
U compiler/i386/i386tab.inc
U compiler/i8086/i8086att.inc
U compiler/i8086/i8086atts.inc
U compiler/i8086/i8086int.inc
U compiler/i8086/i8086nop.inc
U compiler/i8086/i8086op.inc
U compiler/i8086/i8086prop.inc
U compiler/i8086/i8086tab.inc
U compiler/x86/x86ins.dat
U compiler/x86_64/x8664ats.inc
U compiler/x86_64/x8664att.inc
U compiler/x86_64/x8664int.inc
U compiler/x86_64/x8664nop.inc
U compiler/x86_64/x8664op.inc
U compiler/x86_64/x8664pro.inc
U compiler/x86_64/x8664tab.inc
U tests/utils/avx/avxopcodes.pas
-- Aufzeichnung der Informationen für Zusammenführung von r42706 bis r43443 in ».«:
U .
git-svn-id: trunk@43444 -
2019-11-10 16:44:34 +00:00
Jonas Maebe
af97c43bdc
+ tests for r43436
...
git-svn-id: trunk@43438 -
2019-11-10 13:13:57 +00:00
michael
8b89a5cc51
* Remove testsuite again
...
git-svn-id: trunk@43431 -
2019-11-09 18:56:14 +00:00
michael
1c3b41eb54
* Testsuite in punit format
...
git-svn-id: trunk@43425 -
2019-11-09 13:39:14 +00:00
svenbarth
b0ac0ddcc9
+ add support for the IsManagedType() intrinsics which reports for a type (or variable) whether it needs initialization/finalization
...
+ added tests
git-svn-id: trunk@43409 -
2019-11-06 23:04:52 +00:00
tg74
1454e8b29d
new avx512-opcodes VBMI2,VNNI,BITALG ...
...
git-svn-id: branches/tg74/avx512merge@43406 -
2019-11-06 19:51:01 +00:00
florian
fabe4cc067
* patch by Christo Crause: reg. allocation information if non-volatile registers
...
are used for parameter passing as it is might happen on avr, resolves #36079
git-svn-id: trunk@43390 -
2019-11-04 20:14:46 +00:00
florian
d3c5bd2a3e
* test for tw36212
...
git-svn-id: trunk@43385 -
2019-11-03 17:33:26 +00:00
florian
c6659d62f8
* do not join register deallocations/allocations as it makes no use and causes later on trouble in
...
the assembler optimizer as register allocations are not correct, resolves #33565
git-svn-id: trunk@43384 -
2019-11-03 17:13:59 +00:00
florian
b8f186dab2
* reverted r43366
...
git-svn-id: trunk@43382 -
2019-11-03 14:42:02 +00:00
florian
5ead23513d
* more overloads for Math.Min/Max, resolves #36161
...
git-svn-id: trunk@43366 -
2019-11-02 16:21:43 +00:00
svenbarth
fdeaacac21
* fix for Mantis #36223 : when parsing a helper type its extendeddef might be Nil
...
+ added test
git-svn-id: trunk@43346 -
2019-11-01 15:02:31 +00:00
florian
cb67577002
* fix length(<dyn. type>)=0 optimization, resolves #36215
...
git-svn-id: trunk@43343 -
2019-10-31 21:29:41 +00:00
michael
71b6573e41
* HTML/JS Resource support
...
git-svn-id: trunk@43317 -
2019-10-27 13:08:44 +00:00
florian
fa9c7a92c7
-- Zusammenführen von r42725 bis r43306 in ».«:
...
A tests/webtbs/tw32219.pp
U tests/utils/avx/avxopcodes.pas
U tests/utils/avx/asmtestgenerator.pas
U compiler/i386/i386tab.inc
U compiler/i386/i386nop.inc
U compiler/i8086/i8086tab.inc
U compiler/i8086/i8086nop.inc
U compiler/x86_64/x8664tab.inc
U compiler/x86_64/x8664nop.inc
U compiler/x86/aasmcpu.pas
U compiler/x86/x86ins.dat
U compiler/x86/rax86.pas
-- Aufzeichnung der Informationen für Zusammenführung von r42706 bis r43306 in ».«:
U .
git-svn-id: trunk@43307 -
2019-10-23 18:17:50 +00:00
florian
99d44ce40e
+ test for the initial bug
...
git-svn-id: branches/tg74/avx512merge@43301 -
2019-10-21 20:14:46 +00:00
svenbarth
9dcd897ce6
* fix for Mantis #36196 : free a property's attributes when the property is destroyed
...
+ added test
git-svn-id: trunk@43299 -
2019-10-21 19:42:19 +00:00
florian
d3c898a96b
* properly round in ISO mode, resolves #35626
...
git-svn-id: trunk@43281 -
2019-10-20 21:11:40 +00:00
florian
626ef4ae0c
* give an error if an explicit enumeration valid exceeds the valid range, resolves #34633
...
git-svn-id: trunk@43191 -
2019-10-13 15:48:21 +00:00
florian
6457846435
* sorted out tests
...
git-svn-id: trunk@43189 -
2019-10-13 11:42:33 +00:00
florian
b02470468b
* handle off by one in FilePos due to the filled buffer in iso mode, resolves #40850
...
git-svn-id: trunk@43188 -
2019-10-13 11:37:37 +00:00
Jonas Maebe
33c4a5dda7
* don't try to bitpack arrays of non-ordinals (mantis #36157 )
...
git-svn-id: trunk@43187 -
2019-10-13 11:11:28 +00:00
Jonas Maebe
51c6ebfe54
* work around broken x86 shifting in bitpacked value calculation
...
(mantis #36156 )
git-svn-id: trunk@43186 -
2019-10-13 10:47:31 +00:00
florian
245b58c249
+ support for arm attributes
...
* abi notes fixed
git-svn-id: trunk@43157 -
2019-10-09 17:45:40 +00:00
marco
bacc9f6489
* initial version system.uitypes.
...
git-svn-id: trunk@43144 -
2019-10-06 17:23:38 +00:00
michael
01b946706b
* Fix bug ID #32625 : added several firebird constructs
...
git-svn-id: trunk@43139 -
2019-10-06 11:20:20 +00:00
svenbarth
beb606be13
* fix for Mantis #36114 : when converting a static class field to a global variable the varspez of the field needs to be respected
...
+ added test
git-svn-id: trunk@43116 -
2019-10-03 16:39:40 +00:00
svenbarth
b4e998b3f8
+ add tests to check for correct definition of the FPC_* mode defines
...
git-svn-id: trunk@43115 -
2019-10-03 12:34:42 +00:00
marco
ed7ea98eb4
* lowercase filenames for easier crossplatform use.
...
git-svn-id: trunk@43085 -
2019-09-28 14:31:25 +00:00
florian
7837356954
+ extra test to test remap functionality with -gh
...
git-svn-id: trunk@43082 -
2019-09-26 20:33:12 +00:00
michael
80663ce324
* Add (cust)microhttpapp, high-concurrency standalone server
...
git-svn-id: trunk@43063 -
2019-09-25 14:06:28 +00:00
Károly Balogh
19a6964088
m68k: add subregisters. on 68k, these are not as universal as on x86 and work differently, but the compiler needs this infrastructure to do 16bit math (which is a massive improvement on '000) or word-size indexes on CPUs which support it
...
git-svn-id: trunk@43043 -
2019-09-20 11:35:35 +00:00
michael
df6c01be27
* Lazarus project file for json test
...
git-svn-id: trunk@43041 -
2019-09-19 17:14:49 +00:00
michael
8d4a46a5bd
command-line version of test progam
...
git-svn-id: trunk@43040 -
2019-09-19 17:11:55 +00:00
michael
671e3ddec7
* Demo for macro support
...
git-svn-id: trunk@43002 -
2019-09-15 10:14:01 +00:00
Jonas Maebe
ef6dde6de3
* fixed loading the address of a copied labelnode in a loadnode
...
(mantis #35877 )
git-svn-id: trunk@42987 -
2019-09-13 19:06:40 +00:00
michael
da47ba14c1
* Add fpwebproxy
...
git-svn-id: trunk@42984 -
2019-09-13 16:28:48 +00:00
michael
ff0887b9b3
* Additional tests for sqlite3dataset by Luis Americo (bug ID 323247)
...
git-svn-id: trunk@42945 -
2019-09-08 10:31:05 +00:00
michael
8cfee11345
* Initial version of System.NetEncoding.pp
...
git-svn-id: trunk@42937 -
2019-09-07 19:20:04 +00:00
florian
8ffb72ddd0
* another missing part of r42916 ...
...
git-svn-id: trunk@42919 -
2019-09-04 16:36:54 +00:00
florian
a5a87fa84c
+ AArch64: support for vX.8b/vX.16b register names
...
+ support for more than 256 registers in the register dat files
- removed totherregisterset
+ AArch64: use vmov to load immediates if possible
+ AArch64: use eor to clear mm registers
+ small command line tool for quick creating of vfp register list in a64reg.dat
git-svn-id: trunk@42916 -
2019-09-03 20:59:13 +00:00
michael
bf938bd538
* Add TTestBufferedFileStream
...
git-svn-id: trunk@42897 -
2019-09-02 07:21:20 +00:00
florian
9c00a8b616
+ FMA support for aaarch64
...
git-svn-id: trunk@42885 -
2019-08-31 19:37:17 +00:00
florian
fd20dc1086
* support unique copies of currencies which are handles by torddef, resolves #36013
...
git-svn-id: trunk@42837 -
2019-08-26 19:31:48 +00:00
michael
a3a5c01010
* Moved fpmimetypes unit to fcl-web
...
git-svn-id: trunk@42825 -
2019-08-26 08:30:06 +00:00
michael
071aaccb49
* Add mime.types for benefit of windows users, call new LoadKnownTypes
...
git-svn-id: trunk@42821 -
2019-08-26 06:44:10 +00:00
Jonas Maebe
956aab3be0
* implement support for the Objective-C "related result type" convention
...
as described on
http://releases.llvm.org/8.0.0/tools/clang/docs/LanguageExtensions.html#objective-c-features
(rest of mantis #35994 )
git-svn-id: trunk@42816 -
2019-08-25 15:23:53 +00:00
marco
5416e3657f
* inprocess comserver example. Polished up test From Anton K. from mantis #35013
...
git-svn-id: trunk@42812 -
2019-08-25 09:33:02 +00:00
svenbarth
b0b2218cca
* fix for Mantis #35981 : ensure that the "specialize" token is only really used in non-Delphi modes
...
git-svn-id: trunk@42776 -
2019-08-23 14:59:20 +00:00
svenbarth
33f6adfab6
* fix for Mantis #35982 : free created attributes once the type is freed
...
+ added test
git-svn-id: trunk@42773 -
2019-08-23 14:59:13 +00:00
pierre
e45ad64d41
* Revert changes to tarray15.pp
...
* Modify treadonlydata.pp to not use dynamic array.
+ Add test treadonlydata2.pp that should fail at compile time.
git-svn-id: trunk@42752 -
2019-08-21 07:23:51 +00:00
pierre
9b0893e6ae
Add generated Makefile which was not on svn yet
...
git-svn-id: trunk@42751 -
2019-08-20 16:07:59 +00:00
pierre
c406d0121e
Move test for read-only data to new separate test source treadonlydata.pp
...
git-svn-id: trunk@42747 -
2019-08-20 14:15:06 +00:00
Jonas Maebe
693e72ade3
* Darwin now uses Mach VM calls for memory allocation instead of mmap/munmap
...
+ added sysrealloc support for Darwin (Darwin does not have mremap)
git-svn-id: trunk@42729 -
2019-08-18 15:55:07 +00:00
florian
f0213a2c46
+ make use of the mremap syscall of linux to re-allocate large memory blocks faster
...
git-svn-id: trunk@42713 -
2019-08-16 20:47:37 +00:00
svenbarth
0e79bd2c70
+ add a test that ensures that the introduction of fullscale array constructors didn't mess with array constructors passed to an open array of Variant
...
git-svn-id: trunk@42701 -
2019-08-15 14:33:03 +00:00
svenbarth
44bfa98a30
* fix for Mantis #35955 : when the element of an array constructer requires an operator for conversion we don't let the caller of compare_defs_ext know that, instead we simply say that some conversion is required and let the typecheck handler deal with the element wise conversion
...
+ added test
git-svn-id: trunk@42700 -
2019-08-15 14:33:00 +00:00
svenbarth
10af6fe2fb
* fix for Mantis #35965 : correct alignment also for the class info used to retrieve the unit name
...
+ added test
git-svn-id: trunk@42697 -
2019-08-15 13:29:19 +00:00
sergei
416c974d3f
* x86_64: Fixed code generation for try..finally blocks, so that exit label from inner try..finally stays within scope of procedure's implicit try..finally block if one is present. Mantis #34772 .
...
git-svn-id: trunk@42673 -
2019-08-13 08:29:28 +00:00
florian
5947143d8f
* intel asm reader: try to read avx512 extensions only if the instruction supports them
...
* cleanup
git-svn-id: trunk@42656 -
2019-08-12 10:46:19 +00:00
pierre
008c1436d8
Fix bug report 35937 by simple assembly code change and add test
...
git-svn-id: trunk@42603 -
2019-08-08 14:10:21 +00:00
Jonas Maebe
6b9f2114f1
* test from mantis #35897 , already fixed
...
git-svn-id: trunk@42575 -
2019-08-03 13:52:46 +00:00
Jonas Maebe
46afcbb362
* an incomplete case statement is not an error in ISO Pascal (mantis #35910 )
...
* give a compile-time error in ISO/Extended Pascal if the compiler can prove
the case selector value is not handled, and a warning in other modes
(mantis #35915 )
o trigger the case node simplification at the end of the case node typecheck
pass, like for other nodes
git-svn-id: trunk@42574 -
2019-08-03 13:47:27 +00:00
Jonas Maebe
ce598c15ec
* factored out the conditions under which add nodes need to perform
...
overflow checks
o in particular ensure that cpu-specific overrides don't perform overflow
checks when nf_internal is set
git-svn-id: trunk@42573 -
2019-08-03 12:19:50 +00:00
svenbarth
6952ab5baf
* fix for Mantis #35918 : don't set the mangledname for the attribute's constructor function; let the compiler do its job instead
...
git-svn-id: trunk@42560 -
2019-08-02 14:07:17 +00:00
Mattias Gaertner
847ac91d1d
pastojs: skip generic type
...
git-svn-id: trunk@42524 -
2019-07-28 20:17:12 +00:00
Jonas Maebe
3fb7c19482
- removed tests as modern Delphi versions behave differently (mantis #35886 )
...
git-svn-id: trunk@42512 -
2019-07-28 12:03:40 +00:00
Jonas Maebe
789f288771
* fixed distribution of random(int64) based on patch by Pangea
...
(mantis #35878 )
git-svn-id: trunk@42508 -
2019-07-28 11:14:58 +00:00
Jonas Maebe
1da43f67d4
* (non-ancient) Delphi versions that accept explicit ordinal -> floating
...
point typecasts behave the same as FPC (convert the value) rather than
as Turbo Pascal (reinterpret the bit pattern) (mantis #35886 )
git-svn-id: trunk@42507 -
2019-07-28 11:14:54 +00:00
Jonas Maebe
b9948899e3
* new CocoaInt units based on https://github.com/genericptr/MacOS_10_10
...
o note that CoreData and QuartzCore are now part of CocoaAll due to
dependencies
git-svn-id: trunk@42500 -
2019-07-26 17:43:41 +00:00
Jonas Maebe
701f81f2d8
* updated to r441 of the common Mac OS X interfaces:
...
o fixed declaration of ABSearchComparison for 64 bit targets
o Update AddressBook Framework related interface files to MacOSX10.13.sdk
currency
o minor comment tweaks to ABActions.pas and ABAddressBook.pas
o added new 10.7.sdk declarations & DEPRECATED/AVAILABLE info to
ABGlobals.pas and ABTypedefs.pas
o CarbonCore framework update to MacOSX10.13.sdk
o AE framework update to MacOSX10.13.sdk
o updated AudioToolbox framework translation to 10.14 and translated some
extra units
git-svn-id: trunk@42499 -
2019-07-26 17:36:17 +00:00
Jeppe Johansen
4b93eb64b3
- Split division routines out into an include file.
...
- Reuse division routines for calculating both division and modulus.
- Add implementations of BsfByte and BsrByte that don't use a lookup table.
git-svn-id: trunk@42494 -
2019-07-25 14:56:18 +00:00
svenbarth
e97a2cb03e
* tests with Delphi showed that an attribute class must explicitely declare a parameterless constructor if it should be used, cause TCustomAttribute.Create is private
...
Note: this also means that TCustomAttribute itself can not be used as an attribute
* adjusted existing tests
+ added test
git-svn-id: trunk@42471 -
2019-07-20 20:03:38 +00:00
svenbarth
c282f21b1b
* don't bother finding the correct constructor if the attribute isn't a TCustomAttribute descendant anyway; simply skip the parameters in that case
...
+ added tests
git-svn-id: trunk@42470 -
2019-07-20 19:46:03 +00:00
svenbarth
6cde8ab4cb
* fix for Mantis #35866 : parse_paras does not check whether the expressions are really constant, so check that manually
...
+ added test
git-svn-id: trunk@42469 -
2019-07-20 19:45:59 +00:00
michael
17b6fc07f9
* Write resource strings to file for easy translation
...
git-svn-id: trunk@42462 -
2019-07-20 11:52:59 +00:00
svenbarth
43b5dbf613
* fix for Mantis #23071 : also store local symtable in the PPU if the procdef is generic as we need it to resolve genericdefs to nested types
...
git-svn-id: trunk@42459 -
2019-07-19 15:55:28 +00:00
svenbarth
176a63b67b
* fix for Mantis #35862 : free the list of functions added with AddTerminateProc to avoid memory leaks
...
+ added test
git-svn-id: trunk@42457 -
2019-07-19 15:55:21 +00:00
svenbarth
87458a065c
* allow use of multiple, comma separated attributes as Delphi allows that as well
...
+ added test
git-svn-id: trunk@42409 -
2019-07-12 22:08:14 +00:00
svenbarth
404b465c33
* allow custom attributes for all type declarations that are not a simple alias
...
+ added tests
git-svn-id: trunk@42405 -
2019-07-12 22:08:00 +00:00
svenbarth
a72553eea2
* disable [...] syntax for procedure directives if modeswitch "prefixed attributes" is enabled; they conflict otherwise and it's not easily resolveable
...
+ added test
git-svn-id: trunk@42402 -
2019-07-12 22:07:50 +00:00
svenbarth
b945e66e28
* store attribute information in PPU; this is less important for the compiler, but more for e.g. Lazarus when dealing with binary only units
...
* increase ppu version
+ added test
* adjust ppudump to handle attributes as well
ToDo: output parameter nodes as well
git-svn-id: trunk@42401 -
2019-07-12 22:07:46 +00:00
svenbarth
71fa4d1fe2
* the RTTI of an attribute not only consists of the creation function, but also of the attribute's type, a pointer to the constructor and a data blob containing the constant parameters
...
+ added test
git-svn-id: trunk@42390 -
2019-07-12 22:07:05 +00:00
svenbarth
c214648224
+ add a test for overloaded attribute constructors
...
git-svn-id: trunk@42380 -
2019-07-12 22:06:28 +00:00
svenbarth
24c4b90343
* instead of declaring another type with a 'attribute' suffix, *search* for another type with a 'ATTRIBUTE' suffix (Delphi allows declaring both a TFoo and TFooAttribute in the same unit)
...
+ added test
git-svn-id: trunk@42362 -
2019-07-12 22:05:18 +00:00
svenbarth
869664c6da
* rename custom attributes related tests to something more sensible
...
git-svn-id: trunk@42361 -
2019-07-12 22:05:12 +00:00
svenbarth
b2932393df
Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 1/3]
...
Implemented attributes for class types and properties (based on work by Joost van der Sluis). Added TCustomAttribute - a base class for attributes. Added TUnitInfo record to RTTI. It contains the unit name and unit options (for now only a flag which specifies if the unit contains attributes). Added several tests for attributes.
git-svn-id: trunk@42356 -
2019-07-12 22:04:48 +00:00
Jonas Maebe
40082100e1
* fixed range test optimization for signed types and enabled it for them
...
git-svn-id: trunk@42332 -
2019-07-06 09:57:32 +00:00
svenbarth
433f07c407
* forgot to commit tests in r42329
...
git-svn-id: trunk@42330 -
2019-07-05 15:30:53 +00:00
svenbarth
d0eddbcbb9
* fix for Mantis #35735 : also handle "generic" keyword inside helper types
...
+ added test
git-svn-id: trunk@42328 -
2019-07-05 14:12:13 +00:00
Jonas Maebe
c425c51963
* simplify and optimize generated LLVM code for case statements
...
git-svn-id: trunk@42305 -
2019-06-29 12:17:49 +00:00
Jonas Maebe
c038e4c3f2
* relaxation of r42272: again only show warnings rather than errors for
...
out-of-range constants, because of the comments mentioned in #35753
(except for enums, as apparently Delphi does the same)
* added range check warnings about explicit type casts that throw away
bits (e.g. byte($fff)), without giving warnings for most common cases
(like cardinal(-1))
* fixed masking/sign exting constant array indices (must be based on index
range type size/signedness rather than on array size/"signedness")
git-svn-id: trunk@42275 -
2019-06-23 14:12:33 +00:00
Jonas Maebe
3a2fe24f49
* report range errors for assigning out-of-range constants to enums in
...
Delphi mode (mantis #35671 )
* always give an error (rather than only a warning in case range checking
is disabled) when assigning an out-of-range constant to an ordinal variable
whose type does not span the entire range that its bits can hold (because
the result is undefined and FPC's optimisers rely on variables only
holding values that are valid for the type)
git-svn-id: trunk@42272 -
2019-06-22 17:30:42 +00:00
Jonas Maebe
c262c5dbc9
* synchronised with trunk till r42256
...
git-svn-id: branches/debug_eh@42257 -
2019-06-20 17:21:34 +00:00
Mattias Gaertner
783505b4d7
fcl-passrc: starting test generics
...
git-svn-id: trunk@42252 -
2019-06-20 08:47:30 +00:00
svenbarth
89e454aca8
* rework/extend SetToString/StringToSet so that sets with a size > 4 can be converted as well (this is Delphi compatible)
...
+ added test
git-svn-id: trunk@42240 -
2019-06-16 21:36:25 +00:00
Legolas
7c02f2b531
* Nintendo DS port updated to libnds ver.1.7.3
...
git-svn-id: trunk@42202 -
2019-06-10 06:39:46 +00:00
Jonas Maebe
faf75095cd
* synchronised with trunk till r42189
...
git-svn-id: branches/debug_eh@42190 -
2019-06-07 18:24:38 +00:00
Jonas Maebe
eab079c7bd
* fixed cbool "and" with full boolean evaluation, and cbool "xor"
...
(mantis #35272 )
git-svn-id: trunk@42167 -
2019-06-02 20:04:06 +00:00
olivier
353da84b74
+ Added test object files for x86_64-haiku.
...
git-svn-id: trunk@42145 -
2019-05-31 10:10:05 +00:00
michael
205be75320
* Added simple example for AssignStream
...
git-svn-id: trunk@42123 -
2019-05-25 15:55:43 +00:00
michael
f515c70a40
* Example to demonstrate exit code forms in TCustomApplication
...
git-svn-id: trunk@42122 -
2019-05-25 15:52:33 +00:00
Jonas Maebe
9e9a982bfe
* synchronised with trunk till r42095
...
git-svn-id: branches/debug_eh@42096 -
2019-05-18 18:43:51 +00:00
Jonas Maebe
7e51c5e856
* DFA now takes case-completeness into account (mantis #35598 )
...
git-svn-id: trunk@42091 -
2019-05-18 12:01:41 +00:00
nickysn
357d3ca390
- removed cprt0.as from the OpenBSD i386 RTL as well
...
git-svn-id: trunk@42078 -
2019-05-15 16:13:57 +00:00
nickysn
ef86b3ab29
- delete cprt0.as from the OpenBSD x86_64 startup code, because it's not needed for bootstrapping
...
git-svn-id: trunk@42077 -
2019-05-15 15:37:51 +00:00
pierre
0961e49919
Add new files required to fix RTL compilation for macos target
...
git-svn-id: trunk@42061 -
2019-05-14 04:31:36 +00:00
Jonas Maebe
1b6425176b
* synchronised with trunk till r42049
...
git-svn-id: branches/debug_eh@42050 -
2019-05-12 18:44:05 +00:00
Jonas Maebe
ba1b4b1c92
+ support for verifying whether a case statements handles all possibilities
...
(based on patch by Martok)
o enabled by default in ISO and Extended Pascal: compile-time error if not
the case in ISO mode, warning and run-time error in Extended Pascal mode
o warning enabled by default in all other modes for boolean, enumeration and
subrange integer types with ranges different from the default ones
(i.e., different from 0..255, -128..127, 0..65536, etc)
o warnings for all ordinal types can be enabled in all modes with
-CC
git-svn-id: trunk@42047 -
2019-05-12 14:29:11 +00:00
svenbarth
251c559662
* fix for Mantis #35533 : when searching for helpers on types that usually don't support a point operator, don't use automatic dereferentiation
...
+ added tests
git-svn-id: trunk@42036 -
2019-05-10 20:56:41 +00:00
svenbarth
5a5b47fa24
+ add support for MultiHelpers modeswitch by Ryan Joseph for Mantis #35159
...
+ added tests
git-svn-id: trunk@42026 -
2019-05-10 14:04:45 +00:00
pierre
fae45b2075
Add first linux RTL compliance test file t_linux.h2paschk
...
git-svn-id: trunk@42016 -
2019-05-06 21:13:42 +00:00
pierre
12647c348e
Add script to use h2paschk on t_OS.h2paschk file for rtl tests for system header compliance
...
git-svn-id: trunk@42015 -
2019-05-06 21:10:12 +00:00
Jonas Maebe
3fa6838815
* basic llvm metadata support
...
git-svn-id: branches/debug_eh@41978 -
2019-05-02 19:45:26 +00:00
Jonas Maebe
3a1fb45315
* synchronised with trunk till r41976
...
git-svn-id: branches/debug_eh@41977 -
2019-05-02 19:44:41 +00:00
svenbarth
b7a716cd81
* correct return a pointer to the list so that List^[x] works as it did before 3.2
...
+ added test
git-svn-id: trunk@41938 -
2019-04-26 08:13:11 +00:00
Jonas Maebe
2923e484fd
* synchronised with trunk till r41907
...
git-svn-id: branches/debug_eh@41908 -
2019-04-20 18:22:52 +00:00
nickysn
d9c109a4dd
+ added h2paschk structure checker files for the DirectDraw and DirectInput
...
header translations, used by PTCPas.
git-svn-id: trunk@41887 -
2019-04-16 16:45:54 +00:00
Jonas Maebe
a0f850d57f
* synchronised with trunk till r41885
...
git-svn-id: branches/debug_eh@41886 -
2019-04-16 16:20:44 +00:00
nickysn
9b7cbb0e0b
+ added OpenBSD RTL structure checker description file for use with the h2paschk
...
tool. Currently only checks the stat and dirent structures, but more will be
added in the future.
git-svn-id: trunk@41874 -
2019-04-15 14:22:44 +00:00
Jeppe Johansen
53542b7c5e
- Port RISC-V64 startup code to native inline routines.
...
git-svn-id: trunk@41871 -
2019-04-14 23:36:08 +00:00
Jeppe Johansen
2b78a8fd3d
- Add support for .option directive in riscv assembler.
...
- Use addiw when adjusting U32 to S32
git-svn-id: trunk@41870 -
2019-04-14 20:51:29 +00:00
svenbarth
e6add40495
* fix for Mantis #35348 : correctly handle symbols that aren't parameter types (e.g. default values)
...
+ added test
git-svn-id: trunk@41869 -
2019-04-14 20:47:47 +00:00
svenbarth
c147debda1
* ensure that the correct amount of parameters is used for an operator overload (this is essentially important for unary operators that were declared with two arguments)
...
git-svn-id: trunk@41868 -
2019-04-14 20:47:43 +00:00
Jonas Maebe
a7bd37d17a
* synchronised with trunk till r40776
...
git-svn-id: branches/debug_eh@41867 -
2019-04-13 15:16:09 +00:00
nickysn
47b8bf5924
+ added the initial implementation of my C structure checker code generator
...
tool, named h2paschk. This is currently a separate tool, that requires a
manually crafted input file with a special syntax (example is included as a
comment in the source code), that contains descriptions of all the records
that need to be checked, but it is planned to add support to h2pas to generate
these files automatically, since this would be very useful.
git-svn-id: trunk@41858 -
2019-04-10 17:06:17 +00:00
svenbarth
18519c9559
* fix for Mantis #34526 : rely on tc_arrayconstructor_2_set instead of manually converting an array constructor to a set, this way assignment operator overloads are taken into account as well
...
Note: there is still a conversion to a set if the types were determined to be incompatible, so that the error is still "set of X is incompatible to Y" instead of "array of Z is incompatible to Y"
+ added tests
git-svn-id: trunk@41844 -
2019-04-05 15:24:39 +00:00
svenbarth
307ff071e6
* allow any untyped parameter to be passed to a untyped constref parameter
...
+ added test
git-svn-id: trunk@41829 -
2019-04-04 19:31:55 +00:00
michael
1c8a1407f5
* Added unicode sample using unicodestring
...
git-svn-id: trunk@41814 -
2019-04-01 16:54:53 +00:00
michael
ffea4d3b38
* Unicode test program using UnicodeString
...
git-svn-id: trunk@41785 -
2019-03-24 08:47:16 +00:00
svenbarth
f7817d25ff
* parameter type needs to be Nil for formal parameters (Delphi compatible)
...
* adjusted test trtti15
+ added test trtti19
git-svn-id: trunk@41770 -
2019-03-22 22:29:20 +00:00
nickysn
b6d2ef12ad
- removed OpenBSD loaders that are not needed for bootstrapping with FPC 3.0.4
...
git-svn-id: trunk@41765 -
2019-03-22 01:08:37 +00:00
nickysn
e4ffeb2266
+ added OpenBSD startup units for gprof support
...
git-svn-id: trunk@41757 -
2019-03-21 12:52:25 +00:00
Jonas Maebe
dc2cbf8018
* synchronised with trunk till r41725
...
git-svn-id: branches/debug_eh@41726 -
2019-03-17 15:25:31 +00:00
Jonas Maebe
bde560dac2
* also accept {$elsif} after {$if(n)def} (mantis #34858 )
...
git-svn-id: trunk@41724 -
2019-03-17 15:20:22 +00:00
Jonas Maebe
d78dbd5d59
+ test from mantis #35224 (already works)
...
git-svn-id: trunk@41718 -
2019-03-16 20:01:57 +00:00
Jonas Maebe
ed2ae508d0
* only add hidden parameters for objectdef methods after generating the vmt,
...
so that they take into account inherited calling conventions (mantis #35233 )
o don't needlessly calculate the paraloc info when generating a JVM mangled
name
git-svn-id: trunk@41716 -
2019-03-16 19:14:14 +00:00
nickysn
d8f79c7363
* converted the openbsd_ident.as loader to pascal
...
git-svn-id: trunk@41710 -
2019-03-15 13:35:10 +00:00
nickysn
16abd6aa13
+ added loader openbsd_ident.as, containing only the .note.openbsd.ident
...
section, required by OpenBSD to identify the ELF binary as OpenBSD-native
git-svn-id: trunk@41702 -
2019-03-14 18:06:24 +00:00
nickysn
f1a7e2cdc5
* translated prt0.as from the OpenBSD x86_64 startup code to pascal inline asm; the code compiles, but is not used yet
...
git-svn-id: trunk@41695 -
2019-03-14 15:37:02 +00:00
nickysn
df21e3a3bc
+ initial (only a stub for now) implementation of pascal-based startup code units for OpenBSD
...
git-svn-id: trunk@41692 -
2019-03-13 15:59:36 +00:00
florian
d657373933
* patch by J. Gareth Moreton which avoids that the optimizer causes reads of invalid memory, resolves #35187
...
git-svn-id: trunk@41667 -
2019-03-10 10:48:50 +00:00
michael
992d945b0a
* Expose TDOMWriter and TXMLWriter
...
git-svn-id: trunk@41662 -
2019-03-09 19:46:46 +00:00
michael
e32d18977c
* Small command-line client that shows how to load data from SQLDB Rest Bridge into TBufDataset
...
git-svn-id: trunk@41657 -
2019-03-09 17:36:30 +00:00
michael
663d004db9
* Add small SQL shell demo program. Allows to dump results in XML file
...
git-svn-id: trunk@41655 -
2019-03-09 17:34:13 +00:00
michael
a5f257ad20
* Firebird sample DB script, same for sqlite
...
git-svn-id: trunk@41634 -
2019-03-08 10:38:24 +00:00
michael
0fb747857e
* Add ADO packet data streamer
...
git-svn-id: trunk@41618 -
2019-03-06 08:22:37 +00:00
Jonas Maebe
16cde0da15
* create LLVM TAsmCFI wrapper that calls through to the original TASmCFI for
...
pure assembler routines and for generating the CFI tables, and does nothing
for LLVM-handled routines (LLVM takes care of the CFI there)
git-svn-id: branches/debug_eh@41580 -
2019-03-03 17:15:09 +00:00
Jonas Maebe
5d28e2156b
+ support for generating Dwarf CFI using .cfi_* directives
...
o adjust peephole optimisers so they don't remove cfi_endproc directives
in case of tail call optimisation
git-svn-id: branches/debug_eh@41578 -
2019-03-03 17:15:03 +00:00
svenbarth
9a9c6a3ff4
* fix for Mantis #35150 : correctly convert Int64/QWord values to OleVariant (Delphi compatible)
...
+ added test
git-svn-id: trunk@41571 -
2019-03-03 14:50:09 +00:00
michael
805e2bb28d
* Patch from Ondrej Pokorny to add transparency
...
git-svn-id: trunk@41551 -
2019-03-02 12:21:28 +00:00
Jonas Maebe
50c82b6468
* synchronised with trunk till r41537
...
git-svn-id: branches/debug_eh@41538 -
2019-03-01 16:20:22 +00:00
svenbarth
d7bb4bd411
+ add function call manager which implements Invoke() for the i386 register calling convention
...
git-svn-id: trunk@41536 -
2019-03-01 15:20:59 +00:00
Jonas Maebe
e720a1f306
* moved tcgexceptionstatehandler to a new cgexcept unit
...
* fixed llvm cycle by overriding additional eh-related tcgprocinfo methods
git-svn-id: branches/debug_eh@41519 -
2019-02-27 21:13:45 +00:00
Jonas Maebe
aba3f8f162
* fixed over-eager rejection of tobjecttype.fieldname expression after r40785
...
(mantis #35149 )
git-svn-id: trunk@41474 -
2019-02-25 21:17:24 +00:00
michael
98a30de010
* Rest module for in IDE
...
git-svn-id: trunk@41467 -
2019-02-25 19:39:15 +00:00
Jonas Maebe
a079e5fa80
* synchronised with trunk till r41449
...
git-svn-id: branches/debug_eh@41450 -
2019-02-24 20:01:53 +00:00
michael
f097158802
* Add database creation and README, and copyright header
...
git-svn-id: trunk@41439 -
2019-02-24 17:20:33 +00:00
michael
e726faca7c
* Delphi rest client for REST bridge
...
git-svn-id: trunk@41437 -
2019-02-24 16:01:26 +00:00
michael
02b5a755f7
* Add SQLDBIni helper
...
git-svn-id: trunk@41432 -
2019-02-24 15:02:20 +00:00
michael
2845fabd02
* Add SQLDB Rest Bridge
...
git-svn-id: trunk@41431 -
2019-02-24 15:00:56 +00:00
pierre
c1e93bd2c2
+ compiler/symdef.pas: Add missing call to tderef.reset methods in all tdef constructors.
...
+ compiler/sysmsym.pas: Do the same for for all tsym constructors.
+ compiler/symtype.pas: Generate internalerror in tcompilerppufile.putderef
if a deref field has index -1, as this means that buildderef was not called
while it should have been called.
+ compiler/symtable.pas: Fix bug report itself by adding an extra local variable
CHANGED to add extra cycles in tstoredsymtable.buildderef_referenced method.
New tests for this bug report: tests/webtbs/tw35139.pp and tests/webtbs/tw35139a.pp
git-svn-id: trunk@41425 -
2019-02-23 23:03:29 +00:00
Jonas Maebe
ac883969a9
* synchronised with trunk till r41423
...
git-svn-id: branches/debug_eh@41424 -
2019-02-23 17:08:03 +00:00
Jonas Maebe
1a559f5c60
* move the homogenous float aggregate determination function to a common
...
unit for ARM and AArch64
git-svn-id: trunk@41419 -
2019-02-23 15:42:39 +00:00
joost
42204977f8
* Patch from Bart Broersma to fix writing unicode strings in the Windows
...
registry + test (modified, bug #35060 )
git-svn-id: trunk@41415 -
2019-02-22 22:26:21 +00:00
yury
382d5060a0
* aarch64: According to ARM64 ABI, function's arguments and the result are not required to be sign/zero extended to a full register size. Obey this rule for all targets except iOS where sign/zero extension is required.
...
git-svn-id: trunk@41412 -
2019-02-22 17:59:54 +00:00
florian
9514bd9162
* refactored psabieh handling, most code is now in psabiehpi
...
git-svn-id: branches/debug_eh@41367 -
2019-02-17 21:20:40 +00:00
michael
f737521590
* Patch from Ondrej Pokorny, to demonstrate alpha blending mode
...
git-svn-id: trunk@41341 -
2019-02-16 12:43:14 +00:00
Mattias Gaertner
d4512cc714
pastojs: array of const
...
git-svn-id: trunk@41327 -
2019-02-15 22:38:44 +00:00
joost
cd03f5326d
* Fixed bug #35060 , proper unicode-handling of registry-keynames. With test
...
(modified) from Bart Broersma
git-svn-id: trunk@41325 -
2019-02-15 21:25:05 +00:00
florian
6817cea33b
+ missing unit
...
git-svn-id: branches/debug_eh@41291 -
2019-02-10 22:37:54 +00:00
svenbarth
b810d8f32b
* fix for Mantis #35027 : ensure that the synchronize event entry is reset correctly in case of an exception
...
+ added test
git-svn-id: trunk@41281 -
2019-02-10 15:43:03 +00:00
svenbarth
1502a13e7c
* fix for Mantis #35028 : when the mainthread executes a queued ThreadMethod make sure that the queue entry is released even if an exception is raised
...
+ added test
git-svn-id: trunk@41280 -
2019-02-10 15:42:58 +00:00
svenbarth
b1ee29c836
* fix for Mantis #30205 : (adjusted) patch by Do-wan Kim to only use the default calling convention for exception handlers
...
+ added test
git-svn-id: trunk@41277 -
2019-02-10 11:26:46 +00:00
michael
3779d69075
* libmagic headers by Silvio Clecio
...
git-svn-id: trunk@41271 -
2019-02-09 19:57:11 +00:00
nickysn
8b17af1f89
+ added test for unit sortalgs, that tests the heapsort and randomized quicksort algorithms
...
git-svn-id: trunk@41247 -
2019-02-07 14:41:33 +00:00
nickysn
ec45f0069a
+ added unit SortAlgs to rtl-extra. It implements extra sorting algorithms
...
that can be used in place of the default QuickSort implementation from unit
SortBase. Currently, only HeapSort is implemented, but others will be added
in the future.
git-svn-id: trunk@41219 -
2019-02-04 14:34:13 +00:00
Jonas Maebe
d93c05a90c
* synchronised with trunk till r41207
...
git-svn-id: branches/debug_eh@41208 -
2019-02-03 21:05:37 +00:00
nickysn
5c4af27a7a
+ added test for the sortbase unit
...
git-svn-id: trunk@41195 -
2019-02-03 19:16:48 +00:00
nickysn
2a0eb54fd5
+ added a simple test that tests TList.Sort
...
git-svn-id: trunk@41181 -
2019-02-02 23:56:24 +00:00
nickysn
248fd313f8
+ introduced unit SortBase, which implements the foundation for pluggable
...
sorting algorithms. A default QuickSort implementation is provided by the
unit. Other units can be added, to provide other sorting algorithms (e.g.
HeapSort, MergeSort, IntroSort, etc.)
* TList and TFPList updated to use the current default sorting algorithm defined
in SortBase for their .Sort method.
git-svn-id: trunk@41167 -
2019-02-02 20:06:50 +00:00
Jonas Maebe
0db9ff5c39
* fixed packed bitsize calculation for types with a negative lower bound and
...
and upper bound just below the next power of two (mantis #34971 )
git-svn-id: trunk@41161 -
2019-02-01 17:31:53 +00:00
Jonas Maebe
a0d796e98d
* synchronised with trunk till r41159
...
git-svn-id: branches/debug_eh@41160 -
2019-02-01 17:01:54 +00:00
Károly Balogh
db055c8f0c
amicommon: moved MorphOS-specific lineinfo to amicommon, for upcoming AROS and OS4 support
...
git-svn-id: trunk@41091 -
2019-01-28 05:29:31 +00:00
Jonas Maebe
b3a8543a56
* synchronised with trunk till r40942
...
git-svn-id: branches/debug_eh@40943 -
2019-01-20 17:37:07 +00:00
florian
e24449bcfd
* if sub nodes of a commutative node contain conditionally executed nodes, these sub nodes might not be swapped
...
as this might result in some nodes not being executed, like temp. create nodes with init. code, see e.g. issue #34653 , resolves #34653
git-svn-id: trunk@40934 -
2019-01-20 12:55:20 +00:00
florian
925531b99c
* constrained generics are also compatible with formaldefs, resolves #34893
...
git-svn-id: trunk@40921 -
2019-01-19 21:23:36 +00:00
michael
57e7384a18
* Initial implementation of GNU TLS support for FPC SSL sockets
...
git-svn-id: trunk@40858 -
2019-01-14 10:26:22 +00:00
Károly Balogh
a527a40d12
morphos: add a custom lineinfo unit, prepared to parse stabs relocations in ELF relocatable objects, also featuring stronger address validation, and showing offsets in the executable instead of absolute addresses
...
git-svn-id: trunk@40854 -
2019-01-13 13:16:01 +00:00
florian
644c47e121
* when deciding about the case code generation in case of size optimization, the number of labels is relevant, not the covered range, resolves #34818
...
git-svn-id: trunk@40851 -
2019-01-13 10:32:00 +00:00
florian
dd072ce76b
+ seek for typefiles in iso mode, resolves #34848
...
git-svn-id: trunk@40850 -
2019-01-12 23:29:20 +00:00
Károly Balogh
a6aa3cc092
haiku: removed old i386 specific syscalls assembler code and no-libc startup code, copied from the BeOS port initially, and was never in use on Haiku. kept the libc-version of assembly startup code for now for reference.
...
git-svn-id: trunk@40831 -
2019-01-10 07:34:52 +00:00
Károly Balogh
9c2b113497
haiku: added cpu specific signal handler register contexts
...
git-svn-id: trunk@40827 -
2019-01-10 06:44:16 +00:00
Károly Balogh
93ee468fcb
haiku: zapped the old bethreads unit. it's apparently just an ancient version of cthreads, and haiku seems to use cthreads itself since day one.
...
git-svn-id: trunk@40826 -
2019-01-10 04:20:04 +00:00
Károly Balogh
c061f1480a
haiku: zapped syscalls support code, using the syscall interface directly on Haiku is discouraged, and it was never really supported with FPC
...
git-svn-id: trunk@40824 -
2019-01-10 03:53:44 +00:00
michael
efdabcd0cc
* Sample program from Silvio Clecio to generate server certificate
...
git-svn-id: trunk@40815 -
2019-01-09 10:26:55 +00:00
michael
e14c231d60
* Added makefiles for GnuTLS
...
git-svn-id: trunk@40813 -
2019-01-09 10:19:51 +00:00
michael
2ceb5c9683
* Add X509 functions and example from Silvio Clecio to generate private key
...
git-svn-id: trunk@40800 -
2019-01-07 19:59:22 +00:00
Károly Balogh
d6891557d3
haiku: add sighnd.inc for x86_64, the i386 version with minimal changes, probably needs to be better adapted for 64bit
...
git-svn-id: trunk@40793 -
2019-01-07 13:47:46 +00:00
Jonas Maebe
b2b34338e5
* give an error when trying to call an object instance method via a type node
...
(mantis #34821 )
git-svn-id: trunk@40785 -
2019-01-06 15:21:36 +00:00
michael
59cd593331
* Initial version of example
...
git-svn-id: trunk@40780 -
2019-01-06 11:39:20 +00:00
Jonas Maebe
51b58f342f
* synchronised with trunk till r40775
...
git-svn-id: branches/debug_eh@40776 -
2019-01-05 22:12:28 +00:00
michael
f89431c4f7
* GNU TLS Library import
...
git-svn-id: trunk@40775 -
2019-01-05 18:21:49 +00:00
Jonas Maebe
91d5457b38
* moved around/replaced the following procedures to stop nflw from depending
...
on pdecsub (node units should not depend on parser units):
o maybe_add_public_default_java_constructor()
o handle_calling_convention()
o create_finalizer_procdef() (replaced with create_outline_procdef())
o insert_record_hidden_paras()
o handle_calling_convention()
o proc_add_definition()
o build_parentfpstruct()
o maybe_guarantee_record_typesym()
o get_first_proc_str()
* factored out the creation of a procinfo for a nested procdef based on a
subnodetree of the current procdef into tprocinfo.create_for_outlining()
git-svn-id: trunk@40773 -
2019-01-05 16:26:33 +00:00
michael
b0c264948e
* Rework SSL handling to be pluggable, add HTTPS support to fphttpserver
...
git-svn-id: trunk@40769 -
2019-01-05 12:37:44 +00:00
Károly Balogh
efba70f82b
haiku: pascal sysinit code for haiku, will be needed for x86_64, nice to have for i386
...
git-svn-id: trunk@40754 -
2019-01-04 02:44:39 +00:00
svenbarth
04bbfd1746
* fix for Mantis #27378 : save and (more importantly) restore verbosity when switching a unit
...
+ added test
git-svn-id: trunk@40750 -
2019-01-03 20:31:34 +00:00
Jonas Maebe
473fef315d
* synchronised with trunk till r40732
...
git-svn-id: branches/debug_eh@40733 -
2019-01-01 16:24:18 +00:00
florian
22365a1f57
+ test for #27543 which is fixed meanwhile
...
git-svn-id: trunk@40731 -
2019-01-01 16:16:54 +00:00
Jonas Maebe
11511e13d5
* synchronised with trunk till r40723
...
git-svn-id: branches/debug_eh@40724 -
2019-01-01 13:22:17 +00:00
florian
1641585655
* updated bcase.pp benchmark by Gareth Moreton, now used also as test
...
git-svn-id: trunk@40710 -
2018-12-30 22:21:03 +00:00
svenbarth
30b1a45704
+ add tests for TMethodImplementation for method and procedure variables
...
git-svn-id: trunk@40700 -
2018-12-29 19:21:20 +00:00
svenbarth
bef1b84d63
* move utility code to a separate unit
...
git-svn-id: trunk@40692 -
2018-12-29 19:20:51 +00:00
Jonas Maebe
7b313a2c15
* stop searching for methods to implement interfaces in parent classes after
...
encountering a method with the correct name that does not have the
"overload" directive (same logic as when looking for a call candidate,
to avoid errors when using a Pascal-level wrapper to call interface
methods, and Delphi-compatible since it always required "overload" for
overloaded methods)
o also catches calling convention mismatches like in webtbs/tw27349
git-svn-id: trunk@40683 -
2018-12-28 18:25:58 +00:00
florian
7f5c2fa3aa
* (modified) patch by Gareth Moreton: Speed improvement in case blocks, resolves #0034762
...
This patch improves the compiler where "case" statements are concerned, using jump tables more often and creating more efficient machine code in some situations:
* If a case block only contains one branch (not including the else block), the initial range check is removed, since this becomes wasted effort.
* If the else block is empty, the else label is set to the end label - though this doesn't decrease the code size, it takes a bit of strain off the peephole optimizer.
* On -O2 and above, some node analysis is now done on the branch labels. Most of the time this just redirects it to the end
label for empty blocks, but if the block contains a goto statement, it will redirect it to its destination instead,
thus increasing performance by not having multiple jumps (this won't get picked up by the peephole optimiser if the label addresses are in a jump table).
* Some checks now use what I call the 'true count' rather than the 'label count'. The true count includes each
individual value in a range - for example, 0..2 counts as 3. This increases the chance that a jump table will be
utilised in situations where it is more efficient than a linear list.
* For jump tables, if the case block almost covers the entire range (32 entries or fewer from full coverage),
the initial range check is removed and the gaps included in the jump table (pointing to the else label).
git-svn-id: trunk@40676 -
2018-12-27 18:31:55 +00:00
svenbarth
0f83458513
* previous Invoke() related commit also correctly fixed Mantis #34509
...
git-svn-id: trunk@40670 -
2018-12-26 22:59:48 +00:00
svenbarth
93e0cd9e1a
* fix for Mantis #34496 : correctly align stack so that SSE operations work correctly
...
git-svn-id: trunk@40666 -
2018-12-26 22:59:36 +00:00
svenbarth
e28dff523a
* with the change regarding property access lists this test is no longer considered correct
...
git-svn-id: trunk@40658 -
2018-12-26 11:26:08 +00:00
svenbarth
60adebfe28
* Mantis #34691 is fixed by previous change regarding property access list
...
git-svn-id: trunk@40657 -
2018-12-26 11:26:04 +00:00
svenbarth
539ed761ba
* a property access list must only consist of record or object fields; classes are not allowed
...
git-svn-id: trunk@40656 -
2018-12-26 11:26:01 +00:00
Jonas Maebe
612a5649f0
* synchronised with trunk till r40646
...
git-svn-id: branches/debug_eh@40647 -
2018-12-25 18:04:12 +00:00
Jonas Maebe
acfa2088ef
+ test for previous commit
...
git-svn-id: trunk@40646 -
2018-12-25 17:52:56 +00:00
Jonas Maebe
c7d701d117
* synchronised with trunk till r40038
...
git-svn-id: branches/debug_eh@40643 -
2018-12-25 15:38:57 +00:00
Jonas Maebe
70cadc7694
* fixed string constant length when going from utf-8 to single-byte code page
...
(mantis #33666 , patch by engkin)
git-svn-id: trunk@40637 -
2018-12-24 22:21:40 +00:00
Jonas Maebe
882d676bc9
* synchronised with trunk till r40635
...
git-svn-id: branches/debug_eh@40636 -
2018-12-24 22:12:19 +00:00
michael
c0e680e277
* Load extension demo by Silvio Clecio
...
git-svn-id: trunk@40610 -
2018-12-21 23:09:40 +00:00
michael
51995c5cac
* Examples for extension
...
git-svn-id: trunk@40609 -
2018-12-21 23:08:00 +00:00
michael
f5a1fce16f
* Contribution by Silvio Clecio to make writing extensions possible
...
git-svn-id: trunk@40608 -
2018-12-21 23:06:14 +00:00
Jonas Maebe
b41cd1eb6a
* synchronised with trunk till r40575
...
git-svn-id: branches/debug_eh@40576 -
2018-12-16 20:45:55 +00:00
yury
21c867d3fc
* android: Use libc for sockets since the "accept" syscall is blocked by SECCOMP, but the "accept4" alternative is not available on old Android versions (2.3 and older).
...
git-svn-id: trunk@40532 -
2018-12-12 11:49:38 +00:00
nickysn
da5868b668
+ added method TBits.CopyBits for fast copying
...
git-svn-id: trunk@40524 -
2018-12-11 15:52:09 +00:00
pierre
e7aadde92f
Modify tbs/tb0588.pp to check that a warning is issued about non-initialized return value, moved to tbf directory
...
git-svn-id: trunk@40521 -
2018-12-11 08:47:59 +00:00
Jonas Maebe
52fec8a94a
* when optimising subsetreg moves for aarch64, take into account the fact
...
that the subsetreg itself can be 32 or 64 bit (mantis #33607 )
git-svn-id: trunk@40512 -
2018-12-09 14:46:52 +00:00
Jonas Maebe
440026bb25
* synchronised with trunk till r40503
...
git-svn-id: branches/debug_eh@40504 -
2018-12-08 15:33:36 +00:00
marcus
1bde958889
arosunits, morphunits, os4units: serial, CreateExtIO(), DeleteExtIO() for all amiga systems
...
git-svn-id: trunk@40497 -
2018-12-07 19:28:12 +00:00
michael
fd609fe19c
* Web browser compiler, initial implementation
...
git-svn-id: trunk@40471 -
2018-12-04 21:42:53 +00:00
Jonas Maebe
9630eb7ce9
* synchronised with trunk till r40466
...
git-svn-id: branches/debug_eh@40467 -
2018-12-04 19:54:31 +00:00
florian
eeadf618b8
+ abi tag for i386
...
* arm abi tag moved into pascal file
git-svn-id: trunk@40454 -
2018-12-02 22:56:12 +00:00
michael
07f98847ca
* Refactored so compiler itself is filesystem agnostic
...
git-svn-id: trunk@40450 -
2018-12-02 18:41:38 +00:00
Jonas Maebe
60488c3c06
* synchronised with trunk till r40443
...
git-svn-id: branches/debug_eh@40444 -
2018-12-01 23:08:18 +00:00
michael
aa956d2f70
* Refactor so PCU support is separated out
...
git-svn-id: trunk@40427 -
2018-12-01 19:03:41 +00:00
Jonas Maebe
b6efcb9105
+ tllvmexceptionstatehandler that emits LLVM landingpad instructions to be
...
referred by invoke instructions in exception catching blocks
o for now we won't actually use ABI-compliant exception handling, but we
need invoke/landingpad combinations for LLVM's control flow analyses to
correctly handle code involving exception handling
git-svn-id: branches/debug_eh@40401 -
2018-11-29 21:30:46 +00:00
Jonas Maebe
cf235a36a1
* synchronised with trunk till r40378
...
git-svn-id: branches/debug_eh@40379 -
2018-11-27 20:11:49 +00:00
pierre
044fae62ea
Fix bug report 34605 and add corresponding test
...
git-svn-id: trunk@40377 -
2018-11-27 10:19:36 +00:00
Jonas Maebe
bfc7c58a69
* synchronised with trunk till r40348
...
git-svn-id: branches/debug_eh@40349 -
2018-11-18 12:01:50 +00:00