Commit Graph

55989 Commits

Author SHA1 Message Date
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
svenbarth
3493579c2d * avoid a warning regarding automatic type conversion of Comp
git-svn-id: trunk@42035 -
2019-05-10 15:49:23 +00:00
svenbarth
c4c47652d4 * missed two usages of SErrCallbackNotImplented
git-svn-id: trunk@42034 -
2019-05-10 15:44:29 +00:00
svenbarth
a0f03ca1b9 - declaring the missing pointer types for the Boolean types is no longer necessary
git-svn-id: trunk@42033 -
2019-05-10 15:27:23 +00:00
svenbarth
46a8afb50d + declare Pointer types for the remaining Boolean types
git-svn-id: trunk@42032 -
2019-05-10 15:25:08 +00:00
svenbarth
496fbb4fc1 * fix typo
git-svn-id: trunk@42031 -
2019-05-10 15:25:05 +00:00
marco
1c583d3e0d * getguiresources + constants, mantis 035546 by 440bx
git-svn-id: trunk@42030 -
2019-05-10 15:21:32 +00:00
marco
6a6436c076 * RealChildWindowFromPoint, mantis 035552 by 440bx
git-svn-id: trunk@42029 -
2019-05-10 15:14:46 +00:00
marco
d80d564a20 * realgetwindowclass, mantis 035551
git-svn-id: trunk@42028 -
2019-05-10 15:11:48 +00:00
marco
d942509db4 * add getshellwindow, by 440bx mantis 035548
git-svn-id: trunk@42027 -
2019-05-10 14:56:09 +00:00
svenbarth
5a5b47fa24 + add support for MultiHelpers modeswitch by Ryan Joseph for Mantis #35159
+ added tests

git-svn-id: trunk@42026 -
2019-05-10 14:04:45 +00:00
svenbarth
0bd1687398 * fix for Mantis #35326 (applied patch by Cyrax): objcopy's --add-gnu-debuglink parameter doesn't handle quoted paths correctly, so quote the whole path
git-svn-id: trunk@42025 -
2019-05-10 12:59:26 +00:00
pierre
83d72bdf19 Use TIOCtlRequest type for local variable nr inside TCSetAttr function
git-svn-id: trunk@42024 -
2019-05-10 07:23:31 +00:00
pierre
aa8a7f5130 Do not use BSD system tar option -I if TARPROG is gtar for OpenBSD
git-svn-id: trunk@42022 -
2019-05-08 09:38:43 +00:00
michael
77fa4aaebd * GetPrimaryIndexFields is now a public class method, needed in designer
git-svn-id: trunk@42021 -
2019-05-07 15:40:00 +00:00
pierre
ebf2e277ab Update syscall number for sparc and sparc64 based on results from unix/scripts/check_sys.sh
git-svn-id: trunk@42019 -
2019-05-07 11:26:44 +00:00
pierre
a7a67f3d3c * Improve handling of command line args setting variables (did not work if it contained spaces)
+ Group all recognized macros into list_defines in preproc.awk file
  + Convert Pascal style hexadecimal constants into C style

git-svn-id: trunk@42018 -
2019-05-07 08:13:38 +00:00
pierre
0a3a35152d Also remove -m32 option for arm native GNU C compiler
git-svn-id: trunk@42017 -
2019-05-06 22:07:49 +00:00
pierre
fae45b2075 Add first linux RTL compliance test file t_linux.h2paschk
git-svn-id: trunk@42016 -
2019-05-06 21:13:42 +00:00