Commit Graph

47338 Commits

Author SHA1 Message Date
Jonas Maebe
46dfa1af30 * correctly handle t*def.getreusable*() in case the original def was in
an exception symtable (then the new def cannot be safely made reusable,
    as the exception symtable may be freed before the module is completely
    compiled)

git-svn-id: trunk@32340 -
2015-11-15 22:23:00 +00:00
florian
7f13f845ac * fix Makefile after r32336
git-svn-id: trunk@32339 -
2015-11-15 20:01:45 +00:00
Jonas Maebe
6677747d74 * reprocess changed typeconvn in doremoveinttypeconvs(), as the changed
resultdef can result in a different type conversion (e.g. from nothing
    to int_2_int in case the result size changes)

git-svn-id: trunk@32338 -
2015-11-15 19:57:04 +00:00
Jonas Maebe
4d53455379 * the "types" unit depends on "math" since r32333 -> updated Makefiles
git-svn-id: trunk@32337 -
2015-11-15 19:38:49 +00:00
florian
d102bdc192 + include tests/test/units/fmtbcd into the list of directories being searched for tests
git-svn-id: trunk@32336 -
2015-11-15 19:06:58 +00:00
marco
1407995a37 * part of advanced record patch
git-svn-id: trunk@32335 -
2015-11-15 18:48:26 +00:00
marco
700a22f420 * revert accidentally committed part of executeprocess patch
git-svn-id: trunk@32334 -
2015-11-15 18:47:42 +00:00
marco
92960ff3ac * initial advanced records support for TSize..TRect and -F.
git-svn-id: trunk@32333 -
2015-11-15 18:34:19 +00:00
michael
7d2c723a54 * Re-instated initialization of memory when adding item
git-svn-id: trunk@32332 -
2015-11-15 18:24:12 +00:00
Károly Balogh
ac75f544f7 morphunits: added diskfont.library interface unit, based on the Amiga version
git-svn-id: trunk@32331 -
2015-11-15 18:05:08 +00:00
florian
70b8789262 o basic extended pascal support:
+ automatically loaded helper unit
  * Makefiles adapted
  * mode switch
  * mode switches reorganized
+ TimeStamp support

git-svn-id: trunk@32330 -
2015-11-15 15:13:36 +00:00
michael
9447b975f2 * Fix bug #28987, fpfd_clr, and fpfdfillset using cardinal instead of correctly sized culong
git-svn-id: trunk@32329 -
2015-11-15 12:14:14 +00:00
michael
b7e52c632f Hopefully fix compilation (bug ID 28994)
git-svn-id: trunk@32328 -
2015-11-15 11:54:15 +00:00
michael
d00d64021b * Clear memory correctly when setting capacity (bug id 28928)
git-svn-id: trunk@32327 -
2015-11-15 11:15:25 +00:00
michael
e6b86d9b5b * Made string in stringstream constructor optional
git-svn-id: trunk@32326 -
2015-11-15 11:05:19 +00:00
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