Commit Graph

56771 Commits

Author SHA1 Message Date
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
pierre
dca8147958 Try to fix ppudump for generic/inline.
* entfile.pas: Differenciate ibsymtableoptions and ibrecsymtableoptions.
   * ppu.pas: Increase ppu unit CurrentPPULongVersion value.
   * utils/ppuutils/ppudump.pp: Add current_symtable_options variable.
     Change readsymtableoptions from procedure to function returning
     the new tsymtableoptions.

git-svn-id: trunk@42530 -
2019-07-29 16:40:58 +00:00
Mattias Gaertner
a84eae8c2e fcl-passrc: parse delphi generic arrays
git-svn-id: trunk@42529 -
2019-07-29 14:19:50 +00:00
pierre
92f085fdd9 Try to fix bug introduced in previous commit #42527, hopefully fixing bug report 35902
git-svn-id: trunk@42528 -
2019-07-29 11:54:27 +00:00
pierre
f2b200e4f0 Fix recordtoken writing into ppu files to allow correct
handling in cross-configuration with different endianess.

  The code has been modified to use the same scheme as the writing of
  the other parts of the ppu, i.e. change_endian filed has been
  added also to tscannerfile class of scanner unit.
  This field is then used to swap values that required endianess
  conversion.

  * scanner.pas: change_endian filed added to tscannerfile class.
    The value of this field is set as the same field in tentryfile class of entfile unit.
    Token read and write methods converted to use change_endian field.

  * ppu.pas: Increase CurrentPPILongVersion

  * utils/ppuutils/ppudump.pp: Remove unneeded FPC_BIG_ENDIAN code
    which was needed because tokens were previously written using a
    different rule.

git-svn-id: trunk@42527 -
2019-07-29 05:33:00 +00:00
florian
3ef319c0b0 * compilation of tests on 32 bit targets fixed, using while loops so keeping the type sizes
git-svn-id: trunk@42526 -
2019-07-28 21:06:37 +00:00
florian
b3ed34592f + software handling of exceptions on arm
* reworked software handling of exceptions so they can be check lazily

git-svn-id: trunk@42525 -
2019-07-28 21:06:36 +00:00
Mattias Gaertner
847ac91d1d pastojs: skip generic type
git-svn-id: trunk@42524 -
2019-07-28 20:17:12 +00:00
Mattias Gaertner
a2e96cd459 fcl-passrc: useanalyzer: specializetype
git-svn-id: trunk@42523 -
2019-07-28 20:16:42 +00:00
svenbarth
811d39d995 * correctly align the stream on targets that require proper alignment
git-svn-id: trunk@42522 -
2019-07-28 19:50:33 +00:00
svenbarth
0b3418e978 * use the size of the generated anonymous record instead of the manual tracked size so that any padding is picked up as well
git-svn-id: trunk@42521 -
2019-07-28 19:50:30 +00:00
svenbarth
8fc5c9edb2 * fix compilation of tests on 32-bit systems (doesn't (shouldn't?) change their behavior)
git-svn-id: trunk@42520 -
2019-07-28 19:26:51 +00:00
Jeppe Johansen
f72342ed0e AVR: Add support for using nostackframe in interrupt routines.
git-svn-id: trunk@42519 -
2019-07-28 16:46:13 +00:00
Mattias Gaertner
e141899299 fcl-passrc: fixed tests
git-svn-id: trunk@42518 -
2019-07-28 14:27:11 +00:00
Mattias Gaertner
0da626fd1b fcl-passrc: resolver: specialize simple record
git-svn-id: trunk@42517 -
2019-07-28 14:12:28 +00:00
florian
1a67ffdd22 * fix alignment of ParamList
* fix test for architectures using aligned rtti

git-svn-id: trunk@42516 -
2019-07-28 12:43:15 +00:00
Jonas Maebe
911a59a721 * cocoaint: fixed signature of IOBluetoothGetObjectIDFromArguments()
git-svn-id: trunk@42515 -
2019-07-28 12:21:44 +00:00
Jonas Maebe
277db0d62e * fixed NSApplicationMain() signature
git-svn-id: trunk@42514 -
2019-07-28 12:03:50 +00:00
Jonas Maebe
b0683edfcb * simplified random(int64) code
git-svn-id: trunk@42513 -
2019-07-28 12:03:46 +00:00
Jonas Maebe
3fb7c19482 - removed tests as modern Delphi versions behave differently (mantis #35886)
git-svn-id: trunk@42512 -
2019-07-28 12:03:40 +00:00
florian
23585ded15 * fix access to ParamFlags of the tkMethod branch of type data for CPUs requiring proper alignment
git-svn-id: trunk@42511 -
2019-07-28 11:55:19 +00:00
Jeppe Johansen
91016c97a4 AVR: Add optimizations for sign testing, and a better Abs() implementation.
git-svn-id: trunk@42510 -
2019-07-28 11:16:37 +00:00
Jonas Maebe
bf71795324 * fixed make install for cocoaint
git-svn-id: trunk@42509 -
2019-07-28 11:15:02 +00:00
Jonas Maebe
789f288771 * fixed distribution of random(int64) based on patch by Pangea
(mantis #35878)

git-svn-id: trunk@42508 -
2019-07-28 11:14:58 +00:00
Jonas Maebe
1da43f67d4 * (non-ancient) Delphi versions that accept explicit ordinal -> floating
point typecasts behave the same as FPC (convert the value) rather than
    as Turbo Pascal (reinterpret the bit pattern) (mantis #35886)

git-svn-id: trunk@42507 -
2019-07-28 11:14:54 +00:00
Mattias Gaertner
62ee766b42 pastojs: fixed compile with pas2js
git-svn-id: trunk@42506 -
2019-07-27 11:22:10 +00:00
Mattias Gaertner
c9430a0bd7 pastojs: added tests for jsvalue<->record
git-svn-id: trunk@42505 -
2019-07-27 11:17:51 +00:00
Mattias Gaertner
4e22f7a2ec pas2js: rtl: set TObject.$ancestor
git-svn-id: trunk@42504 -
2019-07-27 11:17:25 +00:00