Description: rtl/objpas minus sysutils and classes

This file as text.
(active) Revisions in this set:
5153a288dc63937a3b79d305f72cab94e5ab99e3,788d976f3a2d89bbf59721280c4d6dc193f6624b,c17dafc2f932c23033c990232e776f374b19cc81
affa9f9d9ca31c0e28cb61b084617ae4b3d6875c,8cd1f1973bfcf432f87e5df74beb23cd45b03c93,a3a39e164040751afc38637a02a5624063048be0
73acb4d1c134f218af71d06adbf3a980202647d0,1a67ffdd22de1d5e5ebe07a328db8806d9831ebb,707e05d131eae05c11007aa6cd58a64baf73e938
2dc771b7baba950cc451ff4c1c4cdae9c770cd23,7e1607e095b2c271a636993186e26a5d32fbf06f,5ead23513d29a185a71dfa0fc3f5314e4fc7aad5
b8f186dab2e09afc589407a2f1a0dd2db2cb2d89,8d95da3feafcffcd7b2bf539bfdf4b90a09c2963,9a01bcf3dc185dac2d310d178b62d5e48e608529
7b6f273023059d3a905fd35897f2db9eb5bf46d0,c4069b5fe8d22d55bc667804aa0301fd00a308ef,d1f999100b449adf175104b355b9e52ae2441fb4
2767a9c979eb181ffdfcb27569b92875c43ea643,54338a12b32d8d2ed1cb1ccacb2be1b00971d175,efb204d5e7f3676be2345272876dc1f83a95b137
6f4ade6abef6ee2d35c4209a4501a88cd5b30e7b,d40a2dbb1271ca1964fdfd8b34efb55c580724b9,a224f8ded7c0bc2b0e17c2536d56bb0fda1c5149
70282826ade9305b7aa0046efb0dea3b84089ace,90f902c7d4a6d95e40eedeb813cab74fe3e4e73d,ceddc2aec32441f2b62ad23625d78efd0472952a
a748d7279c85b9bccc82d5ef55dd8812f22bb9d7,44cf5d776f92fc30a581e6bbf8571b07eccf02aa,be0e06bd505738535a51f22c96f7f235ba977af4
05348107034f51b869079ec1b82913fe9b561ff8,972b961f2b3a2a61a87cbbffda80b70a9b82d86d,7eea850726ab34bbc2a164dedc7d185f18f05f10
c74441323ac9712f0a1f08349debcffe580734d1,21ffa221e697c791912949b130191838def3e81d,cde58d66fc1df01c4f61bee5dab1ca082778a698
f6ce76b638a08a19d58f35a0aeaeab0a6462e24a,b7e8dd62682379c4c24b9d4731fca095aee40cd3,ad93958e5bcf3dc799f9b324e859e93fa958d69f
bd2b0c8dca2897736d1c265bc53d2f5ed5e5ba3a,8527cb17f829b85a1ea2ec4a0c09bfdf35140f23,06601d5e6015fcde5118be97457897d7941aabc0
8665e038863650a6fd90ac1160d7ca1fa5011bbe,a0cae50af6831b5be48866bce27fffa3d1c4196f,617d56f23af75d9060a7ad70d95b812b334f99c2
0b4d9a673293fd940fb90dd672014839542c72d5,68acd786405462b0f27d38cb7a125f9d5c4afb2f,1a32b53f2c98b680f35a05633e64064a12a74849
e2d58b8b944227a6b1911c62bb59cbc686da0ac2,9a7a8f0d5c184e9909b95cccf53f9883137e7a97,b590ad70d810e29146a2e70b406b2ac7addd8808
8d6b823d4e1d335308bcdac2e4618e3de5501c23,c18c56024d13ad2436699eac907618acefa35da8,53762fe897cf30a2b517a4be42e16d3bed459006
a9e735f2575d13fe42c43ccd0c94596baef0d547,a8953e08326b9521f5521c71cab2c2daff53a28f,74028317a78d5bbec0936e64f5dcaae1197e323c
5eaa53faa18b6d7fbdfe4900966824abc61eca88,c177cf7da27bc8ce44246876029d24aade4738ea,477da86f77577a1fe85db303fa64eaa9df8af681
dd35057d80a6e3d0e736062bf2b5a98c34345cb8,7b088f9484df06d283eb1ef1334815a970781d91

Clicking a revision will expand files
 


* it's more correct for GetPropAttribute to return a TCustomAttribute instead of a TObject
Commit consists out of
  • M rtl/objpas/typinfo.pp


* use a Word instead of a Byte for the attribute index (after all the compiler writes a Word to the count field)
Commit consists out of
  • M rtl/objpas/typinfo.pp


