Description: sysutils, classes and other more hll RTL parts

This file as text.
(active) Revisions in this set:
34fecf90f34c9cc9f6fad91ba024ec9cda3a0a36,8f95c14827ec62cfe7435e485825dff98b72a8f4,8e730d20db57219db3aa63bb97301a0a1591d1f1
735fd20a6a48da586b49b43d1034f950b5ba49bf,0bad315dafc027649333ae3ed76fbee3c1426734,b95bfd07d9fff57970901c224d038e3266ddf49f
7f4420495b9a92d5ae8de25ce21e9eaf5368aace,757d2b4f91683bc9e7c8b84dd0aa67208790d465,a3beff94dcda2ca803abc655de46ff9ef35207ca
813105ea0acd7e33418ef88e25aa19b5701dfd70,d04547eb8309f2be7913d0b435208435ca871b11,ce1a82a1e4b72c032500ed709da6a216469b624e
bc714c0fd7d34e1d59b7a052c7e090702acbd9fc,48cb0eb5b1b8dce44306bcce541a6921c09558fe,ff9fe851fb11e76e35dfc22a72452c0e014d2221
a575a5c0fdd7fd6f9e45eecd2d76c045cf588a4a,2ef822e8e8545cf5335254ad8f7bcf4ae05ac77e,64c27a86a8544dd6e0eb8ef0353afb4180b48c28
9dfbc38a501c9d4585303853b763f72eb9dbafc9,6631f83ccf244b4f7c2eb777cbe57459d7bee2c3,3c5b049f6b5137be2ce5823aa9ef8fdbba11d0e5
84f3c4908ac24847f0ac522f9eadeedb2c8ce944,f94f4e4ed92ae6f9014df8fd69c5667bcafb8ef1,81a55adffb5c4aea8a13c6632e5d1fb0087cb3fa
4868b9d542aae9a279023cc2d3cb9488ae4ad841,cab717ae28d35ac0f8b9d818380f3a60cde6cefa,c38e0689f1cba9854bff4f126c5b416624871339

Clicking a revision will expand files
 


SysUtils: add ExpandFileName with a BasePath overload
Commit consists out of
  • M rtl/inc/fexpand.inc
  • M rtl/objpas/sysutils/fina.inc
  • M rtl/objpas/sysutils/finah.inc


+ implemented SysUtils.FileGetDate for WASI
Commit consists out of
  • M rtl/objpas/sysutils/dati.inc
  • M rtl/wasi/sysutils.pp


+ implemented FindFirst, FindNext and FindClose in SysUtils for the WASI platform
Commit consists out of
  • M rtl/objpas/sysutils/filutilh.inc
  • M rtl/wasi/sysutils.pp


* (Hopefully) fix compilation for non-win,non-unix platforms
Commit consists out of
  • M rtl/objpas/sysutils/filutilh.inc


* Fix TDateTimeInfoRec
Commit consists out of
  • M rtl/objpas/sysutils/filutilh.inc
  • M rtl/win/sysutils.pp


Fix sysutils unit compilation failure for wasm32-wasi wince and possibly more targets
Commit consists out of
  • M rtl/objpas/sysutils/filutil.inc


TMarshal & TMarshaller, strange things from Delphi.
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc
  • A rtl/objpas/sysutils/sysmarshal.inc
  • A rtl/objpas/sysutils/sysmarshalh.inc
  • M rtl/objpas/sysutils/sysutilh.inc
  • M rtl/objpas/sysutils/sysutils.inc
  • A tests/test/units/sysutils/tmarshaller.pp


* Move TMarshal to system unit
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc
  • M rtl/objpas/sysutils/sysmarshal.inc
  • M rtl/objpas/sysutils/sysmarshalh.inc


* TStringHelper alias.
Commit consists out of
  • M rtl/objpas/sysutils/syshelph.inc


* Fix compilation for platforms that do not have unicodestring
Commit consists out of
  • M rtl/objpas/sysutils/sysutilh.inc
  • M rtl/objpas/sysutils/sysutils.inc

Marshall related



Replace TEncoding.FLock with interlocked operations.
Commit consists out of
  • M rtl/objpas/sysutils/sysencoding.inc
  • M rtl/objpas/sysutils/sysencodingh.inc


Add potentially required barriers to TEnconding.
Commit consists out of
  • M rtl/objpas/sysutils/sysencoding.inc


* Added Delphi-compatible overload for ToString with UpdateCapacity argument
Commit consists out of
  • M rtl/objpas/sysutils/syssb.inc
  • M rtl/objpas/sysutils/syssbh.inc


* force correct strpas overload when using unicodestrings
Commit consists out of
  • M rtl/objpas/sysutils/dati.inc


Let “Trim”s return string uncopied.
Commit consists out of
  • M rtl/objpas/sysutils/syshelps.inc
  • M rtl/objpas/sysutils/sysstr.inc
  • M rtl/objpas/sysutils/sysstrh.inc
  • M rtl/objpas/sysutils/sysuni.inc
  • M rtl/objpas/sysutils/sysunih.inc
  • M rtl/objpas/sysutils/syswide.inc
  • M rtl/objpas/sysutils/syswideh.inc

