florian
c46cbc8411
* do not issue a hint of compiler procs are not inlined, resolves #33515
...
git-svn-id: trunk@38675 -
2018-04-03 21:39:47 +00:00
florian
25c5ee2fc3
* patch by J. Gareth Moreton to fix vectorcall (no effect) for linux,
...
resolves #33184 and #33542
git-svn-id: trunk@38663 -
2018-04-02 21:14:26 +00:00
Jonas Maebe
4da6039f40
* simplify empty-dynamic-string-to-pointer (non-p(wide)char) type conversions
...
so that they cannot result in "cmp const, const" at the assembler level
(mantis #33548 )
git-svn-id: trunk@38662 -
2018-04-02 18:35:00 +00:00
maciej-izak
64297e9c96
rtl-generics: new examples for THashSet collection
...
git-svn-id: trunk@38600 -
2018-03-22 23:10:09 +00:00
florian
b2825f2467
* scale constants if possible before currency multiplications to avoid overflows, resolves #33439
...
git-svn-id: trunk@38555 -
2018-03-17 21:33:07 +00:00
michael
62fe64dbb2
* Refactored report designer, so the report design file can be loaded using report data manager class without visual components. Default support for CSV, DBF, JSON, SQLDB
...
git-svn-id: trunk@38550 -
2018-03-17 16:45:45 +00:00
michael
5925568526
* Small example for CSV Dataset examples/showcsv.pp
...
git-svn-id: trunk@38542 -
2018-03-17 00:31:46 +00:00
florian
1bc322c218
* allow generic parameters as array range, resolves #33414
...
git-svn-id: trunk@38532 -
2018-03-15 21:45:23 +00:00
florian
3e7af376fe
* fix issue #32539 and #20551 by some ugly hack
...
git-svn-id: trunk@38531 -
2018-03-15 20:37:50 +00:00
nickysn
602dd31a45
+ added a warning for using cs/ds/es/ss segment overrides in inline assembly on
...
the x86_64 target
git-svn-id: trunk@38517 -
2018-03-13 14:41:21 +00:00
florian
a66016026b
* handle bitpacked booleans more efficiently
...
git-svn-id: trunk@38509 -
2018-03-12 22:05:34 +00:00
nickysn
8ecc41186d
+ added an x86_64 version of the tasm23.pp test
...
git-svn-id: trunk@38505 -
2018-03-12 16:07:39 +00:00
nickysn
79477f04b0
+ added test tasm23a.pp - an i386 version of tasm23.pp
...
git-svn-id: trunk@38504 -
2018-03-12 15:14:03 +00:00
pierre
640f7fbf94
Add test for small records for 1 to 8 bytes in size passing to procedures
...
git-svn-id: trunk@38503 -
2018-03-11 22:06:29 +00:00
Mattias Gaertner
526e82d6ca
pastojs: test -Fu
...
git-svn-id: trunk@38483 -
2018-03-10 13:26:25 +00:00
maciej-izak
b0b119995b
Big update for rtl-generics (aka Generics.Collections 2.0 - sync with https://github.com/maciej-izak/generics.collections ). What is new:
...
* New collections:
- TSortedList<T>
- THashSet<T>
- TAVLTreeMap<TKey, TValue>
- TIndexedAVLTreeMap<TKey, TValue>
- TAVLTree<T>
- TIndexedAVLTree<T>
- TSortedSet<T>
- TSortedHashSet<T> (this one collection is especially interesting - optimized mix of dictionary and AVL tree)
* Ptr property for all collections
* New hash functions (the optimal hash function for collections is selected depending on environment)
* Bug fixes
* Tests
git-svn-id: trunk@38462 -
2018-03-09 00:01:18 +00:00
Károly Balogh
dbb91b5ef0
arm-netbsd: added platform define and dummy rtl files so the build passes for this platform. port not functional yet
...
git-svn-id: trunk@38412 -
2018-03-05 15:38:46 +00:00
florian
c230f81719
+ support for <dyn. array>+<dyn. array>, resolves #30463
...
git-svn-id: trunk@38406 -
2018-03-04 16:12:43 +00:00
florian
61053ead34
+ optimize is operator if used on sealed classes as proposed in #30097
...
git-svn-id: trunk@38387 -
2018-02-28 22:09:24 +00:00
florian
8c5606b41d
+ support mmx shifting
...
git-svn-id: trunk@38367 -
2018-02-27 21:40:12 +00:00
florian
e523865b07
* do not take the size of an open array, resolves #33230
...
git-svn-id: trunk@38366 -
2018-02-27 21:08:07 +00:00
nickysn
9c814e42c9
+ support segment overrides inside references (e.g. [es:bx]) in the x86 intel
...
syntax inline asm reader
git-svn-id: trunk@38365 -
2018-02-27 17:29:46 +00:00
nickysn
45fdd7655d
+ support concatenation of references in x86 intel syntax inline asm:
...
[expr1][expr2] = [expr1+expr2]
[expr1[expr2]] = [expr1+expr2]
This is compatible with TP7's inline asm, and perhaps also with tasm/masm/delphi.
git-svn-id: trunk@38352 -
2018-02-26 17:17:47 +00:00
florian
72efa1aa50
+ test (worked already)
...
git-svn-id: trunk@38349 -
2018-02-25 20:04:57 +00:00
florian
14cb60e479
* set an owner for open array defs being created in property declarations, resolves #25769
...
git-svn-id: trunk@38348 -
2018-02-25 17:36:34 +00:00
florian
7d35ced2d9
+ support {$message info ...}, resolves #30654
...
+ test
git-svn-id: trunk@38346 -
2018-02-25 15:50:58 +00:00
florian
808131a7d6
+ forgotten test
...
git-svn-id: trunk@38342 -
2018-02-25 15:34:11 +00:00
florian
8a2cf56d51
* fixed operator mod for floats as proposed by wp in #33167 , resolves #33167
...
git-svn-id: trunk@38332 -
2018-02-24 18:23:06 +00:00
florian
73aef1402b
+ compiler writes a hint if a subroutine marked as inline cannot be/is not inlined, resolves #31717
...
+ test
git-svn-id: trunk@38330 -
2018-02-24 14:35:12 +00:00
florian
c671683e80
+ patch by Denis Kozlov to add date/time tokens: %DATEYEAR%, %DATEMONTH%, %DATEDAY%, %TIMEHOUR%, %TIMEMINUTE%, %TIMESECOND%
...
+ test
git-svn-id: trunk@38329 -
2018-02-24 12:50:55 +00:00
Mattias Gaertner
80d8a73f05
pastojs: uses-in filename
...
git-svn-id: trunk@38324 -
2018-02-24 09:30:53 +00:00
Mattias Gaertner
e0b7be27ce
pastojs: clean up
...
git-svn-id: trunk@38322 -
2018-02-24 09:25:53 +00:00
florian
d031545f88
* warn if the first constant element of a range set expression is greater than the second one, resolves #31936
...
git-svn-id: trunk@38321 -
2018-02-23 22:30:35 +00:00
florian
048c2c09fd
* shorten interface wrapper names if needed, resolves #33069
...
git-svn-id: trunk@38319 -
2018-02-22 21:55:07 +00:00
florian
d0dd3bd74e
* patch by Christo Crause to support ~ in att assembler
...
* allow -128 to 255 as a constant for instructions taking a byte sized constants (this is also what GNU As accepts), resolves #32039
git-svn-id: trunk@38316 -
2018-02-22 20:14:56 +00:00
Károly Balogh
467349c5ee
atari: do not reference DOS unit explicitly as a dependency. it's now built by buildrtl. add an rtl.cfg for easy features override
...
git-svn-id: trunk@38310 -
2018-02-22 12:09:44 +00:00
florian
d16a22e42b
* remove type case when loading constant in tattreader.BuildConstantOperand, resolves #33202 , should not hurt other targets
...
git-svn-id: trunk@38307 -
2018-02-21 20:24:10 +00:00
nickysn
506d5fe30e
+ support bracketless references in the x86 intel syntax; ugly, but TP7 (and
...
perhaps also Delphi, TASM and MASM)-compatible
git-svn-id: trunk@38296 -
2018-02-20 17:18:09 +00:00
nickysn
8c99f3f70d
+ added tests tasm21a.pp and tasm21b.pp - same as tasm21.pp, but for i386 and x86_64
...
git-svn-id: trunk@38294 -
2018-02-20 16:06:29 +00:00
florian
8731854165
* test code for avr assembler by Christo Crause
...
* fix size of val field in TOprRec for avr, resolves #32946
git-svn-id: trunk@38291 -
2018-02-19 21:23:28 +00:00
nickysn
6c69e10613
+ fix for using the function name (as the function's entry point address,
...
instead of the function result variable, which is already accessible, using
the @Result directive) in inline asm
git-svn-id: trunk@38289 -
2018-02-19 18:04:00 +00:00
florian
4cb9ad7e01
* patch (indention adapted) by Christo Crause to check avr inline assembler, resolves also #32261
...
git-svn-id: trunk@38286 -
2018-02-18 21:58:04 +00:00
florian
ad4ad82908
* prevent crash on not yet supported attribute declarations, resolves #32075
...
git-svn-id: trunk@38272 -
2018-02-17 19:57:50 +00:00
florian
c3a0a4e252
+ support fmrrd/fmdrr, resolves #32398
...
git-svn-id: trunk@38270 -
2018-02-17 16:32:11 +00:00
florian
4d63945b8d
+ handle also STATUS_FLOAT_MULTIPLE_FAULTS, resolves #32822
...
git-svn-id: trunk@38269 -
2018-02-17 16:16:16 +00:00
florian
b421ed0db1
* fixed TranslateMxcsr
...
+ correctly handle sse exceptions on i386, resolves #32671
+ test
git-svn-id: trunk@38268 -
2018-02-17 15:40:49 +00:00
florian
5eb59196d5
* remove sequential moves to the same register
...
+ test
git-svn-id: trunk@38267 -
2018-02-17 12:45:17 +00:00
florian
15bdce0a6a
* new test
...
git-svn-id: trunk@38262 -
2018-02-16 21:21:25 +00:00
nickysn
f1b6be2d74
+ only allocate a result variable for asm routines on i8086, if they are
...
returned in a parameter. This improves TP7 compatibility.
git-svn-id: trunk@38246 -
2018-02-15 17:51:03 +00:00
nickysn
b9e41330d4
+ ensure the callee size paraloc info is available, when setting up a local var
...
or parameter in RAUtils.TOperand.SetupVar(). This fixes a compiler crash, when
a parent parameter or local var is accessed (in certain ways) inside a nested
inline asm routine.
git-svn-id: trunk@38236 -
2018-02-14 14:14:34 +00:00
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