florian
07cd469ade
Merge branch 'main' into val_range_check
...
# Conflicts:
# rtl/inc/sstrings.inc
2022-01-19 21:30:58 +01:00
florian
718709c87d
* all val helpers now use the ValValueArray
2022-01-17 22:46:19 +01:00
florian
2f8750924f
* patch by Bart B: fixes fpc_val_word_shortstr() and refactors fpc_val_longword_shortstr() so that it uses the same algorithm and naming conventions as the other unsigned val-helpers.
2022-01-16 23:08:37 +01:00
florian
5f089afdfb
* unified ValueArray
2022-01-15 22:36:57 +01:00
florian
55f0103248
o patch by Bart B:
...
* fixes fpc_Val_UInt_Shortstr, part of #15633
* fpc_val_qword_shortstr uses the ValueArray constant
2022-01-15 22:18:38 +01:00
florian
9a90db79c3
* patch by Bart B to fix fpc_val_smallint_shortstr similiar to #39406 , resolves #39528
2022-01-13 22:51:10 +01:00
florian
8e4e229a5f
+ DestSize parameter for fpc_Val_UInt functions
2022-01-11 22:10:26 +01:00
florian
fc3b635013
* patch by Bart B to fix the value of Code for unsigned types if the input is negative, resolves #39523
2022-01-11 21:29:56 +01:00
florian
f39a6a7755
* fpc_Val_SInt_ShortStr: bug fixes and improvements by Bart B
2022-01-08 14:45:12 +01:00
florian
38c06e64c7
* optimze case
...
* few formatting changes
2022-01-07 23:43:59 +01:00
florian
05072d0d82
* updated version by Bart B
2022-01-07 23:21:12 +01:00
florian
4c296af05e
* reordered condition so they can be evaluated quicker
2022-01-07 19:36:34 +01:00
florian
d29a482cd1
* fixes for fpc_Val_SInt_ShortStr by Bart B
...
+ new test for fpc_Val_SInt_ShortStr
+ benchmark
2022-01-07 19:19:55 +01:00
florian
2a93e65511
* seperator => separator
2022-01-02 13:12:33 +01:00
Karoly Balogh
c298c0e0da
rtl/osheap: fixed a dumb reversed condition in osheap/SysAllocMem()
2021-12-26 15:56:34 +01:00
florian
781b2d0a80
* patch by Rika: second part of #39496 , resolves #30496
...
+ extended test
2021-12-25 20:01:32 +01:00
florian
c0979bbc0c
* TObject.InitInstance got very big so inlining has no advantage anymore, resolves #39494
2021-12-25 19:09:22 +01:00
marcoonthegit
4568c77f57
* implemented stringofchar unicodestring, bug #39483
2021-12-14 15:07:43 +01:00
Jonas Maebe
4426d0da7a
Fixed variant discriminator types
2021-10-31 21:13:35 +01:00
florian
ee10850a57
* patch by Sergey Larin: Reducing and aligning the size of TAnsiRec, TUnicodeRec for CPU64, resolves #38018 :
...
For CPU64, the size of record TAnsiRec and TUnicodeRec is 16 bytes instead of 24.
Which is very good also because of the alignment. when allocating memory, the address
of the first character of the string will be aligned on the 16-byte boundary.
At the same time, the useless Dummy field, which is needed in CPU64 for exactly alignment, has been removed.
For CPU32 (and CPU16), the record size has not changed, so procedures such as
fpc_AnsiStr_Decr_Ref, implemented in assembler (see i386, arm), remained working correctly.
* tests adapted
2021-10-17 11:13:29 +02:00
Nikolay Nikolov
f20de5d583
* fixed padding in the filerec to match textrec even on platforms where
...
sizeof(pointer)<>sizeof(codepointer), like in the medium and compact i8086
memory models
2021-10-13 02:02:50 +03:00
florian
91cf1774dd
* replace MT random generator by Xoshiro128**, resolves #38237
2021-10-05 22:20:22 +02:00
Nikolay Nikolov
7afb665c92
+ insert exception flag check and branch after each function call, when
...
compiling in WebAssembly branchful exceptions mode
2021-10-05 02:26:13 +03:00
Nikolay Nikolov
5124ab2521
* cloned the WebAssembly native exceptions code generation and rtl support into
...
the branchful exceptions (which will be modified later, but we're using this
as their starting point, because we can get a snapshot built, without compiler
internal errors)
2021-10-05 00:37:20 +03:00
Nikolay Nikolov
0c3e179652
- get rid of fpc_PushExceptAddr and fpc_PopAddrStack entirely, when compiling in
...
wasm native exceptions mode - these helper routines aren't necessary in this
mode
2021-09-28 03:59:38 +03:00
Nikolay Nikolov
91f0f1a86c
* don't include except.inc if wasm32 native exception is turned on, instead
...
replace it with except_native.inc
2021-09-28 03:46:30 +03:00
florian
a5f6505edc
* fix range checking for zero based strings, resolves #39323
2021-09-05 21:03:31 +02:00
florian
396a030fc2
+ debugging statement
2021-09-04 19:12:04 +02:00
michael
e6a593c5fa
* Patch from Zeljko Avramovic to extend ordinal/float helpers
...
git-svn-id: trunk@49622 -
2021-07-21 11:36:05 +00:00
michael
1e6952264b
* BitSizeOf Documentation sub (issue #39110 )
...
git-svn-id: trunk@49571 -
2021-06-30 10:10:38 +00:00
svenbarth
cb953f68c2
* as 3.2.0 is now the oldest compiler we support we can now use {$push} {$pop} to reset the $minenumsize in the RTTI header
...
git-svn-id: trunk@49403 -
2021-05-27 05:43:01 +00:00
florian
1e1848da92
* fix exception generation in ln(...), resolves #38832
...
git-svn-id: trunk@49328 -
2021-05-02 19:45:09 +00:00
Tomas Hajny
9f6651fdb7
+ added Get/SetTextAutoFlush feature
...
git-svn-id: trunk@49324 -
2021-05-02 14:59:21 +00:00
florian
5442e9f9d8
* insert explicit type cast for the count parameter of move/fillchar wrapping C functions,
...
avoids a warning in combination with -O3 and negative count values
git-svn-id: trunk@49205 -
2021-04-14 19:02:54 +00:00
Károly Balogh
7b9ed5fe46
rtl: make STACK_MARGIN a variable instead of a const. this allows adjusting margin size on system unit init, based on the actual stack length of the executable. useful for small systems running with little stack. allow overwriting SysBackTraceStr with a platform-specific implementation
...
git-svn-id: trunk@49200 -
2021-04-14 02:35:01 +00:00
pierre
86c036d9ed
Explicitly disable range and overflow checking to avoid troubles with pointer arithmetics
...
git-svn-id: trunk@49198 -
2021-04-13 20:57:18 +00:00
Károly Balogh
caa2735203
osheap: new very small heap manager which only acts as a thin layer above an OS provided heap API. mainly aimed for small and embedded systems
...
git-svn-id: trunk@49145 -
2021-04-09 02:20:22 +00:00
Jonas Maebe
f13b47289e
* handle case where the first instruction with line information is looked up
...
o this should be handled better. The common way is looking up address - 1,
but that doesn't seem to work here.
git-svn-id: trunk@49142 -
2021-04-08 19:50:40 +00:00
Jonas Maebe
0eb9dd3879
* Darwin support for printing line info for backtraces when using Dwarf,
...
based on patches by Colin Western, mantis #38483 )
o requires that the program/library is compiled with -Xg (or that
dsymutil is run on it after compiling), and that the .dSYM bundle
is in the same directory as the program/library
o always use the "dl" unit in exeinfo for Darwin, as that's needed for
dynamic library support, and this does not cause an extra dependency
since on Darwin we always use libc
o cleaned up the exeinfo unit for Darwin, and sped it up by using mmap
instead of small reads
o fixed unit dependencies for exeinfo, lineinfo and lnfodwarf in Darwin
RTL Makefile
* use the process address info from the original exe even when reading
the debug information from an external file
- removed outdated ifdef'd darwin code from dl.pp (no longer needed now
that processaddress gets set correctly in exeinfo for that platform)
git-svn-id: trunk@49140 -
2021-04-08 19:50:34 +00:00
florian
45b3d8e0bf
* check for cache entry before even trying to open the file containing the debug info
...
git-svn-id: trunk@49086 -
2021-03-30 14:06:19 +00:00
florian
4dfcdeaef8
+ use a hash table to speed up line info retrieval
...
git-svn-id: trunk@49080 -
2021-03-29 12:20:39 +00:00
Károly Balogh
45b5e9215c
rtl: remove defines for v2.x compiler from the common part of the RTL. It's no longer suppported to build with that
...
git-svn-id: trunk@49036 -
2021-03-23 09:32:49 +00:00
nickysn
800bb3adc2
* instead of using discardresult, wrap the uniquestring functions in procedures,
...
that are declared as inline
git-svn-id: trunk@49016 -
2021-03-19 21:13:20 +00:00
florian
3072df59ff
* overflow checked mul helpers do not need to check all bits either
...
git-svn-id: trunk@48999 -
2021-03-17 21:30:41 +00:00
nickysn
a9f4c8a16b
* compilation on Windows fixed
...
git-svn-id: trunk@48958 -
2021-03-14 02:53:41 +00:00
nickysn
df947d3ae8
* fixed rtl compilation with FPC 3.2.0 starting compiler
...
git-svn-id: branches/wasm@48305 -
2021-01-22 00:48:44 +00:00
nickysn
7e958e0a35
+ introduced the discardresult directive and declared the UniqueString()
...
overloads, using this directive
git-svn-id: branches/wasm@48283 -
2021-01-21 21:42:07 +00:00
nickysn
05d66eddfc
* synchronized with trunk
...
git-svn-id: branches/wasm@47982 -
2021-01-02 22:06:17 +00:00
florian
8b08079224
* fpc_AnsiStr_Concat: if one of the strings is empty and CP_NONE is passed, the code page
...
of the other string is taken, this is also like fpc_AnsiStr_Concat_multi works if length(sarr)=2
git-svn-id: trunk@47976 -
2021-01-02 16:39:39 +00:00
nickysn
a5fafea8d1
* more updates to attempt to get a larger part of the full RTL to compile for WASM32
...
git-svn-id: branches/wasm@47970 -
2021-01-02 13:01:39 +00:00