r46953
* fix for Mantis #37806: allow undefineddefs for Include() and Exclude() + added tests
---------------------
r46218
* fix for Mantis #37187: inside generics the constant code in pexpr does not handle all cases and thus current_procinfo needs to be checked as well + added test
---------------------
r45645
* correctly set the generic related defoptions for an outlined procdef
---------------------
r45458
* make more use of is_typeparam
---------------------
r45457
* constrained type parameters are not undefined defs, resolves#37107
---------------------
r44188
* keep track of the fileposinfo for generic constraints
---------------------
r44172
* only resolve a dummy symbol if it is a type symbol (thus truly a dummy symbol) + added tests
---------------------
git-svn-id: branches/fixes_3_2@47802 -
* fix for Mantis #34332: allow 2 parameter form of Copy also for ShortString variables
+ added test
........
* have the fpc_*_copy compiler intrinsics reference the intrinsic symbol they belong to
........
* fix for Mantis #34333: improve error output for incorrect calls to Copy()
........
git-svn-id: branches/fixes_3_2@47586 -
------------------------------------------------------------------------
r39997 | pierre | 2018-10-20 18:11:25 +0000 (Sat, 20 Oct 2018) | 1 line
Also fix first_abs_real like in rev 39988
------------------------------------------------------------------------
--- Merging r39997 into '.':
U compiler/ninl.pas
--- Recording mergeinfo for merge of r39997 into '.':
U .
git-svn-id: branches/fixes_3_2@46555 -
------------------------------------------------------------------------
r39991 | florian | 2018-10-20 10:18:45 +0000 (Sat, 20 Oct 2018) | 2 lines
* same fix as in r39988 for fpc_first_sqrt
------------------------------------------------------------------------
--- Merging r39991 into '.':
U compiler/ninl.pas
--- Recording mergeinfo for merge of r39991 into '.':
U .
git-svn-id: branches/fixes_3_2@46285 -
------------------------------------------------------------------------
r39988 | pierre | 2018-10-19 23:04:55 +0000 (Fri, 19 Oct 2018) | 1 line
Fix wrong explicit typecast that lead to memory corruption in first_sqr_real
------------------------------------------------------------------------
--- Merging r39988 into '.':
U compiler/ninl.pas
--- Recording mergeinfo for merge of r39988 into '.':
U .
git-svn-id: branches/fixes_3_2@46238 -
checks for fpu exceptions for arm and aarch64.
------------------------------------------------------------------------
r42525 | florian | 2019-07-28 21:06:36 +0000 (Sun, 28 Jul 2019) | 2 lines
+ software handling of exceptions on arm
* reworked software handling of exceptions so they can be check lazily
------------------------------------------------------------------------
--- Merging r42525 into '.':
U compiler/arm/cgcpu.pas
U compiler/arm/narmadd.pas
U compiler/arm/narminl.pas
U compiler/arm/narmmat.pas
U compiler/ncgcal.pas
U compiler/procinfo.pas
U rtl/arm/arm.inc
--- Recording mergeinfo for merge of r42525 into '.':
U .
Summary of conflicts:
Tree conflicts: 1
------------------------------------------------------------------------
r42891 | florian | 2019-09-01 17:26:11 +0000 (Sun, 01 Sep 2019) | 1 line
+ support for software floating point exception handling on AArch64 (-CE)
------------------------------------------------------------------------
--- Merging r42891 into '.':
U compiler/aarch64/cgcpu.pas
U compiler/aarch64/ncpuadd.pas
U compiler/aarch64/ncpuinl.pas
U compiler/aarch64/ncpumat.pas
U rtl/aarch64/aarch64.inc
U rtl/aarch64/math.inc
U rtl/aarch64/mathu.inc
--- Recording mergeinfo for merge of r42891 into '.':
G .
git-svn-id: branches/fixes_3_2@46225 -
U compiler/ninl.pas
--- Recording mergeinfo for merge of r40180 into '.':
U .
--- Merging r40216 into '.':
U compiler/htypechk.pas
G compiler/ninl.pas
U tests/tbf/tb0258.pp
A tests/tbf/tb0259.pp
A tests/tbf/tb0260.pp
A tests/tbs/tb0653.pp
--- Recording mergeinfo for merge of r40216 into '.':
G .
--- Merging r40217 into '.':
U compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r40217 into '.':
G .
--- Merging r40218 into '.':
G compiler/systems/t_bsd.pas
--- Recording mergeinfo for merge of r40218 into '.':
G .
git-svn-id: branches/fixes_3_2@44000 -
------------------------------------------------------------------------
r42337 | laksen | 2019-07-07 14:37:45 +0000 (Sun, 07 Jul 2019) | 1 line
- Fix result type of SizeOf and BitSizeOf to use sizesint instead of sint.
------------------------------------------------------------------------
--- Merging r42337 into '.':
U compiler/ninl.pas
U compiler/pexpr.pas
--- Recording mergeinfo for merge of r42337 into '.':
U .
git-svn-id: branches/fixes_3_2@43514 -
C compiler/nmat.pas
--- Recording mergeinfo for merge of r43347 into '.':
G .
--- Merging r43436 into '.':
U compiler/defutil.pas
U compiler/nadd.pas
U compiler/ncnv.pas
U compiler/ncon.pas
U compiler/ngtcon.pas
U compiler/ninl.pas
G compiler/nmat.pas
U compiler/nutils.pas
U compiler/pstatmnt.pas
--- Recording mergeinfo for merge of r43436 into '.':
G .
--- Merging r43438 into '.':
A tests/test/tinlrange1.pp
A tests/test/tinlrange2.pp
A tests/test/tinlrange3.pp
--- Recording mergeinfo for merge of r43438 into '.':
G .
--- Merging r43451 into '.':
U tests/test/tinlrange1.pp
--- Recording mergeinfo for merge of r43451 into '.':
G .
--- Merging r43497 into '.':
C compiler/nmat.pas
A tests/test/tinlrange4.pp
--- Recording mergeinfo for merge of r43497 into '.':
G .
git-svn-id: branches/fixes_3_2@43498 -
U compiler/blockutl.pas
U compiler/jvm/njvmutil.pas
U compiler/jvm/pjvm.pas
U compiler/ncal.pas
U compiler/ninl.pas
U compiler/pdecl.pas
U compiler/pdecsub.pas
U compiler/pdecvar.pas
U compiler/pexpr.pas
U compiler/pgenutil.pas
U compiler/pmodules.pas
U compiler/pparautl.pas
U compiler/pstatmnt.pas
U compiler/psub.pas
U compiler/psystem.pas
U compiler/ptype.pas
U compiler/symcreat.pas
U compiler/symdef.pas
U compiler/symsym.pas
U compiler/symutil.pas
--- Recording mergeinfo for merge of r42998 into '.':
U .
--- Merging r43116 into '.':
G compiler/symsym.pas
A tests/webtbf/tw36114.pp
--- Recording mergeinfo for merge of r43116 into '.':
G .
# revisions: 42998,43116
git-svn-id: branches/fixes_3_2@43442 -
U compiler/defutil.pas
A tests/webtbf/tw35671.pp
-- Aufzeichnung der Informationen für Zusammenführung von r42272 in ».«:
U .
-- Zusammenführen von r42274 in ».«:
U compiler/cgbase.pas
-- Aufzeichnung der Informationen für Zusammenführung von r42274 in ».«:
G .
-- Zusammenführen von r42275 in ».«:
U compiler/defcmp.pas
C compiler/defutil.pas
U compiler/ncnv.pas
U compiler/ncon.pas
U compiler/ngtcon.pas
U compiler/ninl.pas
U compiler/pstatmnt.pas
A tests/webtbf/tw35753.pp
-- Aufzeichnung der Informationen für Zusammenführung von r42275 in ».«:
G .
git-svn-id: branches/fixes_3_2@43367 -
A tests/webtbs/tw33607.pp
U compiler/aarch64/hlcgcpu.pas
--- Recording mergeinfo for merge of r40512 into '.':
U .
--- Merging r40566 into '.':
U compiler/aarch64/cpupara.pas
--- Recording mergeinfo for merge of r40566 into '.':
G .
--- Merging r40567 into '.':
G compiler/aarch64/cpupara.pas
--- Recording mergeinfo for merge of r40567 into '.':
G .
--- Merging r40573 into '.':
G compiler/aarch64/cpupara.pas
--- Recording mergeinfo for merge of r40573 into '.':
G .
--- Merging r40629 into '.':
U compiler/ncnv.pas
U compiler/llvm/nllvmcnv.pas
--- Recording mergeinfo for merge of r40629 into '.':
G .
--- Merging r40637 into '.':
U compiler/ncon.pas
A tests/webtbs/tw33666.pp
--- Recording mergeinfo for merge of r40637 into '.':
G .
--- Merging r40729 into '.':
U compiler/ncal.pas
U compiler/jvm/njvminl.pas
U compiler/ninl.pas
--- Recording mergeinfo for merge of r40729 into '.':
G .
git-svn-id: branches/fixes_3_2@40735 -
40307
40309
40314
40319
40322
40324
40326
40377
40378 from trunk to fixes_3_2
------------------------------------------------------------------------
r40277 | pierre | 2018-11-08 20:18:30 +0000 (Thu, 08 Nov 2018) | 1 line
Implement mark_write override for tinilinenode
------------------------------------------------------------------------
--- Merging r40277 into '.':
U compiler/ninl.pas
--- Recording mergeinfo for merge of r40277 into '.':
U .
------------------------------------------------------------------------
r40307 | pierre | 2018-11-13 15:10:21 +0000 (Tue, 13 Nov 2018) | 6 lines
+ Introduce PPC_SUFFIXES, new make variable that lists all ppc suffixes
for all different CPUs supported.
* Use PPC_SUFFIXES in execlean and CPU_clean targets.
* Also delete CPU/bin subbirectory.
------------------------------------------------------------------------
--- Merging r40307 into '.':
U compiler/Makefile
U compiler/Makefile.fpc
--- Recording mergeinfo for merge of r40307 into '.':
G .
------------------------------------------------------------------------
r40309 | pierre | 2018-11-13 15:51:32 +0000 (Tue, 13 Nov 2018) | 1 line
Try to avoid expectloc not set after first pass error for call node
------------------------------------------------------------------------
--- Merging r40309 into '.':
U compiler/ncal.pas
--- Recording mergeinfo for merge of r40309 into '.':
G .
------------------------------------------------------------------------
r40314 | pierre | 2018-11-14 13:13:19 +0000 (Wed, 14 Nov 2018) | 4 lines
* Change first parameter type of function is_continuous_maks to aword type.
Add typecasts where needed to allow for successful compilation of arm-linux target
with -CriotR options when building the compiler.
------------------------------------------------------------------------
--- Merging r40314 into '.':
U compiler/arm/cpubase.pas
U compiler/arm/cgcpu.pas
--- Recording mergeinfo for merge of r40314 into '.':
G .
------------------------------------------------------------------------
r40319 | pierre | 2018-11-15 16:58:40 +0000 (Thu, 15 Nov 2018) | 1 line
Disable range check in m68k:tiscv32 and riscv64 cgcpu units
------------------------------------------------------------------------
--- Merging r40319 into '.':
C compiler/riscv64
U compiler/m68k/cgcpu.pas
C compiler/riscv32
--- Recording mergeinfo for merge of r40319 into '.':
G .
Summary of conflicts:
Tree conflicts: 2
------------------------------------------------------------------------
r40322 | pierre | 2018-11-15 22:01:25 +0000 (Thu, 15 Nov 2018) | 1 line
Also disable range checking in arm/aoptcpu unit
------------------------------------------------------------------------
--- Merging r40322 into '.':
U compiler/arm/aoptcpu.pas
--- Recording mergeinfo for merge of r40322 into '.':
G .
------------------------------------------------------------------------
r40324 | pierre | 2018-11-16 10:27:42 +0000 (Fri, 16 Nov 2018) | 4 lines
* Disable range check for m68k/aoptcpu unit
* Add missing change of var parameter p to next instruction
in TryToOptimizeMove method after instruction removal.
------------------------------------------------------------------------
--- Merging r40324 into '.':
U compiler/m68k/aoptcpu.pas
--- Recording mergeinfo for merge of r40324 into '.':
G .
------------------------------------------------------------------------
r40326 | pierre | 2018-11-16 13:28:26 +0000 (Fri, 16 Nov 2018) | 1 line
Change local variables offsetdec and extraoffset type to ASizeInt
------------------------------------------------------------------------
--- Merging r40326 into '.':
U compiler/ncgmem.pas
--- Recording mergeinfo for merge of r40326 into '.':
G .
------------------------------------------------------------------------
r40377 | pierre | 2018-11-27 10:19:36 +0000 (Tue, 27 Nov 2018) | 1 line
Fix bug report 34605 and add corresponding test
------------------------------------------------------------------------
--- Merging r40377 into '.':
A tests/webtbs/tw34605.pp
U compiler/nutils.pas
--- Recording mergeinfo for merge of r40377 into '.':
G .
------------------------------------------------------------------------
r40378 | pierre | 2018-11-27 10:21:37 +0000 (Tue, 27 Nov 2018) | 1 line
Avoid range errors or overflows on for AVR cpu, when computing address offsets
------------------------------------------------------------------------
--- Merging r40378 into '.':
U compiler/ncgset.pas
U compiler/ngtcon.pas
--- Recording mergeinfo for merge of r40378 into '.':
G .
git-svn-id: branches/fixes_3_2@40716 -
checking is on, when handling the inc/dec inline nodes, instead of using
current_settings.localswitches
* when creating inline nodes in the optloadmodifystore optimization pass, copy
localswitches from the node, that is being replaced, because otherwise,
localswitches is copied from current_settings.localswitches at the time the
new node is created, and that can already be in a different state, since
optloadmodifystore is performed in a separate pass, after the current
procedure has already been parsed and in this moment, it reflects the state
of localswitches after the end of the procedure.
* these two fixes fix a bug, where an internalerror 2017032701 can happen, when
compiling with -O3 code that turns on and off range/overflow checking in the
middle of a procedure.
git-svn-id: trunk@36195 -
* compinnr.inc include file converted to a unit
* inline number field size stored in ppu increased from byte to longint
* inlines in the parse tree (when written with the -vp option) now printed with
their enum name, instead of number
git-svn-id: trunk@36174 -
optimization, which prevented the optimization from ever being performed. This
should also fix the test failure of tbs/tb0627b.pp on all 64-bit platforms.
git-svn-id: trunk@36071 -
less-than-64-bit CPUs that have a 64-bit OP_SHR/OP_SHL/OP_SAR implementation
in their cg64 backend code generator. This is enabled only for i386 for now.
git-svn-id: trunk@36022 -
be used (TBD in a future commit) for optimizing x:=-x and x:=not x on CPUs
that support performing these operations directly in memory (such as x86)
git-svn-id: trunk@35749 -
op=and/or/xor). They generate more optimal code on certain architectures
(including x86). The new inline nodes aren't generated by the compiler yet,
but will be used in the future, at certain optimization levels, whenever the
pattern x:=x op y is detected by the compiler.
git-svn-id: trunk@35666 -