Commit Graph

56251 Commits

Author SHA1 Message Date
Jonas Maebe
d0be4f11b8 * "on" nodes inherit the exception catching state from the "try"
git-svn-id: branches/debug_eh@42194 -
2019-06-08 20:17:01 +00:00
Jonas Maebe
3f2578a3e3 * don't quote LLVM calling convention name (that will cause it to be ignored)
o fixes tasm10a and tx64ccnv.ll with LLVM

git-svn-id: branches/debug_eh@42193 -
2019-06-08 17:11:20 +00:00
Jonas Maebe
faf75095cd * synchronised with trunk till r42189
git-svn-id: branches/debug_eh@42190 -
2019-06-07 18:24:38 +00:00
Jonas Maebe
1dee4c41dd - removed "cmp 0/1, pasbool1" optimization for llvm because this discards
the upper 7 bits of the boolean, while other platforms take it into
    account (even though they're technically always required to be 0, and
    the value is undefined if they're not)

git-svn-id: trunk@42189 -
2019-06-07 18:17:55 +00:00
nickysn
465e8a99e0 + added type TNewExeAdditionalHeaderFlags
git-svn-id: trunk@42188 -
2019-06-07 14:15:07 +00:00
nickysn
ded3dec22a + added enum TNewExeTargetOS
git-svn-id: trunk@42187 -
2019-06-07 13:09:35 +00:00
pierre
471cb73c5f Add {$goto on} if FPC macro is defined
git-svn-id: trunk@42186 -
2019-06-07 07:55:40 +00:00
svenbarth
fb0f2fbd35 * enable method implementation tests for i386 (interface tests will be ignored however as stdcall/cdecl are not yet provided without an external manager)
git-svn-id: trunk@42185 -
2019-06-06 20:51:57 +00:00
svenbarth
6b7ba589b9 * change fallback implementation of the RTTI memory functions to do nothing so that new platforms are easily detected
git-svn-id: trunk@42184 -
2019-06-06 20:50:46 +00:00
svenbarth
c008adb658 * implement memory allocation functions for Unix platforms using mmap/mprotect/munmap
git-svn-id: trunk@42183 -
2019-06-06 20:49:30 +00:00
svenbarth
f17c689829 + add a size parameter to FreeMemory() as some platforms might need that
git-svn-id: trunk@42182 -
2019-06-06 20:48:30 +00:00
svenbarth
90278f4859 + add fpmprotect function to complete fpmmap/fpmunmap
git-svn-id: trunk@42181 -
2019-06-06 20:46:01 +00:00
svenbarth
1b1f7c60ce + add FreeBSD syscall number for mprotect
git-svn-id: trunk@42180 -
2019-06-06 20:43:53 +00:00
nickysn
4dbccce43c + added TNewExeHeaderFlags type, describing the flags in the header of win16 executables
git-svn-id: trunk@42179 -
2019-06-06 16:00:29 +00:00
Mattias Gaertner
180576d17c fcl-pssrc, pastojs: fixed anonymous proc inside for-loop
git-svn-id: trunk@42177 -
2019-06-06 09:48:04 +00:00
nickysn
914426e703 * fixed an i8086 inline assembler bug, where 'call word ptr [label]' (an
indirect call) was assembled as 'call near label' (direct call) instead of
  'call near [label]' and 'call dword ptr [label]' was assembled as
  'call near label' instead of 'call far [label]'

git-svn-id: trunk@42176 -
2019-06-05 15:49:39 +00:00
pierre
8e5e877417 Fix compilation with release 3.0.4 ppcarm
git-svn-id: trunk@42175 -
2019-06-05 12:00:53 +00:00
michael
109abf3d99 * Fix bug ID #35674, do not create filestream for directories
git-svn-id: trunk@42174 -
2019-06-05 11:42:40 +00:00
michael
a4bf16e176 Fix bug ID #0035672
git-svn-id: trunk@42173 -
2019-06-04 08:31:39 +00:00
michael
b2e47cceb2 * Added constant for new error message in stringlist
git-svn-id: trunk@42172 -
2019-06-04 07:29:53 +00:00
michael
4d1e2c6aa5 * Sort public properties/methods in stringlist
git-svn-id: trunk@42171 -
2019-06-04 07:08:45 +00:00
michael
7c36912eb0 * Better fix for 35660: Introduced TMissingNameValueSeparatorAction
git-svn-id: trunk@42170 -
2019-06-04 07:00:48 +00:00
Jeppe Johansen
750567f8e3 Added T2 form of LDR/STR for SP relative forms.
git-svn-id: trunk@42169 -
2019-06-03 22:10:49 +00:00
michael
de30f7852d * Changed String.Split to conform to behaviour in Delphi Rio (bug ID 35669)
git-svn-id: trunk@42168 -
2019-06-03 06:27:37 +00:00
Jonas Maebe
eab079c7bd * fixed cbool "and" with full boolean evaluation, and cbool "xor"
(mantis #35272)

git-svn-id: trunk@42167 -
2019-06-02 20:04:06 +00:00
Jonas Maebe
dc681a75ec * properly return from the signal handler on ARM/Linux instead of calling
HandleErrorAddrFrame directly (fixes psabieh exception handling, and
    generally is cleaner)

git-svn-id: trunk@42166 -
2019-06-02 18:33:01 +00:00
Jonas Maebe
322a717c44 * support for handling subsetrefs with bitlen > AIntBits in a_load_subsetref_reg() and
a_load_const/reg_subsetref() (needed for handling 32 bit platforms using a purely
    high level code generator like LLVM's, and may also improve the situation for
    16 bit platforms)
   o can probably be optimized to split them into parts that cover partial word loads
     and complete word loads (to reduce useless merging)

git-svn-id: trunk@42165 -
2019-06-02 18:32:58 +00:00
Jeppe Johansen
ee7bc1d516 - Fix compilation on architectures without absolute call/jump instructions.
git-svn-id: trunk@42164 -
2019-06-02 15:50:41 +00:00
Jeppe Johansen
aa4961d06e - Add mov optimization for STS instruction.
git-svn-id: trunk@42163 -
2019-06-02 14:55:30 +00:00
Jeppe Johansen
dee0197890 - Add assembler implementation of integer division, patch by Christo Crause. For now there's a division by zero check added.
- Fix setjmp/longjmp handling on 3 byte PC AVRs.

git-svn-id: trunk@42162 -
2019-06-02 13:14:19 +00:00
Jeppe Johansen
5bdc635f50 Check if the current register was the last in the cgpara, to avoid running over the last register allocated.
git-svn-id: trunk@42159 -
2019-06-02 09:13:19 +00:00
Jeppe Johansen
cba4aeaca5 Fix division of constants on ARM thumb without long multiplication.
git-svn-id: trunk@42158 -
2019-06-01 20:30:09 +00:00
Jeppe Johansen
2f501be2a0 Fixed stack checking for embedded target. Based on work by Christo Crause
git-svn-id: trunk@42157 -
2019-06-01 19:18:31 +00:00
marco
be7b653fef * savetohhp from serbods git repo
git-svn-id: trunk@42156 -
2019-06-01 16:22:18 +00:00
Jeppe Johansen
009c87156a Add assembler implementation of Move.
git-svn-id: trunk@42155 -
2019-06-01 15:39:09 +00:00
Jeppe Johansen
c867d2b7f6 Generalize skip instruction optimization for both sbix and sbrx.
git-svn-id: trunk@42154 -
2019-06-01 15:20:34 +00:00
michael
833e00bfbd * Fix bug #35660, introduce prefervaluestonames
git-svn-id: trunk@42153 -
2019-06-01 09:42:27 +00:00
marco
4f447a4de0 * some more shlwapi translations
git-svn-id: trunk@42152 -
2019-05-31 16:03:06 +00:00
svenbarth
601f0bd6b1 * if the creation of the method implementation raises ENotImplemented we ignore the test as not all calling conventions might be supported currently (e.g. on i386 only "register" is for now)
git-svn-id: trunk@42151 -
2019-05-31 15:41:06 +00:00
svenbarth
4adce9b1bd + add function callback support for the Register calling convention on i386
git-svn-id: trunk@42150 -
2019-05-31 15:41:04 +00:00
nickysn
0f205470bc * set DL=0 in dos.setverify for compatibility with DOS 2.x
git-svn-id: trunk@42149 -
2019-05-31 13:58:19 +00:00
marco
4e70f12027 * strstria* and similar functions. mantis 035582, even though that is about legacy shellapi32
git-svn-id: trunk@42148 -
2019-05-31 12:13:38 +00:00
marco
646d7c2a95 * helper in record to make setting parameters a bit denser.
git-svn-id: trunk@42147 -
2019-05-31 10:40:54 +00:00
marco
9313ddea78 * fix mantis 035656
git-svn-id: trunk@42146 -
2019-05-31 10:32:49 +00:00
olivier
353da84b74 + Added test object files for x86_64-haiku.
git-svn-id: trunk@42145 -
2019-05-31 10:10:05 +00:00
marco
455cb6758f * freetype windows compat patch from Pascal Riekenberg, mantis #35644
git-svn-id: trunk@42144 -
2019-05-31 09:41:28 +00:00
marco
6d65a8f1e3 * mantis #35586
git-svn-id: trunk@42143 -
2019-05-31 09:38:45 +00:00
marco
553da0e126 * some locale support rescued from serbods heavily reformatted github branch
git-svn-id: trunk@42142 -
2019-05-30 21:35:41 +00:00
marco
3d8c5d6eb8 * toplevel name (e.g. "active") is now also redirected.
* cleaned redirection up a bit,

git-svn-id: trunk@42141 -
2019-05-30 21:11:43 +00:00
marco
5ab2ffcdbe * first check for s=''. Strange that this wasn't needed on windows
git-svn-id: trunk@42140 -
2019-05-30 18:40:33 +00:00