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
nickysn
4c85306f69
+ added wasm32 type defines
...
git-svn-id: branches/wasm@47957 -
2021-01-02 07:58:33 +00:00
Jonas Maebe
b359080f42
* fixed round(currency) so it takes the rounding mode into account on
...
platforms where currency is "type int64"
* inline trunc(currency), trunc(comp) and round(comp) on platforms where
currency and comp are "type int64"
git-svn-id: trunk@47859 -
2020-12-27 13:19:02 +00:00
florian
1d92cc43bb
* fpc_ln_real raises an exception for invalid operands if they exception is not masked
...
git-svn-id: trunk@47813 -
2020-12-18 22:36:17 +00:00
florian
2e2f2eb784
- remove could which prevented that rte is triggered even if we are inside
...
an exception block but *without* using sysutils. The remove code
was once added to have primitive exception handling even if
no sysutils is used. But if this is desired, an appropriate handler
to ErrorProc should be assigned. Resolves #38201
git-svn-id: trunk@47775 -
2020-12-14 21:55:42 +00:00
florian
53a4e6c513
* patch by Zoran Vučenović: fixes TDoubleRec.SetFrac, resolves #38202
...
+ test
git-svn-id: trunk@47765 -
2020-12-12 21:39:17 +00:00
ondrej
1a0ba60de6
* revert r47598: implement TRandomGenerator
...
git-svn-id: trunk@47605 -
2020-11-27 04:53:06 +00:00
ondrej
c4dd3b661a
* rtl: implement TRandomGenerator for thread-safe random
...
git-svn-id: trunk@47598 -
2020-11-26 05:59:00 +00:00
pierre
e4e1ea586c
Revert wrong change, llvm supports extended constants
...
git-svn-id: trunk@47554 -
2020-11-24 13:55:27 +00:00
pierre
6d900039c4
Fix LLVM compilation by casting untyped real constants to double type, as LLVM does not support extended type constant apparently
...
git-svn-id: trunk@47551 -
2020-11-24 08:02:29 +00:00
michael
257ef24a1e
* Fix bug ID #38008 : allow UTF8 to unicode conversion to react on/ignore invalid input
...
git-svn-id: trunk@47391 -
2020-11-12 09:17:09 +00:00
Károly Balogh
05d680902e
* make sure things still build with 3.0 after r47353
...
git-svn-id: trunk@47359 -
2020-11-09 00:24:29 +00:00
svenbarth
c496b609d1
* fix for Mantis #38051 : make Chr() a real intrinsics so that it can be used in type declarations as well
...
+ added test
git-svn-id: trunk@47353 -
2020-11-08 22:23:02 +00:00
ondrej
a65158bfe8
* fix memory leak in RegisterLazyInitThreadingProc
...
git-svn-id: trunk@47311 -
2020-11-04 20:10:43 +00:00
ondrej
c64429cdd0
* lazy thread initialization support
...
git-svn-id: trunk@47308 -
2020-11-04 14:55:40 +00:00
svenbarth
ac36eec71a
* protect GetFullName with FPC_HAS_FEATURE_UNICODESTRINGS instead of _WIDESTRINGS
...
git-svn-id: trunk@47294 -
2020-11-03 19:25:32 +00:00
pierre
e80b1d9e70
Put GetFullName functions inside $ifdef FPC_WIDESTRING_EQUAL_UNICODESTRING
...
git-svn-id: trunk@47287 -
2020-11-03 07:13:59 +00:00
svenbarth
c2454d5386
* fix for Mantis #38023 : the code to convert LF to CRLF when converting to UTF-8 is disabled anyway, so disable unnecessary, duplicate if-branches as well
...
git-svn-id: trunk@47284 -
2020-11-02 16:42:32 +00:00