Commit Graph

56514 Commits

Author SHA1 Message Date
Jonas Maebe
f1b66a9741 * fixed LLVM type checking of typed files in ISO mode (fixes webtbs/tw34848)
git-svn-id: branches/debug_eh@42205 -
2019-06-10 13:36:57 +00:00
Jeppe Johansen
0d97dc7965 avr: Fixed some inconsistencies.
git-svn-id: trunk@42204 -
2019-06-10 13:35:38 +00:00
nickysn
2487fa7605 + added set TNewExeSegmentFlags
git-svn-id: trunk@42203 -
2019-06-10 13:06:58 +00:00
Legolas
7c02f2b531 * Nintendo DS port updated to libnds ver.1.7.3
git-svn-id: trunk@42202 -
2019-06-10 06:39:46 +00:00
Legolas
4239742b35 * GBA port updated
git-svn-id: trunk@42201 -
2019-06-09 22:27:16 +00:00
florian
f92b8d1681 * changes shift parameter of shift helpers into ALUUInt, as there is an "and" used anyways, this does not change semantics but reduces register pressure on 8 bit targets
git-svn-id: trunk@42200 -
2019-06-09 21:44:18 +00:00
pierre
14b9032ef2 Use use_tag_types everywhere to get consistent results for 'Tt' versus 't' for stabs for string definitions
git-svn-id: trunk@42199 -
2019-06-09 20:59:06 +00:00
florian
fe99252a9b * lazarus version update
git-svn-id: trunk@42198 -
2019-06-09 20:08:09 +00:00
florian
17c48694a5 * fix bootstrapping with 3.0.x and -O3
git-svn-id: trunk@42197 -
2019-06-09 20:05:21 +00:00
Jonas Maebe
9a327f1fcd * ensure the LLVM-based compiler does not try to load units compiled with a
non-LLVM-base compiler and vice versa (caused internal errors, because
    the LLVM compiler uses different nodes, and these are saved in the PPUs
    for inline routines)

git-svn-id: branches/debug_eh@42196 -
2019-06-08 20:17:10 +00:00
Jonas Maebe
21bc37db44 * place exception handling code in the correct asmlist
git-svn-id: branches/debug_eh@42195 -
2019-06-08 20:17:06 +00:00
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
michael
44987e376d * Unicode string assertequal (removed doubles)
git-svn-id: trunk@42192 -
2019-06-08 14:43:39 +00:00
michael
b3493d1f07 * Unicode string assertequal
git-svn-id: trunk@42191 -
2019-06-08 14:41:09 +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