nickysn
6c09394d35
+ added test tasm18h.pp: same as tasm18.pp and tasm18g.pp, but for x86_64
...
git-svn-id: trunk@38232 -
2018-02-12 16:33:59 +00:00
nickysn
1857373c1b
+ added test tasm18g.pp, which is an i386 version of tasm18.pp
...
git-svn-id: trunk@38231 -
2018-02-12 16:14:21 +00:00
nickysn
34c9136283
+ added tests, which check that 'test [reg+const*recordtype], 1' and
...
'test [reg+const*recordtype.recordfield], 1' produce an 'unable to determine
operand size' error
git-svn-id: trunk@38229 -
2018-02-12 15:44:39 +00:00
florian
6400d612e8
+ seg(<procvardef>) returns the segment stored in the procedure variable
...
git-svn-id: trunk@38216 -
2018-02-11 22:26:01 +00:00
florian
96ffb8abc9
+ more tests
...
git-svn-id: trunk@38207 -
2018-02-11 17:50:40 +00:00
florian
31f78ea2b6
+ implementation of the vectorcall calling convention by J. Gareth Moreton
...
+ tests
git-svn-id: trunk@38206 -
2018-02-11 17:50:37 +00:00
florian
e5ebc65cce
* if si and di are allocated on i8086, using an index in references is not possible anymore
...
git-svn-id: trunk@38203 -
2018-02-11 15:54:37 +00:00
nickysn
a834e6d5c5
+ added test tasm18b.pp, which is yet another for 3-byte records, which should
...
not set a valid operand size in the intel asm syntax mode. The difference
with tasm18a.pp is, this one tests recordtype.a3bytefield, while tasm18a.pp
tests a3byterecord directly.
git-svn-id: trunk@38199 -
2018-02-11 01:25:17 +00:00
nickysn
3e63f6bbae
+ added test tasm18a.pp, which tests that 3-byte records don't set a valid
...
operand size in the intel asm syntax mode. In other words, this is not valid:
test [di + a3byterecordtype], 1
git-svn-id: trunk@38190 -
2018-02-10 16:27:48 +00:00
nickysn
cbf01fc284
+ added test tasm18.pp, which tests instructions with an operand size set
...
implicitly by a recordtype.recordfield or recordtype constant; test is
i8086-only and NORUN for now, but will be updated later, to actually test the
generated code as well (and more tests will be added for i386 and x86_64 as
well)
git-svn-id: trunk@38177 -
2018-02-09 17:54:47 +00:00
nickysn
391f85f828
+ for TP7 compatibility, allow the '&', '$' and '?' characters in the x86 intel
...
syntax inline asm reader
git-svn-id: trunk@38167 -
2018-02-08 16:54:33 +00:00
nickysn
70cbb8c326
+ added test for 'DW/DD OFFSET xx' on i8086
...
git-svn-id: trunk@38154 -
2018-02-07 16:20:22 +00:00
nickysn
d86e5d006c
+ added test for seg(x) and ofs(x) initialized typed constants in TP mode as well
...
+ added directive for using the FPC compiler mode in test tsegofs1.pp
git-svn-id: trunk@38135 -
2018-02-06 13:27:36 +00:00
florian
a29f968b3b
* patch by Christo Crause: generate parameter location information in att assembler mode, resolves #32915
...
* forbid that parameters are subscribed in assembler, if they are references and take more than one register
+ test
git-svn-id: trunk@38125 -
2018-02-05 22:11:00 +00:00
svenbarth
640480272f
* adjust TThread.Synchronize so that it also works correctly if the passed in thread instance is not the instance of the current thread
...
+ added test
git-svn-id: trunk@38124 -
2018-02-05 21:50:00 +00:00
nickysn
f351b6acc9
+ added an i8086 test for typed constants, initialized with ofs(x) or seg(x)
...
git-svn-id: trunk@38122 -
2018-02-05 16:24:35 +00:00
nickysn
1f0e311fdd
+ allow segment override prefixes to be used as a standalone opcode in the intel
...
syntax inline assembler; this is TP7 compatible and allows compiling ugly
code, such as 'seges; db $67,$66; lodsw'
git-svn-id: trunk@38096 -
2018-02-01 17:31:59 +00:00
florian
6b5a514148
* based on a patch by Christo Crause: in finalizeavrcode, ignore assembler breq statements taking an absolute value, resolves #32109
...
git-svn-id: trunk@38089 -
2018-01-31 18:38:33 +00:00
florian
0662b611ca
* patch by Christo Crause: prevent that the compiler converts breq into jmp in inline assembler blocks, resolves #32949
...
git-svn-id: trunk@38088 -
2018-01-31 18:34:42 +00:00
florian
10516f21f8
* patch by Christo Crause to resolve #33098 : AVR - LDS assembler instruction with absolute address gives compiler error
...
git-svn-id: trunk@38082 -
2018-01-30 20:22:42 +00:00
florian
796eb542be
* LDD/STD need always an offset, resolves #33086
...
git-svn-id: trunk@38072 -
2018-01-28 21:06:13 +00:00
florian
10ea652493
* fix for #32576
...
+ test case
git-svn-id: trunk@38069 -
2018-01-28 13:26:49 +00:00
Mattias Gaertner
adbb998377
pastojs: started filer
...
git-svn-id: trunk@38049 -
2018-01-26 19:20:25 +00:00
florian
f61b074912
* (re)store alignment when doing a $push/$pop
...
git-svn-id: trunk@38020 -
2018-01-22 21:06:07 +00:00
svenbarth
1a301b5cce
+ add an echo example for Microsoft's kernel mode HTTP(S) server
...
git-svn-id: trunk@38015 -
2018-01-19 17:14:43 +00:00
svenbarth
7f001aca58
+ add fcl-web implementation based on Microsoft's kernel mode HTTP(S) server
...
Things to do:
- allow multiple URL groups
- listen using multiple threads
- client side SSL certificates
git-svn-id: trunk@38013 -
2018-01-19 17:13:14 +00:00
svenbarth
e8c1b6af20
+ add unit for Microsoft's http.h which interfaces with the kernel mode HTTP(S) server
...
git-svn-id: trunk@38012 -
2018-01-19 17:08:24 +00:00
svenbarth
22932493b9
* if the debug info of a parent def is considered as queued then ensure that it is indeed queued (if it should already be in the list then the duplicate entry would have the state written if it's checked and thus ignored)
...
+ added test
git-svn-id: trunk@37969 -
2018-01-14 16:46:10 +00:00
michael
f6a08a2c74
* Patch from Ondrej Pokorny to allow correct nodefault/stored for strings
...
git-svn-id: trunk@37954 -
2018-01-13 10:22:16 +00:00
florian
4a98fcb9d3
* patch by J. Gareth Moreton: reorganises the produced machine code for large unsigned divisions, resolves #32984
...
git-svn-id: trunk@37950 -
2018-01-12 22:03:52 +00:00
svenbarth
84632a39e0
+ add a variant of the echo example based on FPC's HTTP server
...
git-svn-id: trunk@37948 -
2018-01-12 16:01:58 +00:00
florian
52aa40c3b0
* remove explicit cast to int64 to avoid an internalerror 200706094, resolves #33004
...
git-svn-id: trunk@37946 -
2018-01-11 21:02:39 +00:00
Károly Balogh
7c3702d3b0
palmos: make it easy to disable certain features, also disable some which are not needed now. hello, world! is about 6K with these settings, about 5K smaller than otherwise
...
git-svn-id: trunk@37937 -
2018-01-09 15:17:10 +00:00
Jonas Maebe
5f7d3e16f5
* increase comment nesting level when "(*" is followed by another '*'
...
(mantis #32019 )
git-svn-id: trunk@37935 -
2018-01-07 21:05:50 +00:00
Jonas Maebe
a2217cedd5
* evaluate the lower and upper bounds of for-loops in ISO mode using the
...
ISO-defined range type, instead of using the type of the iteration
variable (mantis #24318 )
git-svn-id: trunk@37934 -
2018-01-07 18:51:53 +00:00
Jonas Maebe
0f0bdabb89
* if an absolute typeconversion changes the size, make the source not
...
regable. Normally this is done when the absolute typeconversion node
gets created, but the size can sometimes still change afterwards (e.g.
when removing superfluous 64 bit type conversions) (mantis #32160 )
git-svn-id: trunk@37930 -
2018-01-07 15:37:23 +00:00
Jonas Maebe
53bef8d202
* fixed calculation of high parameter for arrays with non-integer bounds
...
(mantis #32645 )
git-svn-id: trunk@37928 -
2018-01-07 13:01:14 +00:00
Jonas Maebe
ae087b92d7
* when creating a unique type alias for an object, class or interface,
...
create a child object/class/interface instead of a copy of the original.
This fixes override/inheritance checks, and is also Delphi-compatible
git-svn-id: trunk@37927 -
2018-01-07 12:25:16 +00:00
florian
3ce7927096
* made the ide a package, so it can be build in parallel with the other packages, reasons:
...
- lowers build times
- ide is not that important anymore than years before
- other utils like pastojs are also located in the packages tree
git-svn-id: trunk@37926 -
2018-01-06 20:22:30 +00:00
Jonas Maebe
2919d97f91
* support asssigning @class.classmethod to a procvar of object in FPC modes
...
(mantis #14103 )
git-svn-id: trunk@37925 -
2018-01-06 17:47:44 +00:00
Károly Balogh
256c7d4144
palmunits: added the rotating cube example, PalmOS edition. tested to work down to OS3.0
...
git-svn-id: trunk@37924 -
2018-01-06 15:53:59 +00:00
florian
81b2cf5d65
* slightly modified patch by J. Gareth Moreton: Optimization for 'mod' on i386/x86-64, resolves #32945
...
git-svn-id: trunk@37922 -
2018-01-06 14:58:28 +00:00
Jonas Maebe
1934285c20
* don't convert "int64(sint32) * cardinal_const" into a 32x32->64
...
multiplication (mantis #32046 )
git-svn-id: trunk@37921 -
2018-01-06 13:44:03 +00:00
pierre
bdd3b4e695
* Move rtl.cfg content to system.cfg
...
+ New rtl.cfg containg non-feature options of former file (i8086 only)
* Use system.cfg for system unit compilation
+ add @rtl.cfg option for i8086 CPU
git-svn-id: trunk@37920 -
2018-01-06 12:27:28 +00:00
florian
273045c295
* use the first element of the filrec._private array to track eof for typed files in iso mode (this will not hurt as iso mode does not specify the _private field), resolves #32938
...
git-svn-id: trunk@37915 -
2018-01-05 22:10:39 +00:00
Jonas Maebe
8cfe7e0a0c
* when creating a realconstn, cast the value to the specified type
...
(mantis #25121 )
o note that this means that single_const1/single_const2 will now be rounded
to single, instead of staying the at maximum precision
o fixed FahrenheitToCelcius() to handle this change correctly
git-svn-id: trunk@37911 -
2018-01-04 20:51:36 +00:00
Károly Balogh
f609c55b59
palmunits: added a simple 'Hello, World' for PalmOS
...
git-svn-id: trunk@37903 -
2018-01-04 09:04:31 +00:00
Jonas Maebe
118398a543
* test for mantis #32906 (already fixed in revision 37886)
...
git-svn-id: trunk@37892 -
2018-01-02 18:15:30 +00:00
Jonas Maebe
c0b0fa9c0b
* change the type of the -gt uninitialised result of ansistring functions to
...
rawbytestring so the compiler does not try to convert it to the declared
string type of the function result, as this may not be available
(mantis #32510 )
git-svn-id: trunk@37889 -
2018-01-01 18:04:13 +00:00
Jonas Maebe
672afcdca2
* check for conflicts between procedure directives specified in the
...
implementation and "virtual" (if it's a virtual method), as "virtual"
does not get repeated in the implementation and hence no conflicts get
checked by default (mantis #32605 )
git-svn-id: trunk@37887 -
2018-01-01 16:54:04 +00:00
Jonas Maebe
1b66995754
* factored out check to determine whether a variable can be subscripted in
...
inline assembly, and fixed check after r35959 (mantis #32318 )
o can also subscript parameters passed by value on the stack
o can also subscript local variables, the parameters passed by reference
that are subsequently copied into a local
git-svn-id: trunk@37886 -
2018-01-01 14:29:21 +00:00
Jonas Maebe
dcac6b9c6f
* disallow passing a dynarray(niln/pointerconstn) as an open array
...
(mantis #31273 )
git-svn-id: trunk@37885 -
2017-12-31 15:18:40 +00:00
michael
40cc1d3731
* Compile server
...
git-svn-id: trunk@37874 -
2017-12-29 19:08:29 +00:00
michael
580979ed1c
* Forgot to add
...
git-svn-id: trunk@37867 -
2017-12-29 17:07:59 +00:00
michael
90679c0ce7
* Correct lib name
...
git-svn-id: trunk@37866 -
2017-12-29 14:25:13 +00:00
michael
d997db7fa7
* Fix bug ID #32389 (patch from Martok) to fix script parsing
...
git-svn-id: trunk@37863 -
2017-12-29 13:25:49 +00:00
florian
cd9e18fab4
* made lazarus project names more systematic
...
git-svn-id: trunk@37841 -
2017-12-28 14:34:04 +00:00
florian
9a860db7df
+ lazarus project for ppcx86_64llvm
...
git-svn-id: trunk@37839 -
2017-12-28 14:23:55 +00:00
florian
0f51cf8546
* avr: correctly write references to nil, resolves #32821
...
git-svn-id: trunk@37838 -
2017-12-28 10:32:16 +00:00
michael
4a566ceec1
* Move compiler files to package.
...
* Separate lib compiler from library file.
git-svn-id: trunk@37835 -
2017-12-27 17:12:19 +00:00
Károly Balogh
6f2f739bce
tosunits: add a more complex example program, a rotating 3D cube in a GEM window
...
git-svn-id: trunk@37800 -
2017-12-24 23:51:43 +00:00
Károly Balogh
44ce1e8ea3
tosunits: another example program, a resizable GEM window with event loop
...
git-svn-id: trunk@37796 -
2017-12-24 13:01:34 +00:00
Károly Balogh
55638510c0
tosunits: early bits for some VDI bindings
...
git-svn-id: trunk@37787 -
2017-12-23 02:19:42 +00:00
michael
3496256179
* Added library version of pas2js
...
git-svn-id: trunk@37752 -
2017-12-17 08:27:27 +00:00
michael
8342c502c5
* Initial check-in of pas2js changes
...
git-svn-id: trunk@37749 -
2017-12-16 15:55:10 +00:00
nickysn
4655e4a424
+ ported the 'vesamode' unit to i8086-msdos
...
git-svn-id: trunk@37745 -
2017-12-16 02:04:49 +00:00
nickysn
a82740d7a7
+ implemented the video and mouse units for i8086-msdos
...
git-svn-id: trunk@37743 -
2017-12-16 00:40:00 +00:00
nickysn
d8a2285a91
+ enabled compilation of unit classes for win16; compiles only in the large
...
memory model for now (to be fixed later for the other memory models)
git-svn-id: trunk@37739 -
2017-12-15 19:56:30 +00:00
nickysn
5409450195
+ ported and enabled compilation of unit sysutils for win16
...
git-svn-id: trunk@37734 -
2017-12-15 16:58:49 +00:00
svenbarth
916ff0b92c
+ extend Concat() with support for dynamic arrays
...
+ added test
git-svn-id: trunk@37723 -
2017-12-12 19:54:08 +00:00
michael
4467ff81a6
* Second grouping demo, showing fieldkind for user data loop and simple aggregates
...
git-svn-id: trunk@37666 -
2017-12-03 10:25:05 +00:00
nickysn
78e0f6c68b
+ added an i8086-specific FarAddr() function, similar to Addr(), but always
...
returns a far pointer, regardless of the current memory model
git-svn-id: trunk@37628 -
2017-11-27 16:41:48 +00:00
florian
4b8dcd676c
* libcups interface unit included in FPC, resolves #32729
...
git-svn-id: trunk@37619 -
2017-11-26 09:33:34 +00:00
nickysn
c464f7fa56
* fixed the SEG inline asm directive when used with 32-bit registers on the i8086 target
...
git-svn-id: trunk@37613 -
2017-11-22 15:04:30 +00:00
Károly Balogh
e6aed467b5
renamed script unit to cscript to avoid namespace conflict with univint package on Darwin. this makes it possible to build the textmode IDE on Darwin
...
git-svn-id: trunk@37598 -
2017-11-17 11:27:19 +00:00
svenbarth
eb7059cea8
+ add SQL-DB data dictionary engines for MySQL 5.6 and 5.7
...
git-svn-id: trunk@37577 -
2017-11-11 20:47:02 +00:00
nickysn
ae92973196
+ added support for the retw, retnw, retfw, retd, retnd, retfd, retq, retnq and
...
retfq x86 instructions. These are variants of the ret instruction with the
return offset size set explicitly, e.g. retfw is a 16-bit far ret (i.e. pops
a 16-bit offset and a 16-bit segment), retfd is a 32-bit far ret (pops a
32-bit offset, followed by a 16-bit segment), etc.
git-svn-id: trunk@37571 -
2017-11-10 16:53:29 +00:00
nickysn
3cbe377f40
+ added 2 tests for absolute var access to a 2-dimensional array from within inline asm
...
git-svn-id: trunk@37562 -
2017-11-06 16:47:07 +00:00
nickysn
24d447716e
* fixed support for access from inline asm to absolute vars, pointing to an
...
array element (previously, it would always point to the start of the array)
git-svn-id: trunk@37558 -
2017-11-06 16:06:34 +00:00
florian
c7d5525b56
+ implemented some AVR specific intrinsics
...
git-svn-id: trunk@37544 -
2017-11-01 16:33:34 +00:00
florian
ff86c80176
* cpu specific header file for the system unit: cpuh.inc, moved several declarations into it
...
git-svn-id: trunk@37542 -
2017-11-01 16:33:30 +00:00
nickysn
d570c09b9d
+ added test, which tests public labels as well as 'external far' variables on i8086
...
git-svn-id: trunk@37533 -
2017-10-30 18:08:39 +00:00
nickysn
be3ff9128a
+ added an i8086 test for the public directive
...
git-svn-id: trunk@37531 -
2017-10-30 17:02:48 +00:00
nickysn
29558a74cd
+ support exporting labels from asm blocks in intel syntax asm blocks via the
...
'public' directive
git-svn-id: trunk@37530 -
2017-10-30 16:44:13 +00:00
nickysn
d318ab086a
* when handling absolute vars from within intel inline assembly, take the
...
absolute var size into account (not the type of the var it points to or no
size at all, if it points to a fixed address)
git-svn-id: trunk@37525 -
2017-10-26 15:58:48 +00:00
nickysn
8a0d8f025b
* fixed another i8086 inline asm 32-bit constant bug (e.g. in 'or eax, 80000001h')
...
git-svn-id: trunk@37521 -
2017-10-25 19:38:37 +00:00
nickysn
07eab50afe
+ added a test for 32-bit inline asm const operand on i8086, using at&t syntax as well
...
git-svn-id: trunk@37520 -
2017-10-25 18:09:11 +00:00
nickysn
325e66287c
* fix for inline asm of instructions with 32-bit constant operands on i8086
...
git-svn-id: trunk@37519 -
2017-10-25 18:03:22 +00:00
nickysn
e58bad8eef
+ check for the 'pop cs' instruction in the x86 inline assembler and print a
...
warning (on the i8086 target) or an error (on i386 and x86_64) when this
instruction is used (because it only works on 8086 and 8088 CPUs)
git-svn-id: trunk@37514 -
2017-10-24 15:07:20 +00:00
yury
af0fdea815
* Android: Include list of supported syscalls for each CPU.
...
Adjust Linux RTL to work with supported Android syscalls.
It should fix issues with Android 8.
git-svn-id: trunk@37480 -
2017-10-17 18:15:02 +00:00
nickysn
dd9b5eb2aa
+ added the 'Cannot override ES' message in the at&t assembler reader as well
...
git-svn-id: trunk@37456 -
2017-10-14 00:48:46 +00:00
nickysn
1ee36b5b9b
+ added error message in the intel assembler reader, when an attempt is made to
...
override the ES segment in an x86 string instruction (because it cannot be
overriden)
git-svn-id: trunk@37454 -
2017-10-13 14:56:38 +00:00
nickysn
0fb79946a5
+ added support for the parameterized versions of the x86 string instructions
...
(movs, cmps, scas, lods, stos, ins, outs) in the inline asm of the i8086, i386
and x86_64 targets. Both intel and at&t syntax is supported.
* NEC V20/V30 instruction 'ins' (available only on the i8086 target, because it
is incompatible with 386+ instructions) renamed 'nec_ins', to avoid conflict
with the 186+ 'ins' instruction.
git-svn-id: trunk@37446 -
2017-10-12 00:07:02 +00:00
michael
c2c561a827
* QR Code printable element, plus demo report, using newly added QR Code generator unit
...
git-svn-id: trunk@37438 -
2017-10-09 19:21:28 +00:00
svenbarth
fcc1ce7a08
* fix for Mantis #30344 : applied patch by Mario Ray Mahardhika to add new command line option -Sj[-|+] to control writeable typed constants (with a small adjustment to the help text)
...
+ added test
git-svn-id: trunk@37437 -
2017-10-09 19:19:23 +00:00
michael
656405d7dc
+ Added QR code generator, image drawer
...
* QR Code generator code translated from C code from Project Nayuki (http://nayuki.io )
(reused with permission)
* Translated demo app from project Nayuki
* Added sample QR code generator demo app
git-svn-id: trunk@37436 -
2017-10-09 19:17:26 +00:00
svenbarth
f6a867ef04
* move handling of Concat to tinlinenode so that it can be easily extended for dynamic arrays
...
+ added test
git-svn-id: trunk@37429 -
2017-10-08 10:39:34 +00:00
michael
43867344cd
* Demo how to create pdf from text file
...
git-svn-id: trunk@37425 -
2017-10-08 08:29:05 +00:00
florian
3d3298f64d
* write absolute references correctly on avr, resolves #32040
...
git-svn-id: trunk@37419 -
2017-10-07 21:09:20 +00:00
florian
4cf2a2672a
changes to fix #32043
...
* changed most of the variables in the assembler readers used to store constants from aint to tcgint
as aint has only the size of the accumular while some CPUs (AVR) allow larger constants in instructions
+ allow access to absolute symbols with address type in inline assembler
* allow absolute addresses in avr inline assembler
+ tests
git-svn-id: trunk@37411 -
2017-10-06 21:07:19 +00:00
florian
cc44328109
* correctly calc case label distance after r36362, resolves #32115 and #32311
...
git-svn-id: trunk@37390 -
2017-10-03 20:36:09 +00:00
florian
c0feaf1f1e
+ allow absolute to absolute symbols, resolves issue #32474
...
git-svn-id: trunk@37379 -
2017-10-01 19:54:44 +00:00
svenbarth
9619576515
+ add support for $SetPE{OS,SubSys,User}Version directives; Delphi compatible; Note: $SetPEUserVersion takes precedence to $Version
...
+ added test
git-svn-id: trunk@37364 -
2017-09-30 13:55:29 +00:00
svenbarth
81a0f88d8c
+ add Delphi compatible TThread.ForceQueue() which enqueues the method also for the main thread (at least if the RTL is in multi threading mode, otherwise it's still executed right away - whether this is Delphi compatible needs to be tested as I only have a 10.1 currently which does not yet support TThread.ForceQueue())
...
+ added test
git-svn-id: trunk@37359 -
2017-09-29 21:19:45 +00:00
svenbarth
c5b33f51f9
* fix for Mantis #32412 : correctly handle an incorrect parameter count for Delete() and Insert() intrinsics
...
+ added tests
git-svn-id: trunk@37342 -
2017-09-27 21:15:00 +00:00
svenbarth
a1c910d892
* fix for Mantis #32108 : ensure that types are registered once there is no more specialization is going on
...
git-svn-id: trunk@37341 -
2017-09-27 20:47:16 +00:00
michael
6a0dee6583
* Simple JSON -> YAML converter
...
git-svn-id: trunk@37333 -
2017-09-27 18:02:02 +00:00
nickysn
e4a405dcd9
+ added unit 'cpu' for i8086
...
git-svn-id: trunk@37332 -
2017-09-27 16:55:56 +00:00
michael
c731e5030b
* Add barcode support
...
git-svn-id: trunk@37313 -
2017-09-24 09:34:58 +00:00
michael
8cd2ebf94b
* Add barcode drawing routines
...
git-svn-id: trunk@37305 -
2017-09-23 20:20:50 +00:00
pierre
17a974940e
Add cthreads unit to BeOS target
...
git-svn-id: trunk@37276 -
2017-09-20 15:58:18 +00:00
michael
b793b2dd28
* Patch from Pascal Riekenberg to implement nested groups
...
git-svn-id: trunk@37273 -
2017-09-20 15:33:43 +00:00
Mattias Gaertner
4b4e40c98e
fcl-js: added example srcmapdump
...
git-svn-id: trunk@37263 -
2017-09-20 09:08:07 +00:00
pierre
856b3d86ce
Add ufloatx80 unit, to add operator overload for 80-bit extended type on CPUs that do not support this type natively
...
git-svn-id: trunk@37256 -
2017-09-19 20:57:20 +00:00
Mattias Gaertner
49115a4199
pastojs: added test for generating sourcemap
...
git-svn-id: trunk@37236 -
2017-09-17 19:58:59 +00:00
svenbarth
90bd408de4
* fix for Mantis #32355 : adjust the meaning of the typehelpers modeswitch for Delphi modes in that it enables the "type helper" syntax as it is in the non-Delphi modes; extending primitive types with record helpers is now always enabled in Delphi modes
...
+ added test
git-svn-id: trunk@37225 -
2017-09-15 21:09:21 +00:00
Károly Balogh
587471a0bb
palmos: new pascal startup code sketch. the code was tested elsewhere, but not as part of the RTL yet
...
git-svn-id: trunk@37216 -
2017-09-15 16:06:19 +00:00
Károly Balogh
b56a4bc800
palmos: an include which will contain the subset of the API the RTL needs
...
git-svn-id: trunk@37215 -
2017-09-15 16:05:13 +00:00
florian
01b950f39b
+ new test
...
git-svn-id: trunk@37170 -
2017-09-10 18:07:15 +00:00
maciej-izak
8b5524ac3a
* ignore is_publishable for properties in interfaces (related to $M+ directive). $M has effect on visibility of default section for classes. Interface has always only public section (fix for problem in tb0631.pp)
...
git-svn-id: trunk@37136 -
2017-09-03 19:05:21 +00:00
michael
628b2e5717
* Demo database is created on demand
...
git-svn-id: trunk@37104 -
2017-09-02 09:00:32 +00:00
michael
0415de90e7
* Fix TPasWriter so it produces compileable output, add more constructs. Sample program to rewrite a source file
...
git-svn-id: trunk@37103 -
2017-09-01 21:21:53 +00:00
svenbarth
135b5de410
+ add function call manager based on libffi; currently only tested on x86_64-linux; all other targets need to be explicitely tested before being enabled
...
git-svn-id: trunk@37096 -
2017-08-31 21:18:49 +00:00
svenbarth
179b59753d
+ add optional, not by default enabled test for Invoke
...
git-svn-id: trunk@37095 -
2017-08-31 21:10:10 +00:00
svenbarth
5c97248f85
+ also write the set's size to the RTTI as that simplifies handling in Invoke()
...
git-svn-id: trunk@37090 -
2017-08-31 19:23:12 +00:00
svenbarth
0553d94765
* generate Makefile after r37084
...
git-svn-id: trunk@37085 -
2017-08-30 19:29:44 +00:00
svenbarth
0140028d4e
+ add headers for the ffi library, the foreign function call library
...
git-svn-id: trunk@37084 -
2017-08-30 19:28:56 +00:00
svenbarth
7b675b6769
* correctly write the type of open array parameters as the element def and not the array def
...
+ added test that shows the linking error if not done so (otherwise that should already be covered by trtti15.pp)
git-svn-id: trunk@37083 -
2017-08-29 20:17:24 +00:00
svenbarth
83e4585b0f
* correctly handle unit identifiers inside specializations of generic routines
...
git-svn-id: trunk@37080 -
2017-08-29 18:29:10 +00:00
svenbarth
6acba684d4
* class helpers: fix calling virtual methods of the extended type using inherited
...
git-svn-id: trunk@37060 -
2017-08-25 19:36:56 +00:00
michael
164778b020
* Patch from Martok to fix compilation using build project (Bug ID 32322)
...
git-svn-id: trunk@37046 -
2017-08-24 08:11:15 +00:00
michael
4f6fffa331
* Add libfontconfig
...
git-svn-id: trunk@37040 -
2017-08-23 07:18:29 +00:00
svenbarth
239d0704ca
+ add support for type helpers to also extend interface types
...
git-svn-id: trunk@37023 -
2017-08-21 20:49:20 +00:00
svenbarth
bd6b4b97a7
+ add default config file for FPCUnit ConsoleTestRunner
...
git-svn-id: trunk@36993 -
2017-08-20 20:24:21 +00:00
michael
6672e77222
* Added fcl-report
...
git-svn-id: trunk@36962 -
2017-08-20 18:00:29 +00:00
svenbarth
50f3479f64
+ add test for the DynArray* functions (currently only DynArraySize() and DynArrayIndex() are tested)
...
git-svn-id: trunk@36943 -
2017-08-20 15:16:16 +00:00
svenbarth
324e63b5d3
* a bit of language consolidation: "type helper" can now be used for records and classes as well
...
git-svn-id: trunk@36938 -
2017-08-18 15:29:19 +00:00
michael
1fa863721f
* Patch from Denis Kozlov to fix threaded server
...
git-svn-id: trunk@36916 -
2017-08-15 09:55:18 +00:00
michael
25e85d1772
* TJSONIniFile class added
...
git-svn-id: trunk@36913 -
2017-08-15 08:58:18 +00:00
svenbarth
0b02dab684
+ new Delphi-compatible intrinsic GetTypeKind() which returns the TTypeKind of a type as a constant value (and thus can be optimized away in If- and Case-statements)
...
+ added test
git-svn-id: trunk@36875 -
2017-08-11 22:12:53 +00:00
svenbarth
5deca8ed7b
* copy and include rttih.inc (even though the functions are not available currently)
...
git-svn-id: trunk@36872 -
2017-08-11 20:28:51 +00:00
Károly Balogh
fed07e6643
m68k-palmos: yet another broken-over-a-decade platform build fixed
...
git-svn-id: trunk@36863 -
2017-08-08 19:10:27 +00:00
Károly Balogh
5f2dce07d3
m68k-palmos: skeleton for a recent system unit
...
git-svn-id: trunk@36862 -
2017-08-08 19:09:23 +00:00
Károly Balogh
914ac30919
netbsd/powerpc: made it to build at least. resulting executables probably still crash & burn
...
git-svn-id: trunk@36859 -
2017-08-08 14:31:57 +00:00
Károly Balogh
90ed130750
bsd: add support for syscalls on m68k, based on NetBSD/elf
...
git-svn-id: trunk@36780 -
2017-07-23 23:02:44 +00:00
Károly Balogh
847f014707
netbsd: prt0 startup code and dummy files for build pass for m68k
...
git-svn-id: trunk@36779 -
2017-07-23 22:43:31 +00:00
florian
a2e442e111
* keep the names of X, Y and Z in assembler files, fixes issue #32150
...
git-svn-id: trunk@36776 -
2017-07-23 19:24:45 +00:00
michael
3b5d532ab5
* Corrected patch from Rolf Wetjen to use unicode API on windows (bug ID 32185)
...
git-svn-id: trunk@36765 -
2017-07-22 17:09:45 +00:00
michael
32cdee6f5d
* Fix bugs 30950 & 29781
...
git-svn-id: trunk@36740 -
2017-07-17 16:24:05 +00:00
svenbarth
0c42b6f44a
* fix for Mantis #32118 : also provide a range for undefined defs
...
+ added test
git-svn-id: trunk@36723 -
2017-07-10 19:47:21 +00:00
svenbarth
ca78bfffae
* fix for Mantis #32111 : allow undefined defs as a for loop's counter; the specialization will decide whether it will compile or not
...
+ added test
git-svn-id: trunk@36722 -
2017-07-10 19:45:15 +00:00
michael
0a73f141a4
* Forgotten in commit 36662
...
git-svn-id: trunk@36683 -
2017-07-08 14:10:35 +00:00
michael
feebdbfc92
* Winhttp unit added (bug id 30650)
...
git-svn-id: trunk@36677 -
2017-07-08 11:25:03 +00:00
florian
567dfef9a7
+ object files for sparc64-linux to test linking with gcc
...
git-svn-id: trunk@36655 -
2017-07-06 18:02:20 +00:00
michael
afa74238f5
* SAX JSON reader, rework JSONParser on top of that
...
git-svn-id: trunk@36580 -
2017-06-22 19:45:22 +00:00
nickysn
a217c4c7d0
* merged all changes from ptc trunk from sourceforge; adds support for different
...
keyboard input modes in ptccrt (TP7 compatible, GO32 CRT compatible and WIN32
CRT compatible mode)
git-svn-id: trunk@36555 -
2017-06-20 00:23:32 +00:00
florian
3c72115e30
* basic sparc64 calling convention handling and stack frame handling fixed
...
git-svn-id: trunk@36518 -
2017-06-18 15:49:21 +00:00
florian
c7d4a64ae4
+ basic sparc64-linux specific rtl code, based on the sparc-linux one
...
git-svn-id: trunk@36515 -
2017-06-18 15:44:06 +00:00
florian
a6c2f1660b
+ sparc64 variants of the cpu specific files used by the rtl
...
git-svn-id: trunk@36514 -
2017-06-18 15:42:22 +00:00
florian
b8755b6b2c
+ setjmp/longjmp implementation for sparc64, based on the sparc one
...
git-svn-id: trunk@36513 -
2017-06-18 15:41:25 +00:00
florian
278d33f611
+ first implementation of sparc64-linux startup code, partly dummies
...
git-svn-id: trunk@36512 -
2017-06-18 15:39:37 +00:00
nickysn
f2587b6061
* updated ptc and ptcgraph to the latest trunk (future 0.99.15 release) from sourceforge
...
git-svn-id: trunk@36507 -
2017-06-18 00:16:03 +00:00
marcus
d4d7778e86
+ Linux/m68k test object files
...
git-svn-id: trunk@36502 -
2017-06-14 20:33:26 +00:00
Mattias Gaertner
2df7e116e3
fcl-js: added TSourceMap
...
git-svn-id: trunk@36492 -
2017-06-12 18:23:25 +00:00
florian
5e969d90cb
+ SPARC64 cpugas unit
...
+ support for %gdop_hix22/%gdop_lox22
git-svn-id: trunk@36475 -
2017-06-10 11:24:55 +00:00
svenbarth
dffe423b10
* fix for Mantis #31945 : two fixes for nested routines inside generic methods
...
a) correctly determine whether token recording is required or not (nested routines of generic routines don't need it)
b) correctly determine whether the trailing ";" needs to be parsed (nested routines of generic routines need to)
git-svn-id: trunk@36469 -
2017-06-09 15:46:10 +00:00
svenbarth
eb9b4fb71f
* fix for Mantis #31973 : resolve dummy symbols earlier and print a nice error message if a generic dummy could not be resolved to an ordinary symbol
...
+ added test
* adjusted test tw9673 which should have never worked as is (what if TList would have been "of T" instead of "of byte"?)
git-svn-id: trunk@36468 -
2017-06-09 14:41:26 +00:00
maciej-izak
751bde9792
Revert revision 36436 from trunk. Final fix for issue #31675 .
...
git-svn-id: trunk@36446 -
2017-06-07 21:06:54 +00:00
nickysn
748428b637
+ support the KOI8-R and KOI8-U Cyrillic encodings
...
git-svn-id: trunk@36445 -
2017-06-07 13:51:53 +00:00
nickysn
fce5fbd726
+ added cp3021 (Bulgarian MIK) code page support
...
git-svn-id: trunk@36444 -
2017-06-07 13:19:20 +00:00
florian
ea8774c18d
* split the sparc code generator into a generic base class and separate classes for sparc32 and sparc64
...
+ initial code for the sparc64 cg
git-svn-id: trunk@36440 -
2017-06-06 20:11:07 +00:00
maciej-izak
d3d29fa84c
Revert revisions 36133, 36128 from trunk.
...
git-svn-id: trunk@36436 -
2017-06-06 07:12:26 +00:00
nickysn
1e85730f67
+ created an unicode character map (.txt only for now) for the Bulgarian MIK
...
encoding. We're calling it cp3021, after the code page number, assigned to it
in Star printers (this number is unassigned by Microsoft and IBM).
git-svn-id: trunk@36435 -
2017-06-05 23:03:12 +00:00
florian
053124f78a
+ SPARC64 specific system unit code, derived from SPARC32, needs still to be adapted
...
git-svn-id: trunk@36433 -
2017-06-05 21:36:33 +00:00
florian
4036ecb5b5
+ stat record definition for SPARC64
...
git-svn-id: trunk@36432 -
2017-06-05 21:35:06 +00:00
nickysn
396eebbfb5
+ added support for iso8859-[3,4,6,7,8,9,10,11,13,14,15,16]
...
* charmap .txt files in rtl/ucmaps for iso8859-[1,2,5] also updated
git-svn-id: trunk@36425 -
2017-06-05 16:36:24 +00:00
florian
4be464231e
+ some SPARC64 specific files
...
git-svn-id: trunk@36424 -
2017-06-05 15:26:28 +00:00
nickysn
35be7348fb
+ added code pages 737, 775, 857, 860, 861, 862, 863, 864, 865 and 869
...
git-svn-id: trunk@36423 -
2017-06-05 14:25:15 +00:00
nickysn
4bbd405796
+ added .txt files in the ucmaps directory for code pages 437, 850 and 866
...
git-svn-id: trunk@36422 -
2017-06-05 12:59:07 +00:00
nickysn
28ce3e392c
* cp855.pp renamed cp855.pas for consistency with the other units in the same directory
...
git-svn-id: trunk@36420 -
2017-06-05 12:03:04 +00:00
florian
96f28cbb11
* move sysnr.inc to a rtl/linux/sparcgen dir
...
* adapt makefiles to reflect this
git-svn-id: trunk@36411 -
2017-06-03 20:52:41 +00:00
michael
01fc73b1ad
* Missing files added
...
git-svn-id: trunk@36409 -
2017-06-03 18:31:39 +00:00
nickysn
131c96d3e2
+ added x11 vendor specific keysym units: deckeysym, hpkeysym, sunkeysym and xf86keysym
...
git-svn-id: trunk@36408 -
2017-06-03 17:23:10 +00:00
michael
0fe12f2087
* Support unicode text drawing in freetype, canvas
...
git-svn-id: trunk@36402 -
2017-06-03 04:53:21 +00:00
michael
6a457fb06c
* Restore pattern demo, remove text writing.
...
git-svn-id: trunk@36400 -
2017-06-03 03:46:26 +00:00
florian
1f4432af6b
* sparc64 compiler can be build, not working yet
...
git-svn-id: trunk@36399 -
2017-06-02 20:13:30 +00:00
florian
832ad67d63
* more adaptions for SPARC64
...
git-svn-id: trunk@36381 -
2017-05-31 20:59:21 +00:00
florian
b59e4f5652
+ register .inc files for SPARC64
...
git-svn-id: trunk@36380 -
2017-05-31 20:58:30 +00:00
nickysn
4a39d4396e
+ support code page 855 (yet another cyrillic encoding)
...
git-svn-id: trunk@36378 -
2017-05-31 14:49:10 +00:00
florian
188ec0f0c7
+ basics for sparc64 support, we continue to use the name "sparc" for sparc32, both sparc are identified by sparcgen (dirs, defines etc.)
...
git-svn-id: trunk@36374 -
2017-05-30 21:17:17 +00:00
michael
9140d2a33f
* Patch from Graeme Geldenhuys to fix failing unit tests
...
git-svn-id: trunk@36355 -
2017-05-28 08:47:33 +00:00
Mattias Gaertner
dd48453c57
resolver: const evaluation: ranges, int+int
...
git-svn-id: trunk@36318 -
2017-05-25 10:47:48 +00:00
svenbarth
72c595eefe
+ implement support for Insert() for dynamic arrays; the parameter that is inserted can be a dynamic or static array of the same type, an array constructor or a single element of the arrays type; all that is determined based on the second type
...
+ added test
git-svn-id: trunk@36307 -
2017-05-23 19:11:49 +00:00
joost
408cae639f
* Moved all logic to determine in which repository to install a package into
...
one method.
* Re-designed the logic to determine where to install packages. Documented
the logic in repositorylogics.dia.
* Partly implemented this new logic.
* Added tests.
git-svn-id: trunk@36300 -
2017-05-22 21:20:22 +00:00
Jonas Maebe
744facb7fc
* properly support accepting register parameters of assembler routines in
...
the intel assembler reader: no longer parse them as register tokens,
but as local operands that are later converted into registers. This
ensures in particular that the type of the operand is set, which is
necessary in case this operand later subscripted (as in tasm10a)
git-svn-id: trunk@36288 -
2017-05-21 20:17:15 +00:00
svenbarth
d073e07244
+ add a test to ensure that array constructors correctly handle managed types (though there might be a temp floating around for longer than one might expect)
...
git-svn-id: trunk@36243 -
2017-05-18 20:04:29 +00:00
marcus
20a8228c9a
AmigaOS4: locale.library unit
...
git-svn-id: trunk@36204 -
2017-05-13 21:53:08 +00:00
joost
49d75902f6
* Cleanup build-files in case of an error + test
...
git-svn-id: trunk@36198 -
2017-05-12 20:50:05 +00:00
svenbarth
c90fbe1bf0
* fix for Mantis #31795 : append a $ to internal functions init, finalize, init_implicit and finalize_implicit as their section names otherwise look the same as those of user declared functions with the same name
...
+ added test
git-svn-id: trunk@36194 -
2017-05-12 13:32:37 +00:00
svenbarth
23ec3db057
+ added test for Mantis #30498 which is working now that array constructors are supported :)
...
git-svn-id: trunk@36193 -
2017-05-12 12:57:49 +00:00