* fix TClassData by including the AttributeTable at the right location
Commit consists out of
  • M rtl/objpas/typinfo.pp


* to be on the safe side: don't include AttributeTable fields when cycling
Commit consists out of
  • M rtl/objpas/typinfo.pp


- remove unneeded local variable
Commit consists out of
  • M rtl/objpas/typinfo.pp


* i8086 compilation fix after changeset 42390
Commit consists out of
  • M rtl/objpas/typinfo.pp


* fixes TInterfaceRawData to match TTypeData
Commit consists out of
  • M rtl/objpas/typinfo.pp


* fix alignment of ParamList
* fix test for architectures using aligned rtti
Commit consists out of
  • M rtl/objpas/typinfo.pp
  • M tests/webtbs/tw12038.pp


* check for CPUM68k instead of M68K; the latter should only be defined when building the compiler, so I wonder how that ever worked...
Commit consists out of
  • M rtl/objpas/typinfo.pp


* TClassData also needs alignment dummies
Commit consists out of
  • M rtl/objpas/typinfo.pp


* correct alignment for the property table
Commit consists out of
  • M rtl/objpas/typinfo.pp


* more overloads for Math.Min/Max, resolves 0036161
Commit consists out of
  • M .gitattributes
  • M rtl/objpas/math.pp
  • A tests/webtbs/tw36161.pp


* reverted 0043366
Commit consists out of
  • M .gitattributes
  • M rtl/objpas/math.pp
  • D tests/webtbs/tw36161.pp


* Windows: Reworked handling of command line arguments to properly support Unicode:
- Use the CommandLineToArgvW API function to parse the Unicode command line (we can use it since Win9x is not supported anymore).
- Implemented non-public functions ParamStrA and ParamStrU which are exposed in the objpas and uuchar units to provide correct AnsiString and UnicodeString versions of ParamStr().
- The cleanup code is moved from InternalExit to the finalization section of the System unit.
Commit consists out of
  • M rtl/inc/system.inc
  • M rtl/inc/uuchar.pp
  • M rtl/objpas/objpas.pp
  • M rtl/win/sysos.inc
  • M rtl/win/syswin.inc
  • M rtl/win/syswinh.inc
  • M rtl/win32/system.pp
  • M rtl/win64/system.pp


* Changed Integer to Longint in definitions of RTTI structures. It fixes typinfo for 16-bit CPUs.
Commit consists out of
  • M rtl/objpas/typinfo.pp


* Remove spurious var, prevents fpdoc from handling record
Commit consists out of
  • M rtl/objpas/types.pp


* Remove spurious var, prevents fpdoc from handling record
Commit consists out of
  • M rtl/objpas/types.pp


Add SetToArray and ArrayToSet functions for more general RTTI Set handling
Commit consists out of
  • M rtl/objpas/typinfo.pp
  • A tests/test/trtti24.pp


* Char -> AnsiChar
Commit consists out of
  • M rtl/objpas/fpwidestring.pp


* Char -> AnsiChar
Commit consists out of
  • M rtl/objpas/objpas.pp


* Char -> AnsiChar
Commit consists out of
  • M rtl/objpas/sysconst.pp


* Char -> AnsiChar
Commit consists out of
  • M rtl/objpas/typinfo.pp


+ add generic utility function ConstParamIsRef<> to determine whether a specific type is passed by-value or by-reference as a const parameter
Commit consists out of
  • M rtl/objpas/rtlconst.inc
  • M rtl/objpas/typinfo.pp


* Extended RTTI Type info routines and data structures
Commit consists out of
  • M rtl/objpas/typinfo.pp


* Parent class for hidden TVirtualInterface thunking class
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc
  • M rtl/objpas/typinfo.pp


* Invoke helper definition, allow calling it
Commit consists out of
  • M rtl/objpas/typinfo.pp


* TArray is now in system unit
Commit consists out of
  • M rtl/inc/objpash.inc
  • M rtl/objpas/objpas.pp


* Re-add comment
Commit consists out of
  • M rtl/objpas/typinfo.pp


* Add some constants for Delphi compatibility
Commit consists out of
  • M rtl/objpas/rtlconst.inc


* Delphi compatibility methods, unicode character type helper
Commit consists out of
  • M rtl/objpas/character.pas


* Additional Delphi-compatible constant
Commit consists out of
  • M rtl/objpas/rtlconst.inc


* Add delphi compatible constant
Commit consists out of
  • M rtl/objpas/rtlconst.inc


* TVmtFieldEntry.FieldOffset needs to be SizeUInt instead of PtrUInt, so that it works correctly on the various memory models of i8086 as well
+ added test
Commit consists out of
  • M rtl/objpas/typinfo.pp
  • A tests/test/trtti25.pp


