so it also works for 32 bit targets and a high level code generator
(where aint is still 32 bit, but 64 bit operations are not decomposed)
git-svn-id: trunk@41441 -
(cherry picked from commit 07bd4ba517)
With local change to fix compilation for x86_64 CPU
r40155 | jonas | 2018-11-01 20:39:38 +0000 (Thu, 01 Nov 2018) | 1 line
* fixed compilation with -O3 (one false positive, one real error)
------------------------------------------------------------------------
--- Merging r40155 into '.':
C compiler/riscv { not present in fixes branch }
U compiler/sparcgen/ncpumat.pas
--- Recording mergeinfo for merge of r40155 into '.':
U .
Summary of conflicts:
Tree conflicts: 1
git-svn-id: branches/fixes_3_2@49419 -
------------------------------------------------------------------------
r47798 | pierre | 2020-12-16 23:16:37 +0000 (Wed, 16 Dec 2020) | 1 line
Try to fix sparc32 code generation error for overflow test
------------------------------------------------------------------------
--- Merging r47798 into '.':
U compiler/sparcgen/cgsparc.pas
--- Recording mergeinfo for merge of r47798 into '.':
U .
git-svn-id: branches/fixes_3_2@47825 -
------------------------------------------------------------------------
r39731 | pierre | 2018-09-11 08:00:54 +0000 (Tue, 11 Sep 2018) | 1 line
Disable overflow for UDIVX ans SDIVX 64-bit instructions
------------------------------------------------------------------------
--- Merging r39731 into '.':
U compiler/sparcgen/ncpumat.pas
--- Recording mergeinfo for merge of r39731 into '.':
G .
------------------------------------------------------------------------
r39825 | pierre | 2018-09-27 06:59:07 +0000 (Thu, 27 Sep 2018) | 1 line
Add rtl dependency and fix fpcdir value
------------------------------------------------------------------------
--- Merging r39825 into '.':
U packages/ide/compiler/Makefile.fpc
--- Recording mergeinfo for merge of r39825 into '.':
G .
------------------------------------------------------------------------
r39849 | pierre | 2018-10-01 21:50:13 +0000 (Mon, 01 Oct 2018) | 1 line
Use vfpv2 as default fpu for eabihf if cpu is below armv7
------------------------------------------------------------------------
--- Merging r39849 into '.':
U compiler/options.pas
--- Recording mergeinfo for merge of r39849 into '.':
G .
------------------------------------------------------------------------
r39912 | pierre | 2018-10-11 20:38:39 +0000 (Thu, 11 Oct 2018) | 1 line
Fix ppuload for string type for i8086, use getasizeint for all string defs but short string
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r39912 into '.':
G .
------------------------------------------------------------------------
r39913 | pierre | 2018-10-11 21:02:25 +0000 (Thu, 11 Oct 2018) | 1 line
fix position of ppuload_platform for trecorddef
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r39913 into '.':
G .
------------------------------------------------------------------------
r39914 | pierre | 2018-10-12 06:05:50 +0000 (Fri, 12 Oct 2018) | 1 line
Adapt ppudump to fix introduced in revision 39912
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r39914 into '.':
G .
------------------------------------------------------------------------
r39924 | pierre | 2018-10-13 11:35:34 +0000 (Sat, 13 Oct 2018) | 1 line
Downgrade some warnings to notes for EXTDEBUG
------------------------------------------------------------------------
--- Merging r39924 into '.':
U compiler/pass_2.pas
U compiler/tgobj.pas
--- Recording mergeinfo for merge of r39924 into '.':
G .
------------------------------------------------------------------------
r39935 | pierre | 2018-10-14 22:18:50 +0000 (Sun, 14 Oct 2018) | 1 line
Add missing setting of expectloc for multiplications
------------------------------------------------------------------------
--- Merging r39935 into '.':
U compiler/nadd.pas
--- Recording mergeinfo for merge of r39935 into '.':
G .
------------------------------------------------------------------------
r39999 | pierre | 2018-10-20 18:44:05 +0000 (Sat, 20 Oct 2018) | 1 line
Avoid run time error if compiled with -CR option
------------------------------------------------------------------------
--- Merging r39999 into '.':
U compiler/m68k/cpupara.pas
--- Recording mergeinfo for merge of r39999 into '.':
G .
------------------------------------------------------------------------
r40000 | pierre | 2018-10-20 18:49:53 +0000 (Sat, 20 Oct 2018) | 1 line
Avoid range check error when compiled with -CR
------------------------------------------------------------------------
--- Merging r40000 into '.':
U compiler/m68k/cgcpu.pas
--- Recording mergeinfo for merge of r40000 into '.':
G .
------------------------------------------------------------------------
r40001 | pierre | 2018-10-20 22:19:08 +0000 (Sat, 20 Oct 2018) | 1 line
Add explicit typecast to avoid range check error
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r40001 into '.':
G .
------------------------------------------------------------------------
r40026 | pierre | 2018-10-24 21:37:22 +0000 (Wed, 24 Oct 2018) | 1 line
Explicitly disable range checking
------------------------------------------------------------------------
--- Merging r40026 into '.':
U compiler/x86/cgx86.pas
--- Recording mergeinfo for merge of r40026 into '.':
G .
------------------------------------------------------------------------
r40115 | pierre | 2018-10-31 22:53:11 +0000 (Wed, 31 Oct 2018) | 1 line
Avoid range check error in ReadPosInfo
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r40115 into '.':
G .
------------------------------------------------------------------------
r40132 | pierre | 2018-11-01 07:09:47 +0000 (Thu, 01 Nov 2018) | 1 line
Only call moved if len>0, as otherwise astring local variable is nil, which leads to a range check error for astring[1]
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r40132 into '.':
G .
------------------------------------------------------------------------
r40163 | pierre | 2018-11-01 21:58:54 +0000 (Thu, 01 Nov 2018) | 8 lines
More -CriotR fixes:
* entfile.pas: Change PPU header falgs filed from longint to dword.
* ngtcon.pas: Change local variable startoffset type to aword.
* omfbase.pas: Avoid calling move with a nil string s indexed as s[1],
to avoid a range check error.
* owomflib.pas: Disable range check explicitly in hash computation.
* utils/ppuutils/ppudump.pp: Adapt to flags type change in entfile.pas
------------------------------------------------------------------------
--- Recording mergeinfo for merge of r40163 into '.':
G .
git-svn-id: branches/fixes_3_2@40616 -
------------------------------------------------------------------------
r39983 | florian | 2018-10-18 20:28:03 +0200 (Thu, 18 Oct 2018) | 3 lines
* properly take care of register allocations between the first and second instruction for the FoldLea optimization
* check for ait_instruction after a GetNextInstruction function call
* cosmetics
------------------------------------------------------------------------
------------------------------------------------------------------------
r39986 | pierre | 2018-10-18 22:21:54 +0200 (Thu, 18 Oct 2018) | 1 line
Fix for bug report #34380
------------------------------------------------------------------------
------------------------------------------------------------------------
r40109 | pierre | 2018-10-31 15:43:18 +0100 (Wed, 31 Oct 2018) | 1 line
Use correct field for sl_absolutetype or sl_typeconv ppropaccesslistitem type (revealed by compilation with -CriotR)
------------------------------------------------------------------------
git-svn-id: branches/fixes_3_2@40482 -
so that they can still be freed after the reference has been changed
(e.g. in case of array indexing or record field accesses) (mantis #33628)
git-svn-id: trunk@38814 -
tcpuparamanager, very similar to the existing get_volatile_registers_XXX. The
new methods are called get_saved_registers_XXX, where XXX is the register
type ("int", "address", "fpu" or "mm")
git-svn-id: trunk@38794 -
inline assembly, and fixed check after r35959 (mantis #32318)
o can also subscript parameters passed by value on the stack
o can also subscript local variables, the parameters passed by reference
that are subsequently copied into a local
git-svn-id: trunk@37886 -
* changed most of the variables in the assembler readers used to store constants from aint to tcgint
as aint has only the size of the accumular while some CPUs (AVR) allow larger constants in instructions
+ allow access to absolute symbols with address type in inline assembler
* allow absolute addresses in avr inline assembler
+ tests
git-svn-id: trunk@37411 -