svenbarth
ec374c196e
* Mantis #33840 is fixed by the fix for String type helpers
...
git-svn-id: trunk@39400 -
2018-07-06 15:57:17 +00:00
svenbarth
441fc2fab6
* also parse postfix operators after parsing a _STRING token (required for class functions on type helpers for String)
...
+ added tests
git-svn-id: trunk@39399 -
2018-07-06 15:57:11 +00:00
nickysn
0ea3570b96
* moved the interface and implementation parts of the go32v2 ports unit to
...
include files portsh.inc and ports.inc in the i386 rtl directory
git-svn-id: trunk@39397 -
2018-07-06 15:52:18 +00:00
nickysn
5318a04a5b
* moved the interface and implementation parts of the i8086-msdos ports unit to
...
include files portsh.inc and ports.inc in the i8086 rtl directory
git-svn-id: trunk@39396 -
2018-07-06 15:41:44 +00:00
michael
fca7e26ed6
* Codepage-aware, allow unicode, refactoring of SQLDB code, add PG connector
...
git-svn-id: trunk@39381 -
2018-07-04 13:15:28 +00:00
nickysn
26a3ac3fd4
* moved the fpc_in_x86_*port* constants to the system unit in cpuinnr.inc in the
...
i8086, i386 and x86_64 rtl directories. This is done for consistency with
other compiler internal function numbers (which are declared in innr.inc).
git-svn-id: trunk@39367 -
2018-07-03 21:30:43 +00:00
nickysn
fdc896ad0a
+ inline support for the x86 'in' and 'out' instructions. Currently only enabled
...
in the i8086-msdos 'ports' unit, but will be enabled on other targets (e.g.
go32v2) in the future as well. 32-bit 'in' and 'out' not inlined on i8086, but
will be on i386 and x86_64.
git-svn-id: trunk@39362 -
2018-07-03 17:01:42 +00:00
florian
b70fc52874
* patch by Ondrej Pokorny: the stored property modifier does not delete the inherited default value anymore, resolves #33564
...
git-svn-id: trunk@39357 -
2018-07-01 20:11:13 +00:00
florian
eb61923762
* patch by Ondrej Pokorny: The nodefault is now inherited from parent class, resolves #33563
...
git-svn-id: trunk@39356 -
2018-07-01 19:01:41 +00:00
florian
9af9658fa7
* first parameter of SetLength must be valid, as it is read
...
git-svn-id: trunk@39347 -
2018-06-30 11:25:43 +00:00
michael
d4f2a593d4
* Update from Maciej Izak, bug ID #33921
...
git-svn-id: trunk@39345 -
2018-06-29 20:43:21 +00:00
nickysn
e813a11e85
+ support TP7-compatible @proc^ (as in FillChar(@proc^,...))
...
git-svn-id: trunk@39343 -
2018-06-29 14:16:35 +00:00
michael
bfc5d63fde
* Add webidl2pas
...
git-svn-id: trunk@39293 -
2018-06-23 14:02:55 +00:00
michael
e655b9137b
* webidl added
...
git-svn-id: trunk@39292 -
2018-06-23 13:57:45 +00:00
michael
6abf361557
* New common base for all pascal code generator units in fcl
...
git-svn-id: trunk@39290 -
2018-06-23 13:56:38 +00:00
svenbarth
a2b58b842b
+ add support for threadvars in records
...
+ added tests
git-svn-id: trunk@39289 -
2018-06-23 13:49:16 +00:00
svenbarth
c3ca96279a
+ add support for threadvars inside classes
...
+ added tests
git-svn-id: trunk@39288 -
2018-06-23 13:49:12 +00:00
svenbarth
0a45d7a774
+ add a message that is used when a threadvar section is started inside a class or record without the "class"
...
specifier
git-svn-id: trunk@39286 -
2018-06-23 13:49:05 +00:00
svenbarth
ff407c56d9
* extend scanning of $modeswitch to support not only + and -, but also ON and OFF like other switches
...
+ added tests
git-svn-id: trunk@39280 -
2018-06-22 21:29:08 +00:00
svenbarth
7522a34a67
+ add a message that can be used if an internal operator hides an existing operator overload
...
git-svn-id: trunk@39260 -
2018-06-20 19:53:50 +00:00
svenbarth
97acf24290
+ add a new modeswitch ArrayOperators which is set by default in Delphi modes that enables the internal array operators (currently only "+")
...
git-svn-id: trunk@39259 -
2018-06-20 19:53:43 +00:00
svenbarth
9b45f58c0b
+ add flags that allow checking for overloads with isbinaryoverloaded() and isunaryoverloaded() without modifying the passed in node or even checking for normally non-overloadable operators
...
git-svn-id: trunk@39258 -
2018-06-20 19:53:34 +00:00
svenbarth
b75324a4f2
* move RTTI declarations to their own header file
...
git-svn-id: trunk@39248 -
2018-06-20 18:59:57 +00:00
florian
400861a907
* fixed TBits.NotBits, it is just an Xor operation, resolves #33706
...
git-svn-id: trunk@39243 -
2018-06-19 20:38:15 +00:00
svenbarth
c495f10b29
+ added tests for Mantis #33839 which is now fixed with the recent changes
...
git-svn-id: trunk@39234 -
2018-06-15 13:49:33 +00:00
svenbarth
be0d51d64c
* allow $MinEnumSize, $PackSet and $PackRecords to be used with $Push and $Pop
...
+ added tests
git-svn-id: trunk@39215 -
2018-06-12 19:40:45 +00:00
florian
21d785e41b
* do not unroll loops if the counter variable is accessed outside the current scope
...
git-svn-id: trunk@39163 -
2018-06-03 15:12:48 +00:00
florian
3b3e33d863
+ correctly set var state of addr and frame in raise statements, resolves #33818
...
git-svn-id: trunk@39162 -
2018-06-03 09:31:19 +00:00
nickysn
58be30a0fd
+ added test tasm27a.pp - similar to tasm27.pp, but for i386 and checked against Delphi
...
git-svn-id: trunk@39133 -
2018-05-28 15:34:46 +00:00
svenbarth
f077c7d950
+ add support for Unicode code point constants > $FFFF; they are converted to a surrogate pair so they are in
...
fact a UnicodeString constant
+ added tests
git-svn-id: trunk@39123 -
2018-05-27 14:06:19 +00:00
svenbarth
199b5809a3
* optimize "dynarr := dynarr + [elem]" to "Insert(elem, dynarr, High(SizeInt))" and "dynarr := [elem] + dynarr" to "Insert(elem, dynarr, 0)" (we need to do this in the typecheck of taddnode as otherwise the array constructor is already converted)
...
+ added test
* adjusted test for Mantis #30463 as p1 triggers the optimization as well
git-svn-id: trunk@39119 -
2018-05-25 16:03:56 +00:00
svenbarth
b94a8c93a5
* test (for Mantis #5516 ; 3531 is the old bug ID) is valid now that we have dynamic array initializers
...
git-svn-id: trunk@39105 -
2018-05-24 19:56:35 +00:00
florian
8f472d5212
* check for more controll flow statements before doing loop unrolling
...
git-svn-id: trunk@39083 -
2018-05-21 15:46:02 +00:00
svenbarth
b7cc225149
* revert r39043 and r39045 which disallow static array constants inside dynamic constants for Delphi modes
...
git-svn-id: trunk@39078 -
2018-05-21 08:13:17 +00:00
svenbarth
dcdb151add
* prohibit static array constants inside dynamic array constants for Delphi modes
...
+ added test
git-svn-id: trunk@39045 -
2018-05-20 11:50:27 +00:00
svenbarth
a29a6abc55
+ add support for Delphi's dynamic array constant syntax ("[...]") in Delphi modes
...
git-svn-id: trunk@39042 -
2018-05-20 11:50:19 +00:00
svenbarth
08dd4e5445
+ add support for dynamic array constants
...
+ added test
git-svn-id: trunk@39041 -
2018-05-20 11:50:16 +00:00
nickysn
b80642c384
+ started implementing support for generating Microsoft CodeView debug
...
information. Only enabled on i8086 (for now). Does not do much yet, but
hopefully, soon it'll start emitting line number information for i8086-msdos
that is usable by DOS debuggers.
git-svn-id: trunk@39006 -
2018-05-16 15:25:33 +00:00
svenbarth
7990b2e3f3
* apply patch from J. Gareth Moreton to implement Int() for SSE (currently only used on Win64)
...
+ added test
git-svn-id: trunk@38993 -
2018-05-14 21:08:04 +00:00
marcus
7ec23ba0bd
os4units: datatypes library unit
...
git-svn-id: trunk@38989 -
2018-05-13 19:46:12 +00:00
marcus
76e3b28297
arosunits: datatypes library unit
...
git-svn-id: trunk@38986 -
2018-05-13 14:25:24 +00:00
svenbarth
11f673a991
* also allow a ";"-separated list of namespaces for -FN
...
+ added test
git-svn-id: trunk@38939 -
2018-05-06 21:16:51 +00:00
michael
117f9f2c64
* Some improvements to lazreport converter, add diagnostic output, sample conversion program
...
git-svn-id: trunk@38927 -
2018-05-06 09:08:32 +00:00
michael
5c6918068e
* Add lazreport stream converter, based on version of Christian Ulrich
...
git-svn-id: trunk@38925 -
2018-05-05 21:46:45 +00:00
svenbarth
79aab18b13
+ add tests for default namespaces
...
git-svn-id: trunk@38921 -
2018-05-05 17:21:31 +00:00
svenbarth
abd893cac4
* fix for Mantis #33635 : correctly working SSE2 based Frac() implementation by J. Gareth Moreton
...
+ added test
git-svn-id: trunk@38903 -
2018-05-04 15:44:40 +00:00
svenbarth
cfa373a8cf
* fix case of string with ranges as labels
...
+ add test
git-svn-id: trunk@38860 -
2018-04-27 21:06:33 +00:00
svenbarth
d8dd8d9978
+ add test for Mantis #33635 which was fixed by r38856
...
git-svn-id: trunk@38857 -
2018-04-27 15:23:46 +00:00
nickysn
16e0172021
+ partial support for BP7 reference-like inline asm constants
...
git-svn-id: trunk@38850 -
2018-04-26 14:31:13 +00:00
nickysn
bbc364b245
* inline asm fix for accessing record variables when using the unitname (e.g.
...
'mov ax, unitname.varname.fieldname')
git-svn-id: trunk@38755 -
2018-04-12 16:35:21 +00:00
Jonas Maebe
dfb0869656
+ test that should fail compilation and already fails (mantis #28355 )
...
git-svn-id: trunk@38731 -
2018-04-10 19:34:22 +00:00
Jonas Maebe
1f9d518c57
* support for non-ASCII widechar constants (mantis #31605 )
...
* also improved type checking for converting constant strings to integers
in MacPas mode
git-svn-id: trunk@38730 -
2018-04-10 19:24:15 +00:00
Jonas Maebe
2eeda5d06f
* added test that already works (mantis #33205 )
...
git-svn-id: trunk@38729 -
2018-04-10 18:39:19 +00:00
Jonas Maebe
cb7730a423
* fixed execution order of implicit finalization and class destructors: first
...
the latter, then the former
git-svn-id: trunk@38716 -
2018-04-08 15:41:00 +00:00
nickysn
e1d0e7572e
* i8086 TP7 compatibility fixes, related to obtaining procedure addresses:
...
o The @ and Addr() operators in TP or Delphi mode can now be applied to both
near and far procedures and they always produce a CodePointer, regardless of
the call model of the procedure.
o Ofs() and Seg() can now also be applied to both near and far procedures.
o The @ and Addr() operators in non-TP/Delphi modes, as well as the procedure
name itself in TP/Delphi modes now can be applied to both near and far
procedures and produce a near or a far procvar.
git-svn-id: trunk@38691 -
2018-04-05 15:09:12 +00:00
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