Rika Ichinose
6ab6be4793
Faster Val().
2025-03-30 19:36:42 +02:00
Rika Ichinose
0b97f169b0
Remove conditionals that rely on not defined(FPC_HAS_CPSTRING).
2024-11-04 10:28:33 +00:00
Rika Ichinose
d7352e7b66
Remove most of the VER3_0 conditionals.
2024-08-25 09:44:11 +00:00
Rika Ichinose
be11d22c17
Fix val(str, enum).
2024-07-20 08:30:02 +00:00
Rika Ichinose
10b7ad9d0c
Faster val(str, enum).
2024-07-19 20:51:24 +00:00
Rika Ichinose
fc3d71bba3
Check bounds in SetLength(shortstring).
2024-04-10 21:06:14 +03:00
Rika Ichinose
fca0ace070
Improve shortstring Pos() and generic fpc_shortstr_compare().
2024-01-01 21:12:52 +00:00
Michael VAN CANNEYT
d2d3fe6bc3
* Char -> AnsiChar
2023-07-14 17:26:10 +02:00
florian
366aedc6d8
* more false positives of unintialized varibles worked around
2022-01-22 17:36:19 +01:00
florian
115f83794b
* avoid warning/error on uninitialized variable
2022-01-22 14:13:59 +01:00
florian
02abad58d8
* some fixes for 8 Bit CPUs
2022-01-19 22:03:09 +01:00
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
Jonas Maebe
4426d0da7a
Fixed variant discriminator types
2021-10-31 21:13:35 +01:00
Jonas Maebe
f9672b53a2
- removed old float-to-string and string-to-float conversion code
...
git-svn-id: trunk@45401 -
2020-05-17 14:05:38 +00:00
pierre
3aa253c11d
Allow system unit to be compiled without RTTI feature
...
git-svn-id: trunk@45351 -
2020-05-13 09:10:23 +00:00
florian
c932dfaf70
* first bunch of fixes for rtti for arm after attribute commits, fixes mostly alignment issues
...
git-svn-id: trunk@42446 -
2019-07-14 17:45:55 +00:00
svenbarth
c0da39a35d
* Tenum_typedata needs to include the Common record as well
...
git-svn-id: trunk@42438 -
2019-07-13 14:38:24 +00:00
svenbarth
8b5461367b
* move TTypeKind from TypInfo unit to System unit as it's necessary for the future GetTypeKind() intrinsic
...
* also adjust (P)Byte usages to (P/T)TypeKind where necessary/approbiate
git-svn-id: trunk@36873 -
2017-08-11 20:37:36 +00:00
nickysn
2fbe5d2a8b
* use ObjpasInt instead of longint in fpc_shortstr_currency (generates shorter
...
and more efficient code on 16 and 8-bit targets)
git-svn-id: trunk@35484 -
2017-02-27 01:29:52 +00:00
florian
0b82f71e8d
* take care of the fact that there are 32 bit abis (e.g. ARMHF) which align qword on 8 byte boundaries, resolves issue #31132
...
git-svn-id: trunk@35218 -
2016-12-30 15:32:56 +00:00
svenbarth
a2c9c75e97
Convert Insert() and Delete() to intrinsics in preparation for dynamic array support for these two procedures.
...
Since overloading compilerprocs does not work each procedure got its own unique name, but they are using the new compilerproc extension to map them to the Insert and Delete symbol so that error messages can be shown with the respective name for the procedure declarations instead of fpc_shortstr_delete for example.
git-svn-id: trunk@33895 -
2016-06-03 21:25:49 +00:00
michael
9d75d3aae8
* Fix by Laco for bug ID #29037
...
git-svn-id: trunk@33339 -
2016-03-26 23:54:13 +00:00
Jonas Maebe
2afd8eb802
- removed FPC_HAS_STR_CURRENCY-related code, FPC 2.6.4 has it
...
git-svn-id: trunk@31692 -
2015-09-15 11:51:48 +00:00
michael
8161c1135c
* Add offset to Pos functions, Delphi XE 8 compatible.
...
git-svn-id: trunk@31464 -
2015-08-31 13:05:37 +00:00
florian
590ec0f3e6
* more procedures excluded to avoid internalerrors on avr after the trgobj.conservative fix
...
git-svn-id: trunk@31440 -
2015-08-28 18:49:07 +00:00
florian
886e3e8d02
* disable several complex procedures for avr with a newly introduced define: EXCLUDE_COMPLEX_PROCS. They
...
might compile with an improved register allocator in the future
git-svn-id: trunk@30546 -
2015-04-11 14:43:39 +00:00
florian
98856437b2
* disable fpc_chararray_enum for now on avr because the register allocator cannot currently handle it
...
git-svn-id: trunk@30380 -
2015-03-29 19:46:02 +00:00
Jonas Maebe
ff583bde6c
* made setstring() a compiler intrinsic so it can set the compile-time
...
code page of ansistrings (mantis #26735 )
git-svn-id: trunk@28813 -
2014-10-12 20:27:06 +00:00
nickysn
4c8e947f0c
* changed the shortstring index variables that were previously longint and were later changed to sizeint (in r26917) to ObjpasInt after r27142
...
git-svn-id: trunk@27185 -
2014-03-19 15:35:21 +00:00
Jeppe Johansen
9b79f2f68d
Added support for 8-bit CPU's in RTL. Mostly for missing implementations of int<->string conversion and console/text output.
...
git-svn-id: trunk@26958 -
2014-03-04 20:00:03 +00:00
nickysn
65fe978b71
* various shortstring index variables changed from longint to sizeint (generates
...
more efficient code on i8086)
git-svn-id: trunk@26917 -
2014-03-01 21:44:08 +00:00
Jonas Maebe
21eeec9981
+ re-implementation of real->string and string->real conversion routines
...
based on the Grisu1 algorithm. This corrects several precision issues
with the previous code used to perform such conversions (patch by
Max Nazhalov, mantis #25241 )
o adaptation of several tests to deal with the better precision of these
routines compared to the previous version
Please don't remove the real2str.inc file yet, it's still used by the
JVM target for now
git-svn-id: trunk@25888 -
2013-10-31 12:39:27 +00:00
sergei
a6d34945a2
* Commented out exponent check added in r25549: since this code is used by compiler, it breaks compilation of code with constants in extended range on targets without extended precision.
...
git-svn-id: trunk@25564 -
2013-09-25 07:18:18 +00:00
sergei
d6a4e30f06
* fpc_val_real_shortstr: track amount of digits in mantissa and limit integer exponent values. This does not (yet) prevent floating-point overflows, but is a necessary step to prevent them.
...
git-svn-id: trunk@25549 -
2013-09-24 15:57:01 +00:00
sergei
5ec95691c0
* fpc_val_real_shortstr: some more minor/style cleanup.
...
git-svn-id: trunk@25548 -
2013-09-24 15:38:15 +00:00
sergei
38c2fb755a
* RTL, fpc_val_real_shortstr(): somewhat simplified, functionality is not changed.
...
git-svn-id: trunk@25481 -
2013-09-13 16:17:58 +00:00
sergei
b0153f1482
* RTL, fpc_val_int64_shortstr and fpc_val_qword_shortstr: variable 'u' does not have to be 64-bit because it only takes values 0 to 15. Changing to sizeint improves code quality on 32-bit targets.
...
* fpc_val_uint_shortstr and fpc_val_qword_shortstr: variable 'prev' is not needed, removed.
* ShortCompareText: variable 'i' type changed from integer to sizeint; integer is 16-bit here, resulting in suboptimal code on non-x86.
git-svn-id: trunk@25159 -
2013-07-22 10:13:03 +00:00
nickysn
cac6ac38d0
+ added RTL helpers for Val() for longint/dword on 16/8-bit CPUs
...
git-svn-id: branches/i8086@24048 -
2013-03-29 01:19:14 +00:00