Commit Graph

56007 Commits

Author SHA1 Message Date
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
883d1f2a79 - removed test that shortstring is aligned to a multiple of pointer size,
as the compiler does not guarantee any such thing

git-svn-id: trunk@42053 -
2019-05-12 21:08:42 +00:00
Jonas Maebe
0227c55b53 - removed explicit linking of ptest.o, as that happens already automatically
due to the "uses ptest" and breaks LTO (then both ptest.o and ptest.bc
    get linked, resulting in duplicate symbols)

git-svn-id: trunk@42052 -
2019-05-12 21:08:39 +00:00
michael
fdccb0d62f * FIx compilation with 3.0.4
git-svn-id: trunk@42049 -
2019-05-12 15:36:04 +00:00
michael
58f1a8513b * FIx compilation for platforms that do not have extended
git-svn-id: trunk@42048 -
2019-05-12 15:33:26 +00:00
Jonas Maebe
ba1b4b1c92 + support for verifying whether a case statements handles all possibilities
(based on patch by Martok)
   o enabled by default in ISO and Extended Pascal: compile-time error if not
     the case in ISO mode, warning and run-time error in Extended Pascal mode
   o warning enabled by default in all other modes for boolean, enumeration and
     subrange integer types with ranges different from the default ones
     (i.e., different from 0..255, -128..127, 0..65536, etc)
   o warnings for all ordinal types can be enabled in all modes with
     -CC

git-svn-id: trunk@42047 -
2019-05-12 14:29:11 +00:00
Jonas Maebe
281b3ad276 * fix case completeness and unreachable code warnings in compiler that would
be introduced by the next commit

git-svn-id: trunk@42046 -
2019-05-12 14:29:03 +00:00
Jonas Maebe
5c20481c7b * fixed floating point div-by-zero RTE code on Darwin (208 instead of 200,
fixes webtbs/tw32671)

git-svn-id: trunk@42045 -
2019-05-12 14:28:55 +00:00
Jonas Maebe
f76cde1c4c * set correct fileinfo for statements_til_end() block
git-svn-id: trunk@42044 -
2019-05-12 14:28:52 +00:00
marco
f5e684067d * turn off MB_PRECOMPOSED for encodings named in MSDN multibytetowidechar function, as detailed by Aserge in https://forum.lazarus.freepascal.org/index.php?topic=45380.0;topicseen
git-svn-id: trunk@42043 -
2019-05-12 14:18:36 +00:00
michael
60efc9e81c * Add Read/Write(Buffer) TBytes, ReadData/WriteData, ReadBufferData/WriteBufferData to be Delphi compatible
git-svn-id: trunk@42042 -
2019-05-12 10:09:16 +00:00
michael
e958438fc9 * Add largeint (int64) parameter supportby Silvio Clecio (bug ID 35554)
git-svn-id: trunk@42041 -
2019-05-12 07:54:02 +00:00
michael
43da09722c * Patch from Ondrej Pokorny to fix bug ID #35544 (accept short timezones)
git-svn-id: trunk@42040 -
2019-05-12 07:51:38 +00:00
svenbarth
faaa9f94fa * addstringdef() now correctly declares the debug information for a Windows WideString, so use that instead of treating it merely like a PWideChar
git-svn-id: trunk@42039 -
2019-05-11 15:38:59 +00:00
svenbarth
e769233436 * fix for Mantis #35386: use the correct size for the string's length (SizeInt for Ansi-/UnicodeString and DWord for WideString)
git-svn-id: trunk@42038 -
2019-05-11 15:38:56 +00:00
svenbarth
1349f1db03 * fix for Mantis #35359: only WideString counts the size in Byte, UnicodeString uses the size in WideChars
git-svn-id: trunk@42037 -
2019-05-11 15:38:51 +00:00
svenbarth
251c559662 * fix for Mantis #35533: when searching for helpers on types that usually don't support a point operator, don't use automatic dereferentiation
+ added tests

git-svn-id: trunk@42036 -
2019-05-10 20:56:41 +00:00