Commit Graph

60008 Commits

Author SHA1 Message Date
florian
1edf99c324 * Xtensa: tcpuunaryminusnode.second_float fixed for double
git-svn-id: trunk@46779 -
2020-09-05 20:25:28 +00:00
Jonas Maebe
97bf6d6677 * fix formatfloat for 0 in exponential format (based on patch by
Jamie Philbrook, mantis #37374)

git-svn-id: trunk@46778 -
2020-09-05 18:44:57 +00:00
yury
71fcb74e95 * Fixed r46776: With -O3 do not "coalesce" spilled nodes if the initial location is set.
git-svn-id: trunk@46777 -
2020-09-05 18:39:09 +00:00
yury
c2dc342c55 * Use the initial location of stack parameters as a spilling location if spilling is needed. This leads to the following optimizations:
- no spill temp is allocated;
  - no load of a stack parameter to a spill temp;
  - if a stack parameter is used only once do not preload it to a register. The parameter can be accessed directly in the stack if the target CPU supports this.

git-svn-id: trunk@46776 -
2020-09-05 18:20:18 +00:00
yury
acef1e22d3 * Improved output of spilling statistics:
- Do not use count_uses, since weight already represents a usage count of a register.
  - Do not count spills of registers with weight less than 100.

git-svn-id: trunk@46775 -
2020-09-05 16:06:41 +00:00
Jonas Maebe
23956e9f10 * prevent quadratic complexity in the size of the inheritance chain when
comparing objectdefs for equality

git-svn-id: trunk@46774 -
2020-09-05 12:25:13 +00:00
Jonas Maebe
cc315e0ac7 * fix tw3930 after r37927
o "unique" class (and interface) type aliases should actually not exist at
     all except for overload resolution. All the rest (VMT, UUID, RTTI, ...)
     should be taken from the aliased class/interface
   o there is one Delphi-incompatibily left after this change, but it shouldn't
     matter: tw8180 does not compile if you change the declaration to
     "tcl=class(TInterfacedObject,XStr,iinterface)", while Kylix does compile
     that. It doesn't really matter though, because in Kylix this actually
     adds iinterface twice as implemented interface, so there is no point
     in accepting this.

git-svn-id: trunk@46773 -
2020-09-05 12:25:09 +00:00
Mattias Gaertner
c45e56bc91 pastojs: specializations: create initSpec for class/record only if typeinfo or global field exists
git-svn-id: trunk@46772 -
2020-09-05 11:52:44 +00:00
florian
965f759c0d * Xtensa: arrays are always passed as by reference but still returned in up to 4 registers
git-svn-id: trunk@46770 -
2020-09-04 20:58:14 +00:00
Mattias Gaertner
6c8b0614b1 pastojs: specializations: create initSpec if params need it
git-svn-id: trunk@46769 -
2020-09-04 17:57:19 +00:00
Mattias Gaertner
fc4c48a11c pastojs: override scope class array and proctype
git-svn-id: trunk@46768 -
2020-09-04 17:17:46 +00:00
Mattias Gaertner
9140e9414d fcl-passrc: allow override scope class array and proctype
git-svn-id: trunk@46767 -
2020-09-04 17:17:12 +00:00
svenbarth
b2177fb50e * fix for Mantis #37650: apply adjusted patch by Ryan Joseph do not range check the length of ShortStrings if their length parameter is based on a generic constant
+ added test

git-svn-id: trunk@46766 -
2020-09-04 15:44:23 +00:00
florian
9a7e977167 * replace tcaldefs.inc by cpudefs.inc
git-svn-id: trunk@46765 -
2020-09-04 15:37:01 +00:00
florian
28e2fae09d + forgotten file
git-svn-id: trunk@46764 -
2020-09-04 15:33:29 +00:00
michael
a49c469a5d * Fix defines for fpdoc
git-svn-id: trunk@46763 -
2020-09-04 15:19:28 +00:00
svenbarth
e2c1a242c0 * fix for Mantis #37696: correctly declare EDITSTREAMCALLBACK
git-svn-id: trunk@46762 -
2020-09-04 15:07:13 +00:00
svenbarth
200e20fd71 * handle unknown reparse tags as non-symlinks
git-svn-id: trunk@46761 -
2020-09-04 14:41:40 +00:00
marco
f56539a7c9 * print some values as hex
git-svn-id: trunk@46760 -
2020-09-04 11:56:36 +00:00
michael
d856233ea1 * Fix bug ID #37555, better openssl version call handling
git-svn-id: trunk@46759 -
2020-09-04 07:17:28 +00:00
florian
03778f9b7f * unified settings for CPU "size"
git-svn-id: trunk@46757 -
2020-09-03 21:02:27 +00:00
michael
24ea912ff5 * Patch from Luiz Americo to implement SQL_NULL params on firebird (bug ID 37646)
git-svn-id: trunk@46756 -
2020-09-03 09:40:44 +00:00
michael
c7628c11c6 * Better error message for array types (bug ID 37685, patch from Henrique Werlang)
git-svn-id: trunk@46755 -
2020-09-03 08:38:43 +00:00
michael
3722c820c9 * Fix bug #37592, improved error message readability
git-svn-id: trunk@46753 -
2020-09-02 21:37:44 +00:00
florian
1e38369d06 * Xtensa: set expectloc of not nodes correctly
git-svn-id: trunk@46752 -
2020-09-02 20:47:53 +00:00
Mattias Gaertner
dd82f63c3f fcl-passrc: fixed unit implementation uses namespace as unit intf identifier
git-svn-id: trunk@46751 -
2020-09-02 20:23:27 +00:00
Mattias Gaertner
545ee82ec4 pastojs: delay RTTI init of dynamic and static array specializations
git-svn-id: trunk@46750 -
2020-09-02 14:11:04 +00:00
Mattias Gaertner
05edd719d5 pastojs: delay RTTI init of dynamic and static array specializations
git-svn-id: trunk@46749 -
2020-09-02 14:03:26 +00:00
Mattias Gaertner
4db51d69e4 pastojs: delay RTTI init of record/class/proctype specializations
git-svn-id: trunk@46748 -
2020-09-02 12:42:55 +00:00
ondrej
bbdf1b5d27 SysUtils: SInvalidDateTime <> SInvalidDateTimeFloat
git-svn-id: trunk@46747 -
2020-09-02 09:58:12 +00:00
Mattias Gaertner
6a0ea119e9 pastojs: fixed concat(a) calling arrayRef
git-svn-id: trunk@46745 -
2020-09-01 22:01:52 +00:00
florian
34cd1212ea * cosmetics
git-svn-id: trunk@46744 -
2020-09-01 20:32:46 +00:00
florian
1cbdc9cc9a * enable initialization of exceptions and threading on FreeRTOS
git-svn-id: trunk@46743 -
2020-09-01 20:32:45 +00:00
florian
2dcb31efce + dummy implementation for FreeRTOS threading support
git-svn-id: trunk@46742 -
2020-09-01 20:32:44 +00:00
michael
6f979c9278 * Fix again 37656
git-svn-id: trunk@46741 -
2020-09-01 18:35:41 +00:00
florian
d5ce344b67 * stack size estimation again improved
git-svn-id: trunk@46739 -
2020-08-31 21:01:26 +00:00
ondrej
d0c9b4f982 sql parser: identifier can start with the "_" character - test case
git-svn-id: trunk@46738 -
2020-08-31 06:41:38 +00:00
ondrej
39c8d5c635 sql parser: identifier can start with the "_" character
git-svn-id: trunk@46737 -
2020-08-31 06:39:02 +00:00
florian
4407670d15 * Xtensa: fix operand size and location handling in TCPUAddNode.second_cmp
git-svn-id: trunk@46735 -
2020-08-30 21:32:45 +00:00
florian
6879a16cc3 * Xtensa: rewrote parameter handling
* Xtensa: aggregate types up to 16 bytes are returned in registers

git-svn-id: trunk@46734 -
2020-08-30 20:54:00 +00:00
florian
b36597c76a * better calculation of estimated stack frame size
git-svn-id: trunk@46733 -
2020-08-30 20:53:59 +00:00
florian
867ed59459 * Xtensa: various stack handling fixes
git-svn-id: trunk@46732 -
2020-08-29 20:24:32 +00:00
florian
2c00016fdd + Xtensa: reused constant pool entries if possible
git-svn-id: trunk@46731 -
2020-08-29 20:24:31 +00:00
florian
55e6ffb428 + common include file for tcal*.pp tests to define cpusmall
git-svn-id: trunk@46730 -
2020-08-29 20:24:30 +00:00
florian
3eb7a13088 + Xtensa: implemented tcpuparamanager.ret_in_param according to API
* fixed passing of variant parameters

git-svn-id: trunk@46728 -
2020-08-28 20:18:36 +00:00
florian
fd0515344c * Xtensa: record alignment is upto 8 bytes done
git-svn-id: trunk@46727 -
2020-08-28 20:18:35 +00:00
florian
292574f3fc * Xtensa: fix single<>single
git-svn-id: trunk@46726 -
2020-08-28 20:18:35 +00:00
florian
f4e27dcfb6 + created xtensa-freertos object files using gcc xtensa-esp32-elf-gcc (crosstool-NG esp-2019r2) 8.2.0 with:
make TEST_CCOMPILER=xtensa-esp32-elf-gcc create_c_objects TEST_FPC=fpc TEST_ABI=windowed TEST_OS_TARGET=freertos TEST_CPU_TARGET=xtensa TEST_SUBARCH=lx6 TEST_CFLAGS=-mlongcalls

git-svn-id: trunk@46725 -
2020-08-28 20:18:34 +00:00
Mattias Gaertner
37eb8c02f5 pastojs: clean up, comments
git-svn-id: trunk@46724 -
2020-08-28 17:23:54 +00:00
michael
13490e1af5 * Patch from Henrique Werlang to fix array concatenation (Bug ID 37656)
git-svn-id: trunk@46723 -
2020-08-28 17:11:12 +00:00