Commit Graph

47323 Commits

Author SHA1 Message Date
Károly Balogh
bc51cc1151 regenerated msgidx.inc and msgtxt.inc afer r32324
git-svn-id: trunk@32325 -
2015-11-15 01:25:17 +00:00
Károly Balogh
3675fc75cb VLink Support:
* fixed for MorphOS, added for Amiga/m68k
* enabled as default when running natively on these systems (cross still defaults to GNU LD)
* added -XV command line switch to enable/disable it
* dropped the 'fpc' prefix from vlink binary name on MorphOS

git-svn-id: trunk@32324 -
2015-11-15 01:18:30 +00:00
svenbarth
017821f5db * regenerated msgidx.inc and msgtxt.inc after r32322
git-svn-id: trunk@32323 -
2015-11-14 21:22:55 +00:00
svenbarth
dabde774c4 Fix for Mantis #29005.
errore.msg:
  * consequently use <x> instead of xxxx for value placeholders

git-svn-id: trunk@32322 -
2015-11-14 21:22:15 +00:00
michael
8db06c7878 * OwnsObjects must not be changed during lifetime of TFPObjectHashList, made it read-only (bugs ID 28910)
git-svn-id: trunk@32321 -
2015-11-14 15:58:59 +00:00
Jonas Maebe
cf925a108d * support multiple paralocs, force the source to memory in
thlcgobj.gen_load_loc_cgpara as only a_load_ref_cgpara supports
    multiple locations

git-svn-id: trunk@32316 -
2015-11-13 17:48:24 +00:00
Jonas Maebe
d99de6d8f5 * support complex procvardefs in thlcgobj.location_force_mem() in case they
are located in multiple registers

git-svn-id: trunk@32315 -
2015-11-13 17:48:21 +00:00
Jonas Maebe
d02eb7059b + pointerdef support in llvmgettemprecorddef()
git-svn-id: trunk@32314 -
2015-11-13 17:48:19 +00:00
Jonas Maebe
d444b365e1 * finished conversion of second_class_to_intf to the high level code
generator after r32301

git-svn-id: trunk@32313 -
2015-11-13 17:48:16 +00:00
nickysn
78362ed6ae * RELOC_ABSOLUTE32 made different than RELOC_ABSOLUTE on i8086 (and fixed all
the i8086 bugs, related to code that assumes that they are the same)
+ also added RELOC_RELATIVE32 on i8086
* RELOC_ABSOLUTE32 and RELOC_RELATIVE32 are not yet implemented in the OMF
  object writer and linker (and currently produce an internal error), but will
  be implemented in the future, as the OMF format supports both 16-bit and
  32-bit relocations

git-svn-id: trunk@32311 -
2015-11-13 15:56:26 +00:00
nickysn
ad92f4e80a + implemented thlcgcpu.a_op_const_reg with far pointer support for i8086, so
that second_class_to_intf can be converted to the high level code generator

