ccrause
991460c4ee
Rewrite fpc_shortstr_concat_multi for AVR to not use a temporary shortstring to reduce RAM usage.
2022-10-19 20:18:56 +00:00
Michael VAN CANNEYT
fb7787b11e
* Added debugcapture route
2022-10-19 20:33:06 +02:00
mattias
2d94575fa8
fcl-css: added attribute value check
2022-10-19 16:44:33 +01:00
J. Gareth "Curious Kit" Moreton
45b1d592f5
* x86: Bug fix where "mov $0,%reg" was inserted on the wrong side of a SETcc instruction
2022-10-18 20:47:42 +00:00
J. Gareth "Curious Kit" Moreton
27aa4d4e34
* x86: ConvertJumpToRET now sets the condition to C_None
2022-10-18 20:47:42 +00:00
J. Gareth "Curious Kit" Moreton
6b77017cb9
* x86: Added two new tests for i39922
2022-10-18 20:47:42 +00:00
Jonas Maebe
c89848a00f
powerpc64le: fix reading FPU control word after 0758aa1143
...
Also, missing rest of the commit message for that change:
The default implementation of SysResetFPU now sets the FPU control word that
was last set from any thread (Delphi and FPC i386/x86-64-compatible). No longer
call SysInitFPU when starting a new thread, only SysResetFPU. Combined, this
means that new FPC-started threads will always start out with that control
word on all architectures.
Added generic fpc_cpuinit implementation that is used unless
FPC_SYSTEM_HAS_FPC_CPUINIT has been defined.
Ensure that the softfloat exception mask is initially set to the same
value as the hardware fpu exception mask on architectures that use both.
SafeLoadLibrary now saves/restores the FPU control word on all platforms.
Removed outdated fpc_mtfsb0_corrected define check in powerpc64.inc
Resolves #38230
2022-10-18 21:55:53 +02:00
Jonas Maebe
0758aa1143
FPU exception mask: generlised system unit interface
2022-10-17 19:43:01 +00:00
florian
e457cdad8a
* patch by avk959 to solve infinite loop in FindMatchesBoyerMoore*, resolves #39885 and #39709
...
+ tests
2022-10-17 21:14:32 +02:00
florian
5670a7543c
* properly reset nf_write/nf_modify flags for min/max inline nodes, needed by dead store optimization, resolves #39958
...
* factored out nutils.node_reset_pass1_write
2022-10-16 22:51:50 +02:00
Jeppe
c83e6c34a9
riscv32: Fix 64bit comparisons
...
- Code taken from MIPS backend
- Removed some unused code generated for RV32 64bit integer ops
2022-10-16 17:37:53 +02:00
mattias
73e5d6f70f
fcl-css: renamed TCSSNode to ICSSNode, resolver: list of style elements
2022-10-16 13:51:45 +02:00
florian
65ff03f30a
+ test for #39955
2022-10-15 13:59:35 +02:00
florian
1c86a4bbeb
* if a pointer_to_array type conversion is applied to a variable, it is not written, resolves #39957
2022-10-14 23:12:18 +02:00
mattias
27315ac528
fcl-css: shorten PseudoAttribute to Pseudo
2022-10-14 18:48:07 +02:00
florian
e2a26ecece
* fixes tcg64frv.a_op64_const_reg_reg based on the analysis of Bart B, resolves #39953
2022-10-13 23:16:19 +02:00
Michaël Van Canneyt
0b3c608d79
* Faster DupeString by Rika. Fixes issue #39949
2022-10-13 13:00:57 +02:00
Michaël Van Canneyt
d5777174d8
* Optimization of TStringHelper.Split by Rika. Fixes issue #39948
2022-10-13 12:45:30 +02:00
mattias
eb17e6fd2d
fcl-web: fixed crash in websocket server on windows when closing when already disconnected
2022-10-13 00:56:07 +02:00
Jonas Maebe
b150480c60
Darwin: don't try to print size statistics if the binary wasn't linked
2022-10-12 22:58:19 +02:00
Jonas Maebe
a835d8b533
rgobj: reduce compilation time of programs with long movelists
...
Reduces compilation time of webtbs/tw2242 for AArch64 with -O2 from
15 minutes to 10 seconds on my system.
from 15 minutes to 10 seconds
2022-10-12 22:58:18 +02:00
Jonas Maebe
e2ade64a1e
cgbase: make first parameter of supregset_reset "out"
2022-10-12 22:58:18 +02:00
Pierre Muller
d217a459aa
Fix bug report #39952 .
...
* compiler/aggas.pas: Avoid use of .long for 64bit constant
for targets that automatically insert alignments.
+ tests/webtbs/tw39952.pp: New test from bug report 39952.
2022-10-12 21:28:16 +01:00
florian
f0c0d8a033
+ test for #22809 which is meanwhile resolved
2022-10-12 21:56:30 +02:00
florian
989895c82f
* patch by Bart B: FormatFloat correctly outputs NaN now, resolves #32868
...
+ test
2022-10-11 22:11:33 +02:00
Sven/Sarah Barth
bb51ac77dd
* the right side of a concatenation of multiple ShortString values can directly pass any String[x] to the utility routine, because only the Length() is used, not High() and nothing is modified (also typed pointers must not be used for them); this allows for better code generation for strings with a maximum length < 255
2022-10-11 07:40:13 +02:00
mattias
3e181d7640
pastojs: fixed clone array of tobject, pas2js issue 39238
2022-10-11 00:41:24 +02:00
florian
1b6982107f
* TDebugInfoDwarf3.appenddef_object should not write an extra finish_entry for objects and C++ classes
2022-10-10 22:46:25 +02:00
florian
3e5f6d3228
* use AllocRegbetween in TARMAsmOptimizer.RemoveSuperfluousMove, resolves #39921
2022-10-09 21:32:22 +02:00
Sven/Sarah Barth
02aac653d2
* optimize shortstring concatenations if they're on the right side of an assignment to directly use the left side instead of a temporary
2022-10-09 13:56:52 +02:00
Sven/Sarah Barth
32261a0f6d
* fix copy/paste typo in comments
2022-10-09 13:56:52 +02:00
Michaël Van Canneyt
f2580efc15
* Fix memleak in case of error.
2022-10-09 12:42:57 +02:00
Jonas Maebe
d12bf094ab
cs_opt_consts: disable when non-local gotos are active
...
This optimisation can insert code after the call to fpc_setjmp, resulting in
it not getting executed after a longjmp. Fixes tmacnonlocalgoto on AArch64
with -O2 or higher.
2022-10-08 22:27:23 +02:00
florian
5b73fc4d0e
* marked parameters in ucomplex with const
2022-10-08 20:49:33 +02:00
Sven/Sarah Barth
188cac3bc6
* enable OpenStrings by default in mode Delphi
...
+ added test
2022-10-08 13:52:34 +02:00
Sven/Sarah Barth
920e1c8d19
* change PPU version as the change regarding $P/$OpenStrings affects the token buffers of generics (which contains the current settings)
2022-10-08 13:52:33 +02:00
Sven/Sarah Barth
6cbbf9c52a
* $P/$OpenStrings is supposed to be a local switch, so change that accordingly
...
+ added tests
2022-10-08 13:52:32 +02:00
florian
b934517871
* patch by Rika: Optimize some compiler/CFileUtl.pas functions for returning unchanged strings, resolves #39882
2022-10-07 22:32:59 +02:00
florian
9f293df425
* export DynArrayAssign, resolves #39897
2022-10-06 22:56:38 +02:00
florian
ad7cc0e69d
* handle <dyn.array>+[] (and swapped) correctly, resolves #39919
2022-10-05 22:48:21 +02:00
marcoonthegit
2291100bbd
* fix and test for bug #39884 solving daysbetween when zero date is crossed.
2022-10-05 20:46:18 +02:00
mattias
569f83e33d
fcl-web: TWSServerConnection.HandshakeResponseSent propagates result
2022-10-05 10:49:31 +02:00
florian
d8cd4d283d
* removed wrong program name
2022-10-04 22:02:59 +02:00
mattias
01c982ad70
fcl-passrc: omit hint for not used anonymous type
2022-10-04 20:55:49 +02:00
mattias
a2182cb7a5
fcl-passrc: omit hint for not used anonymous type
2022-10-04 20:42:02 +02:00
Michaël Van Canneyt
eb8c322a53
* Use aValue instead of Value. Fix issue #39938
2022-10-04 17:53:17 +02:00
Michaël Van Canneyt
e736011c37
* Fix from Bart for issue #39938
2022-10-04 11:14:05 +02:00
florian
f8848dd185
* fix for commit a91e5478
, mixed localalignmax and constalignmax
2022-10-03 22:03:55 +02:00
florian
a91e547832
* set the maximum alignment values for constants and variables to 64 on aarch64-linux
2022-10-03 14:40:57 +02:00
florian
2396b36c21
* nil =/<> dyn. array is a valid expression, so isbinaryoperatoroverloadable needs to take care of it, resolves #39933
2022-10-03 10:26:09 +02:00