+ add descriptive comment regarding the TVmtField* types
Commit consists out of
  • M rtl/objpas/typinfo.pp


* fix gitlab 0040595: correctly access the list of parameters of the extended method table
+ added test
Commit consists out of
  • M rtl/objpas/typinfo.pp
  • A tests/webtbs/tw40595.pp


* Make GetEnumName safer, check actual type. Allow passing an integer
Commit consists out of
  • M rtl/objpas/typinfo.pp


* Fix in overloads of GetFieldList
Commit consists out of
  • M rtl/objpas/typinfo.pp


* Add optional parameter to get methods of only current class
Commit consists out of
  • M rtl/objpas/typinfo.pp


* Add delphi-compatible constant (including the typo in the name ;))
Commit consists out of
  • M rtl/objpas/rtlconst.inc


* Fix use of wrong memory size when getting extended property info
Commit consists out of
  • M rtl/objpas/typinfo.pp


* Fix overflow in initialization of return value
Commit consists out of
  • M rtl/objpas/typinfo.pp


* Fix TExtendedVmtFieldEntry.GetTail
Commit consists out of
  • M rtl/objpas/typinfo.pp


* Add parameter to skip inherited fields
Commit consists out of
  • M rtl/objpas/typinfo.pp


* rtl part of gitlab 0035433
Commit consists out of
  • M rtl/arm/arm.inc
  • M rtl/i386/i386.inc
  • M rtl/inc/compproc.inc
  • M rtl/inc/generic.inc
  • M rtl/inc/mathh.inc
  • M rtl/inc/systemh.inc
  • M rtl/java/jcompproc.inc
  • M rtl/objpas/math.pp
  • M rtl/objpas/types.pp
  • M rtl/powerpc/powerpc.inc
  • M rtl/powerpc64/powerpc64.inc
  • M rtl/riscv64/riscv64.inc
  • M rtl/sparc/sparc.inc
  • M rtl/sparc64/sparc64.inc
  • M rtl/x86_64/x86_64.inc


Move EqualsValue/LessThanValue/GreaterThanValue to unit Types, refer to them in the Math unit
Commit consists out of
  • M rtl/objpas/math.pp
  • M rtl/objpas/types.pp


* Some utility routines
Commit consists out of
  • M rtl/objpas/types.pp


* Add SMEnuSeparator for Delphi compatibility
Commit consists out of
  • M rtl/objpas/rtlconst.inc


* Add GetTypeName, GetPropName
Commit consists out of
  • M rtl/objpas/typinfo.pp


* add TScoped for auto-destroying classes, based on an idea of Loïc Touraine
Commit consists out of
  • M rtl/objpas/types.pp
  • A tests/test/units/types/ttscoped.pp


* Capitalize TScoped.Assign
Commit consists out of
  • M rtl/objpas/types.pp


* Make tscoped.assign the less expensive operation
Commit consists out of
  • M rtl/objpas/types.pp


GetInt64Prop: return unsigned value for ULong
Commit consists out of
  • M rtl/objpas/typinfo.pp


* refactor nested ifdefs by using if/elseif chain. No functional changes.
Commit consists out of
  • M rtl/objpas/fpwidestring.pp


* Allow to retrieve info about last invalid type cast
Commit consists out of
  • M rtl/inc/except.inc
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc
  • M rtl/objpas/sysconst.pp
  • A tests/test/units/system/tcastc2c.pp
  • A tests/test/units/system/tcastc2i.pp
  • A tests/test/units/system/tcasti2c.pp
  • A tests/test/units/system/tcasti2i.pp
  • A tests/test/units/sysutils/tcstec2c.pp


* first approach on better exception handling on hyperbolic harmonic functions, might need more fine-grained checking for good performance
Commit consists out of
  • M rtl/objpas/math.pp


* attempt to fix overflow handling in hyperbolic harmonic functions better, still not there I think
Commit consists out of
  • M rtl/objpas/math.pp


* avoid overflow in tanh
Commit consists out of
  • M rtl/objpas/math.pp


* also avoid overflow in tanh()
Commit consists out of
  • M rtl/objpas/math.pp


* avoid overflow for tanh() as well, was an oversight
Commit consists out of
  • M rtl/objpas/math.pp


Add TSizeF.Zero for Delphi compatibility
Commit consists out of
  • M rtl/objpas/types.pp


* Fix logic error, resulting in overwriting previous buffer content
Commit consists out of
  • M rtl/objpas/fpwidestring.pp


* Free Translated resource strings, patch by Christoph. Fixes issue gitlab 0041372
Commit consists out of
  • M rtl/objpas/objpas.pp