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 -