git-svn-id: trunk@32301 -
2015-11-12 22:01:44 +00:00
Jonas Maebe
f0c6d40336 * converted loading for fpc_catches parameter to hlcg
git-svn-id: trunk@32300 -
2015-11-12 22:00:31 +00:00
Jonas Maebe
5de3785c0e * fixed allocation of temps for empty arrays on llvm
git-svn-id: trunk@32299 -
2015-11-12 22:00:28 +00:00
Jonas Maebe
1675c27e59 * fixed writing of procvardef records (they're also written as tck_record)
git-svn-id: trunk@32298 -
2015-11-12 22:00:25 +00:00
Jonas Maebe
09c8c5eba0 * adjusted comment after previous commit
git-svn-id: trunk@32297 -
2015-11-12 20:58:50 +00:00
Jonas Maebe
a32605bd38 * don't force setelementn's into a 32 bit modifiable register if they were
already in a register, as this changes the result location into a size
    different from what resultdef says (and only in that specific case)
   o modified the ppc code so that it always forces a setelementn to uinttype,
     as that is the size that is expected by the operations later on

git-svn-id: trunk@32296 -
2015-11-12 20:55:33 +00:00
nickysn
b744c83581 + implemented support for omf fixup records with target group other than 'DGROUP' in the i8086-msdos internal linker
git-svn-id: trunk@32294 -
2015-11-12 16:40:17 +00:00
Jonas Maebe
175f4376bc * give an internalerror if a setelementn is range in pass_generate_code,
as those constructs should have been converted to calls to
    fpc_varset_set_range by the parent addn

git-svn-id: trunk@32293 -
2015-11-11 20:46:49 +00:00
Jonas Maebe
3e917f5889 * fixed llvm a_load_reg_ref() when storing a register to a record reference
of 3/5/6/7 bytes

git-svn-id: trunk@32292 -
2015-11-11 20:46:46 +00:00
michael
bc1248ceb7 * Non-Options, multiple identical options support (corrected)
git-svn-id: trunk@32291 -
2015-11-11 16:39:30 +00:00
nickysn
8046826e4e + also allow x86 call ref for references that contain only non-imaginary registers (no infinite spilling problems there either)
git-svn-id: trunk@32290 -
2015-11-11 16:33:48 +00:00
michael
8e063b5cef * Undid last (wrong) patch
git-svn-id: trunk@32289 -
2015-11-11 16:33:03 +00:00
michael
60e0627704 * Non-Options, multiple identical options support
git-svn-id: trunk@32288 -
2015-11-11 16:28:04 +00:00
michael
f7cab410c5 * Single instance functionality by Ondrej Pokorny
git-svn-id: trunk@32287 -
2015-11-11 16:26:19 +00:00
nickysn
9de7830c8c + allow call ref on x86 for references that don't contain any registers, as the register allocator doesn't fail on them, if all registers are allocated
git-svn-id: trunk@32286 -
2015-11-11 15:58:10 +00:00
nickysn
ef2c6065b6 + added support for word/smallint typed constants, initialized with ofs() on i8086
git-svn-id: trunk@32285 -
2015-11-11 15:01:08 +00:00
nickysn
1e7a0838d7 + added test for the 'SEG @CODE' and 'SEG @DATA' i8086 inline assembler directives
git-svn-id: trunk@32284 -
2015-11-10 21:21:17 +00:00
nickysn
a553b15a1c + handle properly inline asm segment constants different than word:
o 'DB SEG symbol' produces an error
  o 'DD SEG symbol' (and anything larger than DW, like DQ) adds extra high zeros
    to the segment constant (this is Turbo Pascal 7 compatible)

git-svn-id: trunk@32283 -
2015-11-10 21:18:34 +00:00
nickysn
606b64a7f1 * fixed indentation
git-svn-id: trunk@32282 -
2015-11-10 20:57:52 +00:00
nickysn
3b80ca4376 + implemented the 'SEG @CODE' inline assembler directive for i8086
git-svn-id: trunk@32281 -
2015-11-10 18:02:10 +00:00
nickysn
995ca4fb12 + implemented the 'SEG @DATA' inline assembler directive for i8086
git-svn-id: trunk@32280 -
2015-11-10 17:26:21 +00:00
nickysn
43dabca8ab * moved the handling of the @Code and @Data inline assembler symbols to new methods Tx86operand.SetupCode and .SetupData
git-svn-id: trunk@32279 -
2015-11-10 14:04:40 +00:00
michael
aa7058e82d * Patch from Ondrej Pokorny to fix broken compilation after 32275
git-svn-id: trunk@32278 -
2015-11-09 07:36:01 +00:00
michael
e838317177 * Fix bug #0028980
git-svn-id: trunk@32277 -
2015-11-08 21:35:12 +00:00
nickysn
7d41d19150 + added an error message when trying to compile a tiny model DOS .COM file with
segment relocations

git-svn-id: trunk@32276 -
2015-11-08 21:13:16 +00:00
Jonas Maebe
21a4a9034d * commented out all untested (and on non-Win32: unimplemened) TCompareOption
flags

git-svn-id: trunk@32275 -
2015-11-08 19:43:26 +00:00
joost
37c1c88f89 * Re-generated src/fpmkunitsrc.inc
git-svn-id: trunk@32274 -
2015-11-08 19:06:37 +00:00
michael
dd87c4f34f * Fix for bug ID #0028976
git-svn-id: trunk@32271 -
2015-11-08 10:15:50 +00:00
Tomas Hajny
2c566ffcb9 * fix compilation failure after r32262
git-svn-id: trunk@32270 -
2015-11-08 00:41:00 +00:00
svenbarth
0ff87336aa Convert the Boolean parameters accept_equal, typeonly and hadspecialize of comp_expr(), sub_expr() and factor() to a set parameter and adjust all calls.
pexpr.pas:
  + new enum texprflag and corresponding set texprflags
  * comp_expr: replace accept_equal and typeonly with texprflags parameter
  * factor: replace typeonly and hadspecialize with texprflags parameter
  * sub_expr: replace accept_equal and typeonly with texprflags parameter
  * adjust calls to comp_expr(), factor() and sub_expr()
other units:
  * adjust calls to comp_expr(), factor() and sub_expr() 

git-svn-id: trunk@32269 -
2015-11-07 21:45:03 +00:00
nickysn
4edbd27774 * support writing omf libraries with size greater than 251 blocks
git-svn-id: trunk@32268 -
2015-11-07 16:54:23 +00:00
nickysn
e498bfc1ba * changed an internal error number to ensure it's unique
git-svn-id: trunk@32267 -
2015-11-07 13:41:00 +00:00
michael
745c1499df * Mark forgotten implementations with runerror 219
git-svn-id: trunk@32266 -
2015-11-07 12:36:32 +00:00
michael
6955106a13 * Fix TStringSplitOptions
git-svn-id: trunk@32265 -
2015-11-07 12:36:10 +00:00
michael
b86ef67a54 * Resolved conflict with none in TStringSplitoptions
git-svn-id: trunk@32264 -
2015-11-07 10:08:28 +00:00
michael
4a32135563 * no type helpers in version 2.6.*
git-svn-id: trunk@32263 -
2015-11-07 09:54:43 +00:00
michael
fde42ca8ef * Type helpers, compatible to Delphi XE 8
git-svn-id: trunk@32262 -
2015-11-07 09:40:54 +00:00
florian
094a3c4350 * fixes masm code generation for rep mov*
git-svn-id: trunk@32259 -
2015-11-06 19:06:57 +00:00
marco
a9ac2abc77 * fixed #28908 (add alias for ADDRINUSE to sockets) for win,os2,unix
git-svn-id: trunk@32258 -
2015-11-06 16:07:33 +00:00
marco
d95b95e648 * fix for #28940 also add PSizeUint
git-svn-id: trunk@32257 -
2015-11-06 15:54:54 +00:00