Commit Graph

56178 Commits

Author SHA1 Message Date
Jonas Maebe
0cd0e1614b * synchronised with trunk till r42105
git-svn-id: branches/debug_eh@42106 -
2019-05-19 19:24:25 +00:00
Jonas Maebe
23428dbf4c * replaced non-breaking space with space (patch by J. Gareth Moreton,
mantis #35602)

git-svn-id: trunk@42105 -
2019-05-19 19:20:51 +00:00
Jonas Maebe
aad87820e6 * abstracted registration of library init/fini routines (to be able to add
LLVM support)

git-svn-id: trunk@42104 -
2019-05-19 19:20:47 +00:00
Jonas Maebe
a418dc6c91 * made the fields array parameter of llvmgettemprecorddef "const", as it
doesn't get modified and hence doesn't need to be copied

git-svn-id: trunk@42103 -
2019-05-19 19:20:42 +00:00
Jonas Maebe
15532e5277 * disabled low-level hack test for LLVM
git-svn-id: trunk@42102 -
2019-05-19 19:20:38 +00:00
Jonas Maebe
4c34b7b67d * fixed memory leak
git-svn-id: trunk@42101 -
2019-05-19 19:20:34 +00:00
Jonas Maebe
eb0f02348d * fixed loading parent frame pointer for nested procvars on targets that
that use explicit parentfp structs (fixes webtbs/tw17379 for llvm)

git-svn-id: trunk@42100 -
2019-05-19 19:20:29 +00:00
Jonas Maebe
3bee9ab9da * two different specialisations with the same types from different units
still need a type conversion with llvm, as their type identifiers will
    be different

git-svn-id: branches/debug_eh@42097 -
2019-05-18 18:49:05 +00:00
Jonas Maebe
9e9a982bfe * synchronised with trunk till r42095
git-svn-id: branches/debug_eh@42096 -
2019-05-18 18:43:51 +00:00
Jonas Maebe
47812c8a3d * don't double-define function aliases for Darwin defined via ".set" directive
git-svn-id: trunk@42095 -
2019-05-18 18:41:38 +00:00
Jonas Maebe
8ec3cd6390 * append rather than insert the alias symbols for the program/procedure
initialisation/finalisation routines
   o this ensures the procdef's mangled name and its first symbol match,
     which is required for Darwin when generating debug information and
     using ".set" directives to define alias symbols, because a symbol
     defined via ".set" cannot be used in a data relocations (and the DWARF
     debug generator uses the default mangled name, which used to correspond
     to the alias symbol due to the "insert" instead of "append")

git-svn-id: trunk@42094 -
2019-05-18 18:41:33 +00:00
Jonas Maebe
c330f5080c * replaced fpcunit custom code to obtaining a caller site with a call to
CaptureBacktrace (prevents crashes when compiled with LLVM backend,
    and is generally more robust)

git-svn-id: trunk@42093 -
2019-05-18 18:41:29 +00:00
Jonas Maebe
332679e28a * updated German message files (patch by Karl-Michael Schindler,
mantis #35559)

git-svn-id: trunk@42092 -
2019-05-18 12:29:35 +00:00
Jonas Maebe
7e51c5e856 * DFA now takes case-completeness into account (mantis #35598)
git-svn-id: trunk@42091 -
2019-05-18 12:01:41 +00:00
pierre
2ff391c25c Fix arm-aros rtl compilation
git-svn-id: trunk@42090 -
2019-05-17 06:39:57 +00:00
svenbarth
1d6b591872 * add tests for TVirtualInterface
git-svn-id: trunk@42089 -
2019-05-16 21:44:54 +00:00
svenbarth
16d9b5bee9 + add TVirtualInterface which allows to implement a interface with method RTTI by merely providing an event handler
git-svn-id: trunk@42088 -
2019-05-16 21:44:50 +00:00
svenbarth
755e271b4e * fix for Mantis #35566 by applying patch by Martin Friebe: correctly dereference the 32-bit length value for Windows Widestrings
git-svn-id: trunk@42087 -
2019-05-16 20:56:18 +00:00
pierre
fb2a8e23d0 Fix compilation of GDB version 7.12.1
git-svn-id: trunk@42086 -
2019-05-16 12:44:08 +00:00
pierre
c0f064a35c Remove two warnings about missing case (others are still present in ppudump.pp source)
git-svn-id: trunk@42085 -
2019-05-16 12:42:39 +00:00
pierre
8d4588e1b2 Fix compilation of compiler with -dPREPROCWRITE
git-svn-id: trunk@42084 -
2019-05-16 12:17:32 +00:00
pierre
e35110b68c Fix baseunix PPU compilation rule for Haiku
git-svn-id: trunk@42083 -
2019-05-16 11:31:33 +00:00
pierre
902ef73c7c Allways use local pt variable to ameliorate readability of code
git-svn-id: trunk@42082 -
2019-05-16 08:24:45 +00:00
pierre
c8129c5228 Disable 64-bit version of CPU_SOURCE is 32-bit
git-svn-id: trunk@42081 -
2019-05-16 08:21:09 +00:00
nickysn
e0b523ef14 * updated the asm parts of the i386 OpenBSD startup code as well
git-svn-id: trunk@42080 -
2019-05-15 17:16:21 +00:00
nickysn
806b65da6b * also update the startup asm code in prt0.as for OpenBSD x86_64
git-svn-id: trunk@42079 -
2019-05-15 16:24:41 +00:00
nickysn
357d3ca390 - removed cprt0.as from the OpenBSD i386 RTL as well
git-svn-id: trunk@42078 -
2019-05-15 16:13:57 +00:00
nickysn
ef86b3ab29 - delete cprt0.as from the OpenBSD x86_64 startup code, because it's not needed for bootstrapping
git-svn-id: trunk@42077 -
2019-05-15 15:37:51 +00:00
nickysn
058336db40 * invoke _csu_finish before __init the OpenBSD x86_64 C library startup code
git-svn-id: trunk@42076 -
2019-05-15 15:22:54 +00:00
nickysn
77f86d22a5 * updated the parameter list to _FPC_proc___start in the OpenBSD x86_64 startup code
git-svn-id: trunk@42075 -
2019-05-15 14:27:42 +00:00
nickysn
f2719e438c * updated the OpenBSD x86_64 assembly startup code
git-svn-id: trunk@42074 -
2019-05-15 13:52:28 +00:00
svenbarth
45479302c1 - ValueToFFIValue is no longer needed
git-svn-id: trunk@42073 -
2019-05-15 05:29:00 +00:00
svenbarth
5d6a837b63 * also test callbacks for libffi
git-svn-id: trunk@42072 -
2019-05-15 05:28:57 +00:00
svenbarth
9fa4a619d7 + add support for callbacks to the FFI invoke manager
git-svn-id: trunk@42071 -
2019-05-15 05:28:54 +00:00
svenbarth
0d6d3a1529 * for callbacks argument values are not needed, so make the need for aArgValues optional
git-svn-id: trunk@42070 -
2019-05-15 05:28:51 +00:00
svenbarth
1c58ef49f3 * directly use the indirection information instead of calculating it a second time in ValueToFFIValue()
git-svn-id: trunk@42069 -
2019-05-15 05:28:48 +00:00
svenbarth
68c9b83d87 * for callbacks it's needed to know whether an argument is indirect or not
git-svn-id: trunk@42068 -
2019-05-15 05:28:45 +00:00
svenbarth
5516bcb266 * move check for argument/result indirection to separate function
git-svn-id: trunk@42067 -
2019-05-15 05:28:42 +00:00
svenbarth
ea270d9800 * move creation of the CIF object to a separate function in preparation for callbacks
git-svn-id: trunk@42066 -
2019-05-15 05:28:39 +00:00
svenbarth
f6ca44292f * move SErrMethodImplCreateFailed to interface
git-svn-id: trunk@42065 -
2019-05-15 05:28:36 +00:00
Jonas Maebe
ad6897ffd8 * fixed Darwin/AArch64 flt/int-div-by-zero error codes (fix for 42045, as
noted by AlexeyT)

git-svn-id: trunk@42064 -
2019-05-14 19:19:19 +00:00
Jonas Maebe
cf9596421b * fixed crashes on platforms using parentfpstructs with generic routines
that contain nested functions (when specialised, procedures don't have
    the main function of the unit/program as parent procinfo)

git-svn-id: trunk@42063 -
2019-05-14 19:19:14 +00:00
michael
167ca93d25 * Patch from Ondrej to remove unnecessary overload keywords
git-svn-id: trunk@42062 -
2019-05-14 08:36:52 +00:00
pierre
0961e49919 Add new files required to fix RTL compilation for macos target
git-svn-id: trunk@42061 -
2019-05-14 04:31:36 +00:00
pierre
090074276e Fix RTL compilation for macos target
git-svn-id: trunk@42060 -
2019-05-14 04:29:24 +00:00
Jonas Maebe
b291d17fc5 * fix overflow errors in case coverage code
git-svn-id: trunk@42059 -
2019-05-13 20:30:28 +00:00
michael
6649fab22d * Fix bug ID #0035580
git-svn-id: trunk@42058 -
2019-05-13 20:23:50 +00:00
michael
e4385d1b19 * Fix bug ID #35576
git-svn-id: trunk@42057 -
2019-05-13 20:15:00 +00:00
michael
dc592a888f * Make explicit that Integer is 32-bit
git-svn-id: trunk@42056 -
2019-05-13 11:47:46 +00:00
Jonas Maebe
d74b0843df * set null-pointer-is-valid attribute on functions, so that LLVM does not
optimise provable accesses to null as undefined behaviour (requires
    LLVM/Clang 7.0 or later)

git-svn-id: branches/debug_eh@42055 -
2019-05-12 21:09:44 +00:00