nickysn
2a9d38d878
+ proper spilling support for R_SUBH (i.e. AH,BH,CH,DH) x86 registers in trgx86.do_spill_replace
...
git-svn-id: trunk@24476 -
2013-05-09 11:57:00 +00:00
Jonas Maebe
1358618c36
* only display and allow ABIs that are actually supported by the current
...
compiler binary
git-svn-id: trunk@24475 -
2013-05-08 14:30:38 +00:00
nickysn
c4dd85a0eb
+ implemented tcg8086.a_op_reg_ref
...
git-svn-id: trunk@24474 -
2013-05-08 11:49:39 +00:00
nickysn
85b98671bd
+ implemented tcg8086.a_op_const_ref for op_add/and/or/sub/xor/move/none; this fixes inc(longint) among other things
...
git-svn-id: trunk@24473 -
2013-05-08 08:23:46 +00:00
paul
72fd58d62e
rtl: fix possible division by zero
...
git-svn-id: trunk@24472 -
2013-05-08 06:00:44 +00:00
paul
980bc634b4
compiler:
...
- add write_rtti_reference method,
- minor refactoring,
- always write nil as RTTI reference for objc types and void types
git-svn-id: trunk@24471 -
2013-05-08 05:47:48 +00:00
paul
fceb6c3cc5
compiler: skip objc types in ProcVar rtti arguments and result type
...
git-svn-id: trunk@24470 -
2013-05-08 03:40:01 +00:00
paul
cd8690c197
rtl: typo
...
git-svn-id: trunk@24469 -
2013-05-08 03:10:03 +00:00
paul
bc973e538d
compiler: write extended RTTI for tkProcVar (tkProcedure in Delphi)
...
rtl: add appropriate types for tkProcVar RTTI (based on Delphi help)
+ test
git-svn-id: trunk@24468 -
2013-05-08 02:52:13 +00:00
nickysn
2d67a3169d
* i8086 fixes in tcg8086.g_copyvaluepara_openarray
...
git-svn-id: trunk@24467 -
2013-05-07 22:34:26 +00:00
nickysn
502c2ffb94
* fixed tcg8086.a_load_reg_reg when doing an unsigned extension in the same superregister; this fixes the taddbool test
...
git-svn-id: trunk@24466 -
2013-05-07 21:20:40 +00:00
Jonas Maebe
b16677a75b
* only pass --gc-sections to the linker if smart linking is enabled
...
(mantis #24396 )
git-svn-id: trunk@24465 -
2013-05-07 20:28:54 +00:00
nickysn
5a4a3cbbc3
+ implemented tcg8086.a_op_ref_reg; supports op_add/sub/xor/or/and
...
git-svn-id: trunk@24464 -
2013-05-07 19:19:55 +00:00
nickysn
b2c95c851a
* fixed bug in the intr and msdos functions, introduced in r24462
...
git-svn-id: trunk@24463 -
2013-05-07 19:15:39 +00:00
nickysn
0a8e008a0d
+ the ES register made volatile on i8086 as per the 16-bit x86 calling conventions
...
git-svn-id: trunk@24462 -
2013-05-07 14:27:21 +00:00
marco
80fadeae41
* versioncheck: change default to 2.6.2 and add a note that using
...
overridecheck is unsupported.
git-svn-id: trunk@24461 -
2013-05-07 12:29:59 +00:00
paul
fe04dedbab
compiler: change RTTI size of record field offset from fixed 32bit to platform dependent integer (sizeint) since it is stored this way in the compiler. This is also Delphi compatible, rtl: adopt rtl appropriately
...
git-svn-id: trunk@24460 -
2013-05-07 11:25:41 +00:00
paul
5f709430d4
compiler: fix indentation
...
git-svn-id: trunk@24459 -
2013-05-07 10:39:47 +00:00
paul
dce960c97b
compiler: write Delphi compatible tkArray RTTI:
...
- TotalSize of all array dimensions instead of first dimension size
- Element type of last array dimension
- dimension information
rtl:
- adopt array initialization/finalization/copy for the new tkArray RTTI
- add Delphi compatible TArrayTypeData member for typinfo.TTypeData structure
tests:
- add a test which checks RTTI information for 2 dimension array
git-svn-id: trunk@24458 -
2013-05-07 09:12:18 +00:00
michael
bef9b11dad
* Allow disable of registering of message file
...
git-svn-id: trunk@24457 -
2013-05-07 08:05:39 +00:00
paul
d38bd1b9bd
compiler: remove dummy ado_none from tarraydefoption. It is probably a leftover from time when tarraydefoptions was not present, comment options
...
ppudump: simplify readarraydefoptions
git-svn-id: trunk@24456 -
2013-05-07 06:51:32 +00:00
nickysn
f1861a71d6
+ fixed startup hang in the i8086-msdos rtl on systems without an FPU
...
git-svn-id: trunk@24455 -
2013-05-06 21:36:37 +00:00
paul
39cee28f01
compiler: don't write reference to objc classes/protocols when writing tkClassRef rtti
...
git-svn-id: trunk@24454 -
2013-05-06 13:12:09 +00:00
nickysn
b0f7786782
+ added support for special versions of near data pointers associated with a x86 segment register. They are supported on all x86 platforms: i8086, i386 and x86_64
...
git-svn-id: trunk@24453 -
2013-05-05 17:22:37 +00:00
marco
833c9b7bc7
* More unicode fixes shlobj.
...
git-svn-id: trunk@24452 -
2013-05-05 15:00:36 +00:00
marco
912d8f1c52
* set namevalueseparator to =, mantis #24116
...
git-svn-id: trunk@24451 -
2013-05-05 14:04:15 +00:00
marco
548879f450
* set tchar to ansichar if ifndef unicode. Probably doesn't matter, since but
...
reads cleaner.
git-svn-id: trunk@24450 -
2013-05-05 10:25:10 +00:00
marco
3af8cab1de
* corrections from Mantis #20194 .
...
- tbitmapheader is not a redef, from redef -> struct
- some -A types had char types that were $ifdef unicode dependent. Fixed.
- some -A types had char types in numeric form (bchar), where Delphi
uses Pascal char types (ansichar)
git-svn-id: trunk@24449 -
2013-05-05 10:23:06 +00:00
marco
ea86dcb668
* parts of #23953 done. Deprecation of old shlobj structures that are still in unit windows. However shlobj first needs to honour ifdef unicode. It currently
...
only supports -A and -W variants, and not the suffixless aliases.
git-svn-id: trunk@24448 -
2013-05-05 09:37:00 +00:00
marco
f080e173c5
* some {$ifdef unicode} added. + FPC_OS_UNICODE shebang.
...
git-svn-id: trunk@24447 -
2013-05-05 09:32:24 +00:00
marco
c9dce154fd
* add boolean that can be changed to avoid shutting down winsock. This can trouble other DLLs. Mantis #22597
...
git-svn-id: trunk@24446 -
2013-05-05 08:42:08 +00:00
sergei
7cfc737866
* MIPS: rewrote 32-bit code generation methods, reducing code duplication.
...
+ Implemented overflow checking for unsigned 32-bit addition and subtraction.
* Use optimize_op_const instead of custom optimizations.
* Change AND/OR/XOR into ANDI/ORI/XORI if they use immediate operands, and use correct range for these immediate operands, must be 0..65535 unlike -32768..32767 for arithmetic operations.
* Don't treat AND/OR/XOR as macros, no longer necessary.
* Don't treat BEQ/BNE as macros either.
git-svn-id: trunk@24445 -
2013-05-05 05:55:03 +00:00
paul
da35b3c601
compiler, rtl: write CodePage for AnsiString RTTI (Delphi compatible), change TTypeData appropriately + test
...
git-svn-id: trunk@24444 -
2013-05-05 05:05:08 +00:00
paul
a020440d48
rtl: minor formatting
...
git-svn-id: trunk@24443 -
2013-05-05 04:30:06 +00:00
paul
1c86a9482b
rtl:
...
- add tkRecord to TTypeData (field and type names are taken from Delphi help)
- add tkProcedure as alias to tkProcVar
git-svn-id: trunk@24442 -
2013-05-05 04:09:31 +00:00
paul
714511a4d9
compiler: typo
...
git-svn-id: trunk@24441 -
2013-05-05 03:46:42 +00:00
paul
5cd3f9d8fb
compiler: don't write rtti for objc classes/protocols (a trial to fix build on mac)
...
git-svn-id: trunk@24440 -
2013-05-05 03:18:59 +00:00
florian
e6489ed7d2
* arm thumb: do not generate illegal ror instructions
...
git-svn-id: trunk@24439 -
2013-05-04 22:00:17 +00:00
marco
09e742f243
* add a -dfpc define to the resource compiler commandlines, which allows to make FPC specific exceptions in resource scripts. Mantis #24044
...
git-svn-id: trunk@24438 -
2013-05-04 21:25:36 +00:00
florian
ccdd4437d6
* arm thumb: do not cause bxx getting too long ranges when inserting constant blocks
...
git-svn-id: trunk@24437 -
2013-05-04 20:36:08 +00:00
sergei
a0d3750b81
+ MIPS: implemented direct 32x32 to 64 bit multiplication.
...
git-svn-id: trunk@24436 -
2013-05-04 20:35:24 +00:00
marco
28f45559a9
* IOleControl and some other interfaces from #22442 . safecall folded to function:hresult;stdcall; calls.
...
git-svn-id: trunk@24435 -
2013-05-04 20:22:44 +00:00
florian
7bea00e5fb
* arm thumb: allow interface trampolines to non-virtual methods with large offsets
...
git-svn-id: trunk@24434 -
2013-05-04 19:54:03 +00:00
florian
1682e9a2b1
* detabbed
...
git-svn-id: trunk@24433 -
2013-05-04 19:39:12 +00:00
florian
ed2825fbb0
* arm thumb: handle constants in second_cmpsmallset correctly
...
git-svn-id: trunk@24432 -
2013-05-04 19:38:12 +00:00
florian
c087d97b96
* typo fixed
...
git-svn-id: trunk@24431 -
2013-05-04 19:37:34 +00:00
marco
bfeae5ee43
* IStreamPersistInit. Patch part of Mantis #22442 (but not all)
...
git-svn-id: trunk@24430 -
2013-05-04 18:30:15 +00:00
paul
2cbc061707
compiler: write rtti for pointeddef before classrefdef and pointerdef rtti
...
git-svn-id: trunk@24429 -
2013-05-04 17:12:52 +00:00
marco
a98ba0287d
* TryGetValue, patch by Denis Volodarsky, mantis #24378
...
git-svn-id: trunk@24428 -
2013-05-04 16:50:19 +00:00
marco
ce6c393ce2
* use win32 dll names for win64. (win32->Windows), patch by Andrew Brunner, mantis #24346
...
git-svn-id: trunk@24427 -
2013-05-04 16:47:53 +00:00