Commit Graph

56600 Commits

Author SHA1 Message Date
pierre
754b1bd930 Add PPUDUMP variable to be able to specify explicit version of ppudump program, defaulting to ppudump executable in SEARCHPATH
git-svn-id: trunk@42580 -
2019-08-05 08:10:02 +00:00
pierre
d6c5a1799c Avoid range check error when compiled -Criot option
git-svn-id: trunk@42579 -
2019-08-05 06:47:51 +00:00
Mattias Gaertner
16752a8fba fcl-passrc: resolver: specialize proc implementation
git-svn-id: trunk@42578 -
2019-08-04 17:21:48 +00:00
Mattias Gaertner
5e81d57f39 pastojs: test generic empty class
git-svn-id: trunk@42577 -
2019-08-03 19:08:33 +00:00
Mattias Gaertner
be1fdc4667 fcl-passrc: pass TypeParams when creating type, and resolve forward generic class
git-svn-id: trunk@42576 -
2019-08-03 19:08:05 +00:00
Jonas Maebe
6b9f2114f1 * test from mantis #35897, already fixed
git-svn-id: trunk@42575 -
2019-08-03 13:52:46 +00:00
Jonas Maebe
46afcbb362 * an incomplete case statement is not an error in ISO Pascal (mantis #35910)
* give a compile-time error in ISO/Extended Pascal if the compiler can prove
    the case selector value is not handled, and a warning in other modes
    (mantis #35915)
   o trigger the case node simplification at the end of the case node typecheck
     pass, like for other nodes

git-svn-id: trunk@42574 -
2019-08-03 13:47:27 +00:00
Jonas Maebe
ce598c15ec * factored out the conditions under which add nodes need to perform
overflow checks
   o in particular ensure that cpu-specific overrides don't perform overflow
     checks when nf_internal is set

git-svn-id: trunk@42573 -
2019-08-03 12:19:50 +00:00
nickysn
c70f2c63cd + set the initial SS:SP in the NewExe header
git-svn-id: trunk@42572 -
2019-08-03 01:04:32 +00:00
nickysn
dbafff24fe + fill the program entry point address in the NewExe header
git-svn-id: trunk@42571 -
2019-08-03 00:59:02 +00:00
nickysn
901dde5fa5 + fill the auto data segment number in the NewExe header
git-svn-id: trunk@42570 -
2019-08-03 00:42:56 +00:00
nickysn
34b3af7e92 * reset CurrMemPos after each NewExeSection to ensure each segment starts at 0 offset
git-svn-id: trunk@42569 -
2019-08-02 23:22:59 +00:00
nickysn
868030b3fe + adapted TOmfObjSection.MemPosStr to output segment:offset for NewExe executables
git-svn-id: trunk@42568 -
2019-08-02 23:01:39 +00:00
nickysn
2c176be2fd + adapted TOmfObjSymbol.AddressStr to show correct segment:offset for NewExe files as well
git-svn-id: trunk@42567 -
2019-08-02 22:47:44 +00:00
nickysn
b739d79f9b * combine the data, bss, stack and heap into the same NewExe segment
git-svn-id: trunk@42566 -
2019-08-02 16:53:16 +00:00
nickysn
1258439767 + added an TNewExeSection.MemPosStr override that outputs a segment:offset string
git-svn-id: trunk@42565 -
2019-08-02 16:14:54 +00:00
nickysn
3ebcef32ba + introduced TExeSection.MemPosStr - a virtual method for converting the
section's memory position to string for the linker map file. This can be
  overriden e.g. for segmented exe formats.

git-svn-id: trunk@42564 -
2019-08-02 16:05:37 +00:00
nickysn
8e436e6335 + add a segment number (MemBasePos) to TNewExeSection
git-svn-id: trunk@42563 -
2019-08-02 14:47:19 +00:00
nickysn
30e7406be3 * override MemPos_Start for the NewExe exe output and perform the whole MemPos
stage inside of it, because the linker script contains only dummy section
  names and thus none of the sections get their MemPos set, while using the
  default implementation

git-svn-id: trunk@42562 -
2019-08-02 14:32:40 +00:00
nickysn
c32ddf42eb * create NewExe sections, corresponding to 64kb segments
git-svn-id: trunk@42561 -
2019-08-02 14:20:02 +00:00
svenbarth
6952ab5baf * fix for Mantis #35918: don't set the mangledname for the attribute's constructor function; let the compiler do its job instead
git-svn-id: trunk@42560 -
2019-08-02 14:07:17 +00:00
svenbarth
3d585db43d * fix for Mantis #35906: use more accurate modified time from the FindData on Windows for the Timestamp
git-svn-id: trunk@42559 -
2019-08-02 13:16:17 +00:00
svenbarth
7809930b08 * fix for Mantis #35903: apply patch by J. Gareth Moreton to update the copyright year to 2019
git-svn-id: trunk@42558 -
2019-08-02 13:16:14 +00:00
svenbarth
50fec47b9a * fix for Mantis #35919: apply patch by Maciej Izak
git-svn-id: trunk@42557 -
2019-08-02 13:16:09 +00:00
svenbarth
e8a7661bcf * fix for Mantis #35921: apply patch by Maciej Izak
git-svn-id: trunk@42556 -
2019-08-02 13:16:07 +00:00
pierre
3195b64599 Add .NOTPARALLEL for beos and haiku RTLs
git-svn-id: trunk@42555 -
2019-08-02 11:21:43 +00:00
nickysn
83afeb2e93 + added dummy overrides for TInternalLinkerWin16.GetCodeSize, .GetDataSize and
.GetBssSize, because the default ones crash

git-svn-id: trunk@42554 -
2019-08-01 16:49:08 +00:00
nickysn
5d01d53a96 * don't crash in TOmfObjSection.MemPosStr if MZExeUnifiedLogicalSegment isn't set
git-svn-id: trunk@42553 -
2019-08-01 16:44:46 +00:00
nickysn
93a08aaebd + write the NewExe header in TNewExeOutput.writeData
git-svn-id: trunk@42552 -
2019-08-01 16:43:39 +00:00
nickysn
d10fb705e4 + added an TNewExeOutput.Order_ObjSectionList override and sort obj sections by
class name first, then by name, then by initial order

git-svn-id: trunk@42551 -
2019-08-01 15:52:19 +00:00
pierre
b768673e96 Also recompile rtl using FPCFPMAKE before bootstrapping in fpmkunit directory (helps for cross-compilation)
git-svn-id: trunk@42550 -
2019-08-01 14:59:52 +00:00
pierre
d6d3e171ce Try to fix alignment issues in RTTI code for 64-bit targets which require proper alignment
git-svn-id: trunk@42549 -
2019-08-01 14:46:56 +00:00
Jonas Maebe
62218e823f * synchronised with r442 of the universal interfaces:
o fixed iOS/simulator compilation

git-svn-id: trunk@42548 -
2019-07-31 19:30:51 +00:00
nickysn
2c4c34ef9b + split the win16 executable into sections
git-svn-id: trunk@42547 -
2019-07-31 15:09:02 +00:00
nickysn
05c420fad5 + create a TNewExeSection class
git-svn-id: trunk@42546 -
2019-07-31 13:47:14 +00:00
nickysn
83861799ae + also add and resolve import symbols coming from OMF object modules
git-svn-id: trunk@42545 -
2019-07-31 13:32:43 +00:00
Mattias Gaertner
583ec13074 fcl-passrc: resolve specialized class
git-svn-id: trunk@42544 -
2019-07-31 11:09:39 +00:00
nickysn
d77a8fb5f4 + call TOmfObjData.AddImportSymbol for every ImpDef record read from an object file
git-svn-id: trunk@42543 -
2019-07-31 01:19:51 +00:00
nickysn
fcb6072fae + added method TOmfObjData.AddImportSymbol, which adds symbols, imported from an
external dll to TOmfObjData.ImportLibraryList (similar to
  TInternalLinker.AddImportSymbol)

git-svn-id: trunk@42542 -
2019-07-31 01:12:00 +00:00
nickysn
d2371f4176 + added an ImportLibraryList property to TOmfObjData
git-svn-id: trunk@42541 -
2019-07-31 01:05:53 +00:00
florian
99f92ce5dd * insert FPC_THROWFPUEXCEPTION call into the correct assembler list
git-svn-id: trunk@42540 -
2019-07-30 21:04:32 +00:00
florian
26acc8fb2a * make stack non executable on arm-linux
git-svn-id: trunk@42539 -
2019-07-30 21:04:31 +00:00
florian
bdd4b6691e * fix test for arm
git-svn-id: trunk@42538 -
2019-07-30 21:04:30 +00:00
florian
9560d63e42 * test needs exception checking
git-svn-id: trunk@42537 -
2019-07-30 21:04:29 +00:00
florian
46bac33a2d + fpu_capabilities for arm
* some code converted to use fpu_capabilities

git-svn-id: trunk@42536 -
2019-07-30 21:04:28 +00:00
nickysn
2b6ee838f9 + implemented TNewExeOutput.GenerateLibraryImports, based on the ogcoff implementation
git-svn-id: trunk@42535 -
2019-07-30 16:34:41 +00:00
Mattias Gaertner
aa7eb7bce3 fcl-passrc: typecast nil to class, interface, dynarray
git-svn-id: trunk@42534 -
2019-07-30 15:36:28 +00:00
nickysn
99af7f2781 * set sharedlibext for win16 to '.dll'
git-svn-id: trunk@42533 -
2019-07-30 15:27:44 +00:00
Mattias Gaertner
a363b64e1f fcl-passrc: resolve generic delphi record
git-svn-id: trunk@42532 -
2019-07-30 15:25:22 +00:00
Jeppe Johansen
1b698d319f - Fix bug in software overflow checking for longint's.
- AVR: Fix overflow checking for HW multiplications

git-svn-id: trunk@42531 -
2019-07-30 13:42:26 +00:00