contains scopedenums directive



Move Int128Rec to System; remove i386 and x86_64 CPU unit dependency on SysUtils.
Commit consists out of
  • M rtl/i386/cpu.pp
  • M rtl/inc/systemh.inc
  • M rtl/objpas/sysutils/sysutilh.inc
  • M rtl/x86_64/cpu.pp


* fix gitlab 0040305: with type helpers now supporting inheriting from unique type aliases, declare a TRealHelper as a descendant of TDoubleHelper (cause Real is a Double)
+ added test
Commit consists out of
  • M rtl/objpas/sysutils/syshelph.inc
  • A tests/webtbs/tw40305.pp


* Adding new generic Extract and Swap function to RTL

These allow to move data from one variable to another without triggering
the copy operation. Extract makes use of the newly introduced move
semantic for function results and Swap uses System.Move to not trigger
the copy mechanism.
Commit consists out of
  • M rtl/objpas/sysutils/sysutilh.inc
  • M rtl/objpas/sysutils/sysutils.inc
  • A tests/test/tmoperator13.pp

generic functions is 3.3.1 feature



Don’t use explicit Move in Extract and Swap.
Commit consists out of
  • M rtl/objpas/sysutils/sysutils.inc

generic functions is 3.3.1 feature



Change CompareChar uses inside compiler/RTL to CompareByte.
Commit consists out of
  • M compiler/cutils.pas
  • M packages/rtl-objpas/src/inc/strutils.pp
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/sysutils/syshelps.inc


* LLVM workaround
Commit consists out of
  • M rtl/objpas/sysutils/sysutilh.inc
  • M rtl/objpas/sysutils/sysutils.inc


* In case of no DST, DST timezone offset must equal normal timezone offset
Commit consists out of
  • M rtl/objpas/sysutils/tzenv.inc


* Use last invalid type cast info in EInvalidCast exception
Commit consists out of
  • M rtl/objpas/sysutils/sysutils.inc


* Typecast correct filename in FileGetDateTimeInfo. Fixes issue gitlab 0041534
Commit consists out of
  • M rtl/win/sysutils.pp


Add case-sensitive TStringHelper.Contains for Delphi compatibility
Commit consists out of
  • M rtl/objpas/sysutils/syshelps.inc


* Fix Contains signaturen remove double
Commit consists out of
  • M rtl/objpas/sysutils/syshelps.inc


* Need to put () when calling an overloaded function with same name. Fixes issue gitlab 0041634
Commit consists out of
  • M rtl/objpas/sysutils/syssb.inc

(inactive) Revisions in this set eb62a71a5fe3008b5ba53a5d6609f0f5354706af,66891b1d59177b7b6f32f3e3544c3f952b1f35cf,7e4aca384ff3e7013155120899a3e0a118ab9c92,6f25cccda9bb490f5edca535e104af1d85fb5cb0,326073512d9820751922b3efea9db6a2d2ed76bd,35a21de57cb403eb05e48fd6e65e77eb3019f405,cb237c9008979583822e67d2ff7ffaacb7b8cdfb,8df634e335a30566f9ba0f3ce91f46bcfedd6dc3,3c7d0cbe27aae00041c2ae53695165a828425e17


Add Delphi-compatible TCurrencyHelper
Commit consists out of
  • M rtl/objpas/sysutils/syshelp.inc
  • M rtl/objpas/sysutils/syshelph.inc


* patch by Rika: Implement TCurrencyHelper.Ceil/Floor, resolves 0040134
Commit consists out of
  • M rtl/objpas/sysutils/syshelp.inc


* Some delphi compatibility issues solved (PtrToNil and TGUID operator)
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc
  • M rtl/objpas/sysutils/syshelp.inc
  • M rtl/objpas/sysutils/syshelph.inc


* Select proper stringbuilder depending on size of char
Commit consists out of
  • M rtl/objpas/sysutils/sysstrh.inc


const array - reducing unnecessary data copying
Commit consists out of
  • M rtl/objpas/sysutils/sysstr.inc
  • M rtl/objpas/sysutils/sysstrh.inc
  • M rtl/objpas/sysutils/sysutilh.inc
  • M rtl/objpas/sysutils/sysutils.inc


* Allow TFormatSettings.Create with string (using callback)
Commit consists out of
  • M rtl/objpas/sysutils/sysint.inc
  • M rtl/objpas/sysutils/sysinth.inc


const for TFormatSettings
Commit consists out of
  • M rtl/objpas/sysutils/sysstr.inc
  • M rtl/objpas/sysutils/sysstrh.inc


* Correct compare helper. Fix issue 0041338
Commit consists out of
  • M rtl/objpas/sysutils/syshelps.inc


* Optimization by Bart. Fixes issue 0040150
Commit consists out of
  • M rtl/objpas/sysutils/sysstr.inc