Description: deeper parts of the RTL (matches rtl/inc)

This file as text.
(active) Revisions in this set:
33463c86983c8db5cb3a903921f8acbd600099a2,a077e0dd90cba0fa1e388ea2101abf66f6d394b3,a19528efa1145e2403104931dcd153515c215810
14f3676b2acdc1192c1183ef0765e36c01936107,7bc03f2590d15a2e4882056c8b4d41521a950aa4,902ef73c7c5112bf522e69501e74121be8d2f5e8
55dfb59631a5e666c3d6e527aebad5086aeb359a,c0da39a35dae71be2248f6ac817ba76eaaf8ade7,48b8110e38b6b08a393e9a947b1b439746802ae7
a60ab40237581e8ea583b159308438cd62554d3f,67bf76c50e40f7a039429835e97bec38f37515d1,789f28877190ef79df431a76d5ec95fffc0a9e43
b0683edfcb6596528a75ff44a21b81f1367630d8,d6d3e171ceabb0e194e8ecd5de51b6cfdc1922a3,10af6fe2fb5cc09e2573c81f3e51eb4ecb01aaf7
0c464605483132ac901f4004aa69a8d33555b671,00a418f589341d6ed9f3ba4ee80f6e6d552aa541,ed688aceee660abed27f84b18fa64e5d4af56fd9
617cc6984ba080be830cad11f3f18bd0e717532d,13902c1c7abebeec9688d3b554554ea36775535b,5ed2475c85809555242f34b9b39b05e4be58bebb
88648248ec2a1eb3cf9af867fc586943332d0523,9a9cd15ec4427bd0e78d3e4048663afe71b30fe1,0f462077769536525b247465937637a22857f1b6
33fa211b8497b5f8d3b9511e4c29ef8d888873e5,e332c17bbd89f3a6223798afee6c837a370dc9bf,871136d4f2beb86ee8056278c6d9b7cae070c8ff
af1a4c06c53b7486965fa31c8bc6ce7a3dcd16f1,1e32b96bc230cd044d6c37faeb5a63e55408778a,c3954a0cee3ecd2e77124ea3cb0994dcf61d1852
0f4ddf7b3497938dce9f1ae5b20179e13c78d03d,5b2426752982777fc1e39b39fe01749990ca8a24,3aa253c11d215bde7ff9312c9e5ac7a5287f0818
f9672b53a2d4e988e99575a70fd55eb7f9cb8960,20f6514d9749d3e3a2323be70188df6eba2858f6,834dbf5f802a9a71982749f0c58a65c08da5074e
7020490f81b308c24d88dadcdcd21faccee544bd,adf064cbb490c331528e6ce7b9697a1ea440f984,aa633544f1adf5d8521a99b1e2341168b1611c87
ec10ee8218c9247836264bcdfcef44331fed62c5,cfff96f44ce391ecd5cf16bb7c8dec76142cd1b0,8bc2326b772fb85d3fbd297582a04d9008c34d60
82346563c118fa536cdc0b5472be1f2be0e74c6f,213d2905dfc44bdbb83e475efc04aa5de59c5f59,832c3d89c83841bbf21cea783064b14c6a5ad6d4
15141124f4462ec01e052f93aac2ae4c679b5c92,449cc8f152991ccd697dd7eb52dec1e03fa5d478,1e4dc56155d14f7531da51fad19b8986bb669b1d
1bf58c2a55dfb16d6b000ff62812eae3002614c7,af20b064ed643cd726bea2d5b5a3cc03282e28d0,e718cb985ebb6cb444455abc48ac674cd3fd44a5
c9fcc68ec19dcebaf16dedb4cb0d3d3c69bfe726,d51213d26ada2eddcae37b82be384355361a554c,52cf07d96831bf8def50a45521582e75256f2dda
408fc819b399947025669f134ff779bd78c5602c,3aa0d92c792b4ecb32eb2fc867b770a3160fa9eb,c2c4048e928ac7e6bbb806c30fae4a35221b03bb
e80b1d9e70ec37dea35becb348a1052c55301677,ac36eec71ae5a5c654ab9f4e8ac366005179d97e,05d680902e71ce9a482384009bb3aaaed9f231ae
257ef24a1e9647c25b6607f3889251d55e4006f6,53a4e6c513bf1a7e3d98e869027a92041b2b40ee,2e2f2eb78467fd70d59196033a7197e9428f3992
1d92cc43bb5a80894d732202acd658d0add06c70,b359080f42f427da88a6dc8790f00f486ac2351e,8b080792240467c8df06d80cc87deeb06fca1434
a9f4c8a16b904ad483b802f4507a392d314faf42,3072df59ff4a6ae0cd4665180d68078ed8da4bff,800bb3adc2362456af74494503cca82bd12c0598
5442e9f9d86ab7807f917694eab6a06e037ef45a,cb953f68c24fdb97ed1e8b5c2c59c7cdcf3c38e8,1e6952264b61d66f62db499f9ffbf405f7f4bcd2
91cf1774dd59376434dde4581f8eaad74696aa0a,f20de5d583cb86f6ec3bf856716fc85ab9ce4a95,c0979bbc0cbc6497c29b608fba5565f81a7228c2
781b2d0a80db394bfcb6ad42d75549a32b360cb4,d29a482cd12ef50734121e4dc7e4c5938c1df5ae,4c296af05eccba74d3bd854b6248d56a8efeffdf
05072d0d82a707444a2847926525a0834d64cefd,38c06e64c742e269d7b9c01bba5344f12845c4e2,f39a6a775587692103ec6ba1012007224d57c01e
fc3b635013d0fd8552b9ae59b092d3697f6a82c5,9a90db79c30e3531034544d757d4f292617ea175,5f089afdfb3820d055e06e727859f38b0ed1f9b0
2f8750924f6da75b9842c1b2a4b97b522453d084,718709c87dfdd442dcd5326e374270abe6fd864b,02abad58d8836e80928e078ebccde151e1ea4b44
a7a689ca1632ef7c8783ea884d5ad59863aa1fde,115f83794b8005274bdf149448f46bc4f42c531c,366aedc6d829bddee3b6063c56bf5244ecee74ab
a8b0e0ed65cf9b0be0e7a177dc23c1e816fb9004,ee2d313aa0785735289f0a8630e2818971782c96,fbed0680487193cda590fde37f6fb35374a67d76
308bc294654f955b357c5e71ad9a7fa9e45d39ad,67fedc6b5ba09803a2264cb4ea2b3dce06713af9,04145589a9b263fc9159dbc55835e1e1e53d0237
08228d7fb37669f7ed4de4eedabd5dc576dc4f23,c9ed14f87bf4bfac5231cb2a65ca3cae06cf958c,1d8b21bcfc2ed4b60fe625ff82c75153bf77f05c
f92102a5f22ae7b978ecf91d59781e16f0b82163,5913434ba91a5726dd2842277eb378cba6eb2e3f,9cbc802d0dd183ea0c72aa32348b7bee14eef836
9f293df425a6c31b554bfbbad9f1020611b077cd,991460c4ee3c26f0811e3ee749bad8e98cd467b3,b38d13577f94364b4c7ba6f4d6b032eae404e934
afc9acda374142b802a0fa02e11d0e98140d85f8,9b6926c5f514ab5a66abb78bdd0c31cc7770d99e,664c613d960ed04fb02ab85475032e6f09c4e902
031c16dd3cd6a8b7b85a747225899d34898ef0a8,5e0eb521c4dfd2430e77ba4f8d01b8a887afedda,c1ec558d0aeda85edd81e095678952b34250d208
348fbfde9d524108e94ea970caf00c2be38bbe98,dafe77b954dd9e786817c37865a9945744f575b0,c29d36e369550035eed8b7e877b327a43b87f312
775408b21b85496d09ebf03541034cfaf4f55972,581dfc6d28fe712245a021a161f5cb74270a1bcd,057cfc100c0f5fa5fc703738bbaccd16bb70201d
4d42d013b8f0f2527d5bf0251f755547d906966f,01b70479a0ec5911460d35520b6984bf83d52135,62d650d926e914b0f210dd5a853a8598430030d6
bec6b8c2493860736d344c6a426187ef8470c224,16710100868d0a48b87ade93a7ab43976d467886,f75f208992232eac7d61d3a0f31dd9a90287e7b5
31ef6622019e34788a532b19813a6042d2f017c5,bcaf82f5e7b4ba858f0987055de374ffc550b009,e98ef65b6f39edc4d9eaef0ee2d97b7e96ff37c7
3085eac5017bdf6da203663305d47682ca7c98e8,b69c78cccea9c45d3ed02b2407fb119f653e2e3a,f04577d29273b9ad30c4a1d4e6e9fd2d3bf9df68
3aefada11a74147de6e220d907e840024c4a9060,30e3d93d5716b60ca4fa07319725a74d6c974830,4bddf12657ac416c76e192a848a6f9539026fec4
218da184e633d5268d80fcf12d1f2158c7dd2618,84e7a17b67acab49f6db6c821ffcced4ec3dcd95,8ef4625e4d91ab3fda180e3102d08dc25ba8cd85
efc0272b99eba5c072baf074e16f85d70816d4a8,ffa14ee4485dbb452fe4a89b9c7a6340ea359c7f,f0811e448daf681e70d7761353c3b19cb79e41fb
ee5b9e53a9dbb247e34372cfd2eb862a5967bdac,15f29b8fa06a5b5d25a0d4783d7940fdf73b00d2,159fa785147c8b71b60922cae2c8ea5bb6a52972
6a902660a52f622042d6aa005a1f60f2845e1b70,73b528d17028e361229070ebd241f9980d4f8892,f0ac02cb2e2ec6b54666372f01e94702f717bf15
98fa292b202f6da868eed12fa9a538ad8d3d7143,86ffe6938012c52d4a31dc791b06ba933cfdf2c0,fca0ace070ea67a899d909d2df34f38443267302
50d72bb559b3d88f5971bb1ba8a305ad4cf679b3,c39e51485c2d2b122b9e682385169287b2cb1413,b8738944ed4319b07c293c742bab2c12ca8d62dd
b121045d4a0cebf142af45f270241a8eb520158e,2a87366086419afd28cfb109f464c532148a9567,96921aaba35135b40114ad02a6208101c2e15b66
ba2b29bd2cc75452b1a1578ac2c9a5e68db39723,032158d9437cd26e3ef857632fcc3abc842dc16e,517d1b017c45bfe75aa0bbe20778d532b253ea65
8d1d763a1a7ead756b90a65192ff9a5eeb8610f2,0d3d4918b3d44614d6a6bc552958faee46cead98,6e5c4667cdc2adefc0b78e852a9fd211b938ee09
bd036125274266dc82d19aa3be16a4c770f096ad,defc7e99d1abbd9cf75cb13ebd0f28ccaab7d376,d12bc9e9b98026f3875053c78a686c15d54b9e44
1a6e6a1b0bfb1d246c5d7e3e00ba46433f1ddcf4,53de381d876c419a4e51720737456ce77e10491c,25360412305f3859c56745cd1a4e69f0c10fa7df
7e69f399b34b34f1ab3dff11648dc3a61d01625e,324b77f3173877b6bddaa2682483fd1205ed1a91,30bf8047aa3ed465b345485fb693ee46fe814643
ba78551c4fa3a74b161acd58b423378ac983c435,854d944cfa79e7308304838fbd208643df9248e3,89142ba73a6dc1dbbb2bbba97cba3913e99861cb
6045b3a6bdca79be9378337e28c3209535de7c4c,b2a13077c0342db976b79068fc834eab8661b340,80d471a9f1c300bf6899a14ed6ca476fe7862ddb
038f054bdc1a88295d1e217d3391840e0ba01c02,9917350ef0803af661e14bcd7f902807a62f7afe,b7d32e4933771e370932fd969f26fd9ae666a3d8
dd4f7e9148541883a9478f2644c4e014dd4fc015,9bb6a32c62406fa3d4a8a5975ac072dd0f55fce8,b81f92536dedc52c110fc5117ab11f87685440bf
e9c6f1c15261103d0d036f72d94d9eb9d1448f42,4aeb1ee2236e7f8f73c09ee1e2aeb0a7f658269d,e7600ee24581a90fdf0c4f0a170428068a3a0320
4af99236b0684fa965099c1409815a04b7c473e0,87a37e70ee894ed7575db525d4db496f83556d1a,88c7954d9f85db24e61d9d6dad069bed663b00c4
30a20cc209e9d3f8ed93afd3880f42989fe6ec26,31b978f3b72332560eade5abd34fc77177584470,b3800d38cbe140917d15416daf7c6489d97df25b
8b40033964ca7c4008646fdf4471209fc9e814a5,5a7d5367d23965468a4d9d22091f9748a2112556,4c6abb38b1d686ebd728c31f2e02f22a071eb9a0
edaee6f392b10c593a274fd61e998e24df7967bc,0ca608243c97c43738081c5b2863deb5fa5304cb,73bf0c82bb1cd913b8ebfd63e2bdf173bdc1c16f
886f91dee3547953ffbb58c85f49f321306b805b,0fe363304436afae572016840b2a9b592a44e923,fc3d71bba38e2c91813b224501eef9966544e18c
e9579fe2df24f5d5a2d6625824e7f52f658bef10,b0076a4709d9fdb67c46d94e1210af71d8528dea,e133ab579077b6f4297a0de4eb7b42c41f999c6a
d1510840d05eb7922ce569bd0927918680be3c9b,801e14c33be6e586c49eb926de753a504ae2f512,11942fcf012b1730c71263d4f16e86e48b4807b2
2519f4285484011cfaf1a7a8e49ac74914548c39,d729d5a5b13d11e75df3871ac62d9be7e64d2856,875e22f7d7c94cf40add10fd077bf605628285d4
2c66f30520dbaf0db225425c74908f6b4c18b993,8d3a9c3ddacf577903186ad6f7572c982f84b4ed,10b7ad9d0cf758d2eb4cb9eee8312b2fef70c2a5
c96b0f6ca58d899bee8682eccf5172107952d11a,9209f55112348cadff86a64e2f3012bf3801b306,3180c985ed30e6536cb7afebed99eba42d6a758d
fa1abfba92bbdcc4fd1dd584035466cd764cd695,569c3fb49feb3b4984814ecdde394dddeb58c74b,be11d22c17e27d92da9cff57df4476baf16b2b79
b3b4343e6be782d5697807f5d03c054322d5c075,08bf5f72013fc4a7136eb935473d5cc2f3d5945d,5b5a8b3387ed2ca1f590c323252575382ca8f2c9
ea33fdcdf8541621e1f1778a551238607308a2b5,296a7923802d48155cd66417b7e15e1da0f29e20,6de766e40afdb32921fd875aa8e6f1cc36bd8873
b8fdd7148b07ad5e34ba18c8d7112deec110d7ad,cd2c8a6539441e0917d3f4b30b4e28d2c701c674,2dd0b55d0429e5d52bf853e5622297b6c4ef5424
7d83cea8da7e877ae8f24395236e6628372aa830,91d3746adfd29cbee1f14c8e0456f09a2228d947,201d38d6fe1a8be5aa5237807103f49b4c8cb53c
d544313698982438389e638758c5e3799b876ba6,4cf202180e47ace9e3e796c3a1d556a931df1ab3,bdb3d097b5572bc7742604e66b7d0be57e596b3e
092ff254f15618cde13a6a741dc1a6f7b0135b45,ecbd0fc0da5fa688aa81a361f1519e42e3038e65,cc7325e31624bdd2933bef0c72be6fbd45b982e9
f1050aeb73100c28576e1a91915846e04fd8e053,f72183eb3769dc2e52cc04b9d54014b3b1540d1a,ae938e16a5fe5710124240accb3d0cb3420dbc80
6035058a215e9cc7e73644c0f422696e3753de89,ec7e917b1a9279a5057bcaf4e90f9f24b8f9db9c,02b31542f677b3f7cb6eacbf1b8f004d3aa86120
73d2ffcf42d12956d5c1dd25b622a3423287f352,28a9a448945b0ad5a917b1444ec5b87e830e90f5,0a53f40f071f9e1beeb7fdea071219c7ce4624c6
1e041077cc42b56ea2ae77075dadc8d3082532a6,c3f80014b41db2cb4a6fa50a50c2548a03000124,6ccad3dc4e7ad93c39eeeeb2cd0f99775feb340a
98a5072fbebceb0c99483d2ac6ea521bff420b10,aeac1c60d1ea303d4585f29a9c9156f20d4d6715,66d7408b3d62414553485a33a8ef42fa38ffd6e6
f7f8c9a615e9fb06080fc3903aa43de3e71c4ad0,840df7e243f922a34113b23ec3b68c41e854a88f,6ab6be4793f300ac18d0b03f44b20c0d2128b2f1
900b1fc4eccfb1bf16723d2747107c02f8135c5f,8093b1ba0c8c9bb4a8054a1107c20b2efa368ba6,ed82c8325bbaae6303186b5bdc892275d980c907
0d5dddfcb5deb648397d38ed618c4c49911f6b03,4f92679625e2e03c9eb08b7bb50ddcd19e056949,0d63a5fdda7e4f1b121b4825147e82d20514cf44
aabd2c50671dd79c8e52514483cf8cce63e71499,ad88310e5b7700e6d46903bfb3acc66e64d125d3,29f00416d672fcc2b054262823cf70b015abc6dc
78475e30709c70398a07578002da345013ce6058,a789dfc8e8f391dfb14ff994fc31c0452df3b2bc,adede6d2ae93189beb900e805095c983ebb85623
5f69f5a7cfee0b717d43747935e24a3afb983d3c,8facd4839edd72c2d23dc18dd305d488018540e3,ebff68a7981731561fc380c25e5f2217d1ae642c
eb233fc4474b9056a9cbb7d02069c7f1024e8026,1f962a5fd233bad39ba0e6d564b44af23e0357d0,cac70de9af210e66a64f3f2d66f521d2c4c03003
d8d6732a1053f04ea76025c3dc9542a48077de34,4d9562231ca3aca5967b502a885d607ddacf8414,a5ef9e946c054981076fda28f2c37d1c6e652c4d
09b029ba9b2f4de32e4194ecb78677c12c903d41,7eeb313376a23b321a44e1639401468ce58ea81f,a3a4b97ed60622831f2accc32b8eca15e3a807cb
dc29758cd0143e7ded318c01a74a4cf2ccfb17eb,4ff1b9462d112cf06eceee0132a428aef35c7b56,09be6aeecf13286481b5656b2df0bd24c32dafb3
5a0f69f452a4d5534b11dc6ce4dc50641e28b71c,e4e58c383eea29ac7678e12974d33a2aa322153a,a0e4a7168d741bcc38a827aca86dd434f3762ac2
c188238d003853ee66ee2f2d0992ddddd5624cce,0de9d0422c32852ad338e3e2c3e0054aa211b2c3,f113115ce8dab90d9ea4e1abaade673076059874
866036d008dab86499cac96679cbbe0203f38b30,8431e7207f7ca1a24a304a1ea154aa312255cdaa,8003027a8cc96f42f15663e7d8189b1854fb0447
33e4361ee9a3a7bc6a11031fa51e8655c57cb96d,f9699e8d513db3418f279f72cb983a2c937d360d,fd0654fe927f783f43bead96b025cd4a24f76f89
5985b58ba832d1349365e0f47280c50ba2585a44,600dcc82f48edd35315dc4c7dbb64de425ecf610,0cda03ed95e53e8fc23e0daca9aab0fa6093bb39
3acb3bc8f1305324c2db27a0d5093534379bb6b1,8594e9ad47d75d3f5b2febf67dee5ed3bef844f3

Clicking a revision will expand files
 


* moved align helper so it actually gets inlined
Commit consists out of
  • M rtl/inc/generic.inc


* Fixed comparison.
Commit consists out of
  • M rtl/inc/system.inc


* Fixed warnings.
Commit consists out of
  • M rtl/inc/generic.inc
  • M rtl/inc/ustrings.inc


+ llvm_lifetime_start/llvm_lifetime_end intrinsic declarations
Commit consists out of
  • M rtl/inc/llvmintr.inc


reverted accidental commit to text.inc
Commit consists out of
  • M rtl/inc/text.inc


Allways use local pt variable to ameliorate readability of code
Commit consists out of
  • M rtl/inc/system.inc


* TRttiDataCommon is required outside of the RTTI and DynArray include files as well
Commit consists out of
  • M rtl/inc/system.inc


* Tenum_typedata needs to include the Common record as well
Commit consists out of
  • M rtl/inc/sstrings.inc


* disable UCS4String if dynamic arrays are disabled
Commit consists out of
  • M rtl/inc/systemh.inc
  • M rtl/inc/ustringh.inc
  • M rtl/inc/ustrings.inc


* handle records with managed fields correctly after attribute merge fixes
Commit consists out of
  • M rtl/inc/rtti.inc


- Fix overflow checking in software multiplication routines. Overflow checking should also be enabled for the unsigned multiplications.
- Call FPC_Overflow instead of multiple calls to save on size.
Commit consists out of
  • M rtl/inc/generic.inc


* fixed distribution of random(int64) based on patch by Pangea
(mantis 0035878)
Commit consists out of
  • M .gitattributes
  • M rtl/inc/system.inc
  • A tests/webtbs/tw35878.pp
  • A tests/webtbs/tw35878a.pp


* simplified random(int64) code
Commit consists out of
  • M rtl/inc/system.inc


Try to fix alignment issues in RTTI code for 64-bit targets which require proper alignment
Commit consists out of
  • M rtl/inc/rtti.inc


* fix for Mantis 0035965: correct alignment also for the class info used to retrieve the unit name
+ added test
Commit consists out of
  • M .gitattributes
  • M rtl/inc/objpas.inc
  • A tests/webtbs/tw35965.pp

don't merge problem not in 3.2.1



* m68k has slightly different alignment requirements, so that aligntoptr might result in incorrect addresses for a record's element entries, thus we introduce a separate AlignTypeData function that handles this correctly
Commit consists out of
  • M rtl/inc/rtti.inc
  • M rtl/inc/system.inc


* also correctly align the pointer for the record elements inside FPC_COPY
Commit consists out of
  • M rtl/inc/rtti.inc


* remove packed from tdynarray, it is not needed and especially 64 bit CPUs which require proper aligment, suffer from it
Commit consists out of
  • M rtl/inc/dynarr.inc


* call DoUnhandledException instead of RunError(217) when the the psabi eh
unwinder returns an error (this is usually because there is no outer
exception catching frame anymore -> unhandled exception) (based on patch by
Cyrax, mantis 0035751)
Commit consists out of
  • M rtl/inc/psabieh.inc


* fixed compilation for __ARM_EABI_UNWINDER__ with -dexcdebug
Commit consists out of
  • M rtl/inc/psabieh.inc


* InitThread variant without parameters as user threads normally cannot know the max. stack size
Commit consists out of
  • M rtl/inc/thread.inc


* fix random() for 32 Bit CPUs
Commit consists out of
  • M rtl/inc/system.inc


TInterfacedObject.Destroy: fix case for correct auto-completion
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


* fixed (harmless) range error when expanding ~
Commit consists out of
  • M rtl/inc/fexpand.inc


+ x86-64: assembler implementation for u128_div_u64_to_u64 for SysV ABI
* reminder => remainder (thanks to Stefan Kanthak for pointing it out)
Commit consists out of
  • M rtl/inc/flt_core.inc
  • M rtl/x86_64/x86_64.inc


* some inconsistency regarding FPC_NONE usage fixed
Commit consists out of
  • M rtl/arm/thumb.inc
  • M rtl/inc/systemh.inc


* first couple of improvements propose by Stefan Kanthak at https://skanthak.homepage.t-online.de/division.html#fpc
Commit consists out of
  • M rtl/inc/flt_core.inc


* fixed generic round(...) for large values based on a comment by Alexander Hofmann on fpc-devel
* extended test
Commit consists out of
  • M rtl/inc/genmath.inc
  • M tests/test/units/system/tround.pp


* Minor improvement. No need to move the terminating null char, since it is written later anyway. Remove a local var.
Commit consists out of
  • M rtl/inc/astrings.inc


* Fixed 0044960. Also copy a trailing implicit #0 of the original string to the new larger string.
Commit consists out of
  • M rtl/inc/astrings.inc


* Do not report about unimplemented unicodestring manager when HAS_WIDESTRINGMANAGER is defined (on Windows). In such case unimplemented parts are never executed unless you call them directly.
* Do not assign DefaultGetStandardCodePage when HAS_WIDESTRINGMANAGER is defined (on Windows).
Commit consists out of
  • M rtl/inc/ustrings.inc


* reduced the stack margin for stack checking to 64 bytes on the Z80
Commit consists out of
  • M rtl/inc/system.inc


Allow system unit to be compiled without RTTI feature
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/rttih.inc
  • M rtl/inc/sstrings.inc
  • M rtl/inc/systemh.inc
  • M rtl/java/jsystemh.inc


- removed old float-to-string and string-to-float conversion code
Commit consists out of
  • M .gitattributes
  • M rtl/fpmake.pp
  • M rtl/inc/makefile.inc
  • M rtl/inc/readme
  • D rtl/inc/real2str.inc
  • M rtl/inc/sstrings.inc
  • M rtl/inc/systemh.inc
  • M rtl/java/jsystemh_types.inc


* fix compilation for non 64 Bit targets
Commit consists out of
  • M rtl/inc/text.inc


Also use union with double field to ensure correct alignment for float64 type from genmath.inc source
Commit consists out of
  • M rtl/inc/genmath.inc


Put floating point type as first variant of floatXX definitions, to ensure correct alignment
Commit consists out of
  • M rtl/inc/softfpu.pp


New: rtl/inc/genmathh.inc source file, to provide a unique position
for the interface definition of float64 and float32 records,
available to all systems if FPUNONE is not defined.

rtl/inc/genmath.inc: Remove float64/float32, as they are now in rtl/inc/genmathh.inc
rtl/inc/softfpu.pp: Use provided definitions of float32 and float64
if available (by checking presence of FPC_SYSTEM_HAS_floatXX macro)

rtl/inc/systemh.inc: include genmathh.inc if FPUNONE is not defined.
rtl/java/jsystemh_types.inc: Likewise.
Commit consists out of
  • M .gitattributes
  • M rtl/inc/genmath.inc
  • A rtl/inc/genmathh.inc
  • M rtl/inc/softfpu.pp
  • M rtl/inc/systemh.inc
  • M rtl/java/jsystemh_types.inc


* Added a simple implementation of random. It is TP/Delphi compatible. Enabled it for 8/16 bit CPUs by default.
Commit consists out of
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc


* Improved generic implementations of fpc_mul_dword, fpc_mul_word, fpc_mul_byte to use less iterations and registers.
Commit consists out of
  • M rtl/inc/generic.inc


FExpand: always uppercase drive letter also in BasePath
Commit consists out of
  • M rtl/inc/fexpand.inc


* Fix bug 0037601: add some attribte definitions
Commit consists out of
  • M rtl/inc/objpash.inc


* Add StoredAttribute class, bug ID 0037602
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


* Change some methods from using var to using out (bugMantis 0037376)
Commit consists out of
  • M rtl/inc/dynlib.inc
  • M rtl/inc/dynlibh.inc
  • M rtl/inc/thread.inc
  • M rtl/inc/threadh.inc
  • M rtl/inc/ustringh.inc
  • M rtl/inc/ustrings.inc
  • M rtl/inc/variant.inc
  • M rtl/inc/varianth.inc


* Xtensa: disable simple random again, committed by accident
Commit consists out of
  • M rtl/inc/systemh.inc


* restore ability to cycle with 3.0.4 (at least until 3.2.2 is released) after 0046890
Commit consists out of
  • M rtl/inc/compproc.inc
  • M rtl/inc/dynarr.inc


* make use of AllocMem in fpc_dynarray_setlength
Commit consists out of
  • M rtl/inc/dynarr.inc


* inlinable frame handling dummies for avr
* inline frame handler if possible
Commit consists out of
  • M rtl/avr/avr.inc
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc


+ introduce TExitCode
Commit consists out of
  • M rtl/inc/compproc.inc
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc


* make framecount and framebufsize dependent on the pointer size
Commit consists out of
  • M rtl/inc/except.inc


* replace some longint by ObjpasInt
Commit consists out of
  • M rtl/inc/system.inc


* enable the compiler to optimize away parts of System.PushExceptObject, if System.get_frame is not implemented, i.e. returning nil
Commit consists out of
  • M rtl/inc/except.inc


* adjust softfpu unit so that it can be really used as a standalone unit instead of mainly as part of the System unit
Commit consists out of
  • M rtl/inc/softfpu.pp


* the define to check for inclusion in the System unit is FPC_IS_SYSTEM, *not* FPC_IN_SYSTEM
Commit consists out of
  • M rtl/inc/softfpu.pp


+ initial implementation of a FullName field in file records to overcome length limitions of the name field
Commit consists out of
  • M rtl/inc/file.inc
  • M rtl/inc/filerec.inc
  • M rtl/inc/systemh.inc
  • M rtl/inc/text.inc
  • M rtl/inc/textrec.inc


fix casting typo in 0047263
Commit consists out of
  • M rtl/inc/text.inc


Fix compilation of RTL when USE_FILEREC_FULLNAME is not defined
Commit consists out of
  • M rtl/inc/file.inc

see also 0047264



Put GetFullName functions inside $ifdef FPC_WIDESTRING_EQUAL_UNICODESTRING
Commit consists out of
  • M rtl/inc/file.inc
  • M rtl/inc/systemh.inc
  • M rtl/inc/text.inc

related to 0047267



* protect GetFullName with FPC_HAS_FEATURE_UNICODESTRINGS instead of _WIDESTRINGS
Commit consists out of
  • M rtl/inc/file.inc
  • M rtl/inc/systemh.inc
  • M rtl/inc/text.inc


* make sure things still build with 3.0 after 0047353
Commit consists out of
  • M rtl/inc/systemh.inc


* Fix bug ID 0038008: allow UTF8 to unicode conversion to react on/ignore invalid input
Commit consists out of
  • M rtl/inc/ustringh.inc
  • M rtl/inc/ustrings.inc


* patch by Zoran Vučenović: fixes TDoubleRec.SetFrac, resolves 0038202
+ test
Commit consists out of
  • M .gitattributes
  • M rtl/inc/genmath.inc
  • A tests/webtbs/tw38202.pp


- 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 0038201
Commit consists out of
  • M .gitattributes
  • M rtl/inc/system.inc
  • A tests/webtbs/tw38201.pp


* fpc_ln_real raises an exception for invalid operands if they exception is not masked
Commit consists out of
  • M rtl/inc/genmath.inc
  • M tests/test/texception4.pp


* 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"
Commit consists out of
  • M .gitattributes
  • M rtl/inc/currh.inc
  • M rtl/inc/gencurr.inc
  • A tests/test/units/math/trndcurr.pp


* 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
Commit consists out of
  • M rtl/inc/astrings.inc


* compilation on Windows fixed
Commit consists out of
  • M rtl/inc/wstringh.inc


* overflow checked mul helpers do not need to check all bits either
Commit consists out of
  • M rtl/inc/generic.inc


* instead of using discardresult, wrap the uniquestring functions in procedures,
that are declared as inline
Commit consists out of
  • M rtl/inc/astrings.inc
  • M rtl/inc/systemh.inc
  • M rtl/inc/ustringh.inc
  • M rtl/inc/ustrings.inc
  • M rtl/inc/wstringh.inc
  • M rtl/inc/wstrings.inc


* 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
Commit consists out of
  • M rtl/inc/cgeneric.inc


* 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
Commit consists out of
  • M rtl/inc/rttih.inc


* BitSizeOf Documentation sub (issue 0039110)
Commit consists out of
  • M rtl/inc/system.fpd


* replace MT random generator by Xoshiro128**, resolves gitlab 0038237
Commit consists out of
  • M rtl/inc/system.inc
  • M tests/webtbs/tw14315b.pp


* 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
Commit consists out of
  • M rtl/inc/filerec.inc


* TObject.InitInstance got very big so inlining has no advantage anymore, resolves gitlab 0039494
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


* patch by Rika: second part of gitlab 0039496, resolves gitlab 0030496
+ extended test
Commit consists out of
  • M rtl/inc/generic.inc
  • M tests/test/units/system/talign.pp


* fixes for fpc_Val_SInt_ShortStr by Bart B
+ new test for fpc_Val_SInt_ShortStr
+ benchmark
Commit consists out of
  • M rtl/inc/sstrings.inc
  • A tests/bench/bval.pp
  • A tests/test/units/system/tval6.pp


* reordered condition so they can be evaluated quicker
Commit consists out of
  • M rtl/inc/sstrings.inc


* updated version by Bart B
Commit consists out of
  • M rtl/inc/sstrings.inc


* optimze case
* few formatting changes
Commit consists out of
  • M rtl/inc/sstrings.inc


* fpc_Val_SInt_ShortStr: bug fixes and improvements by Bart B
Commit consists out of
  • M rtl/inc/sstrings.inc


* patch by Bart B to fix the value of Code for unsigned types if the input is negative, resolves gitlab 0039523
Commit consists out of
  • M rtl/inc/sstrings.inc
  • A tests/webtbs/tw39523.pp


* patch by Bart B to fix fpc_val_smallint_shortstr similiar to gitlab 0039406, resolves gitlab 0039528
Commit consists out of
  • M rtl/inc/sstrings.inc


* unified ValueArray
Commit consists out of
  • M rtl/inc/sstrings.inc


* 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.
Commit consists out of
  • M rtl/inc/sstrings.inc


* all val helpers now use the ValValueArray
Commit consists out of
  • M rtl/inc/sstrings.inc


* some fixes for 8 Bit CPUs
Commit consists out of
  • M rtl/inc/sstrings.inc


* fpc_AnsiStr_To_ShortStr: set length before moving, should result in better memory access pattern
Commit consists out of
  • M rtl/inc/astrings.inc


* avoid warning/error on uninitialized variable
Commit consists out of
  • M rtl/inc/sstrings.inc


* more false positives of unintialized varibles worked around
Commit consists out of
  • M rtl/inc/sstrings.inc


Added TranslatePlaceholderCP before Wide2AnsiMoveProc call.
In the fpc_setstring_ansistr_pwidechar procedure, before calling Wide2AnsiMoveProc, the translation cp = 0 to the DefaultSystemCodePage has been added.
Note: In all other places such translation is present.
Commit consists out of
  • M rtl/inc/astrings.inc


Added TranslatePlaceholderCP in fpc_Read_Text_AnsiStr procedure.
This is a small optimization.
Commit consists out of
  • M rtl/inc/text.inc


Set float type information in system interface part for mips64 and mips64el CPUs
Commit consists out of
  • M rtl/inc/systemh.inc


* setting of MIPS64(EL) in system.inc fixed
Commit consists out of
  • M rtl/inc/system.inc


* handle frac(+/-Inf or Nan) correctly in the software implementation, resolves gitlab 0039584
Commit consists out of
  • M rtl/inc/genmath.inc
  • A tests/test/units/system/tfrac.pp


* improved fpc_frac_real
Commit consists out of
  • M rtl/inc/genmath.inc


* revert a650d346f1646c1b71380430a96c440e222a087d for now as it apparently does
not work with all language encoding
Commit consists out of
  • M rtl/inc/ustrings.inc


+ enable the 64-bit SAR instruction on the WebAssembly target
Commit consists out of
  • M rtl/inc/systemh.inc
  • M tests/tbs/tb0627b.pp


* align memory blocks in cmem at least to stack alignment boundaries, resolves gitlab 0039730
Commit consists out of
  • M rtl/inc/cmem.pp


* patch by Rika: SwapEndian([u]int16) has unnecessary “and $FFFF”, resolves gitlab 0039814
Commit consists out of
  • M rtl/inc/generic.inc


Add DISABLE_SYSTEMINLINE check to be able to avoid setting SYSTEMINLINE macro
Commit consists out of
  • M rtl/inc/macpas.pp
  • M rtl/inc/systemh.inc
  • M rtl/java/jsystemh_types.inc


+ add platform independent helper routines for the atomic intrinsics; these only require the implementation of the size specific fpc_atomic_cmp_xhg_* helper, but if only the CPU size specific helper is implemented the others will at least be safe for multi threading inside the same process
Commit consists out of
  • M rtl/inc/compproc.inc
  • M rtl/inc/generic.inc


* export DynArrayAssign, resolves gitlab 0039897
Commit consists out of
  • M rtl/inc/dynarr.inc
  • M rtl/inc/dynarrh.inc
  • A tests/webtbs/tw39897.pp


Rewrite fpc_shortstr_concat_multi for AVR to not use a temporary shortstring to reduce RAM usage.
Commit consists out of
  • M rtl/avr/avr.inc
  • M rtl/inc/generic.inc


Make Utf8CodepointLen adhere to the Unicode standard somewhat more and know all of the Unicode 15.0 combining characters.
Commit consists out of
  • M rtl/inc/generic.inc
  • M tests/test/tutf8cpl.pp


Change wrong "$macros off" into "$macro off"
Commit consists out of
  • M rtl/inc/cmem.pp


Introduce CTYPES_INLINE, enabled by default but which can be disabled using -dDISABLE_INLINE for ctypes unit
Commit consists out of
  • M rtl/inc/ctypes.pp


add loongarch64 rtl support
Commit consists out of
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc
  • A rtl/loongarch64/cpuh.inc
  • A rtl/loongarch64/int64p.inc
  • A rtl/loongarch64/loongarch64.inc
  • A rtl/loongarch64/makefile.cpu
  • A rtl/loongarch64/math.inc
  • A rtl/loongarch64/mathu.inc
  • A rtl/loongarch64/set.inc
  • A rtl/loongarch64/setjump.inc
  • A rtl/loongarch64/setjumph.inc
  • A rtl/loongarch64/strings.inc
  • A rtl/loongarch64/stringss.inc


Fix potential overflow when incrementing 8 bit high value of res.
Commit consists out of
  • M rtl/inc/generic.inc


Fix use of unaligned for big endian code
Commit consists out of
  • M rtl/inc/ctypes.pp


* first (modified, added a comment) patch by Rika to improve generic Index*, part of gitlab 0039996
Commit consists out of
  • M rtl/inc/generic.inc


* Add stub for IsManagedType
Commit consists out of
  • M rtl/inc/system.fpd


* string -> shortstring, check zero length instead of comparing to empty string
Commit consists out of
  • M rtl/inc/astrings.inc


* string -> shortstring
Commit consists out of
  • M rtl/inc/compproc.inc


* string -> shortstring
Commit consists out of
  • M rtl/inc/dos.inc
  • M rtl/inc/dosh.inc


* string -> ansistring
Commit consists out of
  • M rtl/inc/dynlib.inc
  • M rtl/inc/dynlibh.inc


* check zero length instead of comparing to empty string
Commit consists out of
  • M rtl/inc/fexpand.inc


* check zero length instead of comparing to empty string
Commit consists out of
  • M rtl/inc/genstrs.inc


* string -> shortstring, check zero length instead of comparing to empty string
Commit consists out of
  • M rtl/inc/isotmp.inc


* string -> shortstring
Commit consists out of
  • M rtl/inc/strings.pp


* string -> shortstring, check zero length instead of comparing to empty string
Commit consists out of
  • M rtl/inc/text.inc


* string -> shortstring, check zero length instead of comparing to empty string
Commit consists out of
  • M rtl/inc/typefile.inc


* Add IndexChar for widechar
Commit consists out of
  • M rtl/inc/system.inc


* check zero length instead of comparing to empty string
Commit consists out of
  • M rtl/inc/system.inc


* String -> ShortString
Commit consists out of
  • M rtl/inc/systemh.inc


* Restore char/pchar
Commit consists out of
  • M rtl/inc/uuchar.pp


* String -> ShortString
Commit consists out of
  • M rtl/inc/variant.inc


* String -> ShortString/RTLString
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


* check zero length instead of comparing to empty string
Commit consists out of
  • M rtl/inc/ustrings.inc


* check zero length instead of comparing to empty string
Commit consists out of
  • M rtl/inc/wstrings.inc


Make generic Index* faster and denser.
Commit consists out of
  • M rtl/inc/generic.inc


* Fix typo
Commit consists out of
  • M rtl/inc/isotmp.inc


* patch by Rika: Improve generic CompareByte, resolves gitlab 0040120
Commit consists out of
  • M rtl/inc/generic.inc


* patch by Rika: optimize Pos(), resolves gitlab 0040088
Commit consists out of
  • M rtl/inc/astrings.inc
  • M rtl/inc/ustrings.inc


* UnicodeString<>WideString on windows
Commit consists out of
  • M rtl/inc/objpash.inc


* Zero out stringmanager record
Commit consists out of
  • M rtl/inc/ustrings.inc


Utf8CodePointLen: remove pointer arithmetic to fix JVM compatibility
Commit consists out of
  • M rtl/inc/generic.inc


Improve generic CompareWord.
Commit consists out of
  • M rtl/inc/generic.inc


Improve generic CompareDWord.
Commit consists out of
  • M rtl/inc/generic.inc


* patch by Rika: Perform 32-bit random if the bound fits into 32 bits at runtime, resolves gitlab 0040171
Commit consists out of
  • M rtl/inc/system.inc


* patch by Rika: fix for 15f29b8fa06a5b5d25a0d4783d7940fdf73b00d2
Commit consists out of
  • M rtl/inc/system.inc


* patch by Rika: Make more use of fpc_*_array (mainly fpc_addref_array) in rtl/inc/dynarr.inc, resolves gitlab 0040174
Commit consists out of
  • M rtl/inc/aliases.inc
  • M rtl/inc/dynarr.inc


* patch by Rika: Remove dead code in DynArrayIndex, resolves gitlab 0040194
Commit consists out of
  • M rtl/inc/dynarr.inc


* patch by Rika: Remove wrong paranoia (and add correct one (and shorten in general (and fix a bug in))) fpc_dynarray_setlength, resolves gitlab 0040193
Commit consists out of
  • M rtl/inc/dynarr.inc
  • M tests/test/tmoperator7.pp


SSE2 Index* and Compare* for i386, chosen at runtime.
Commit consists out of
  • M rtl/i386/i386.inc
  • M rtl/inc/systemh.inc


* Better signature for Initialize/Finalize dummies
Commit consists out of
  • M rtl/inc/system.fpd


Improve shortstring Pos() and generic fpc_shortstr_compare().
Commit consists out of
  • M rtl/inc/generic.inc
  • M rtl/inc/sstrings.inc


* Define RTTI visibilities
Commit consists out of
  • M rtl/inc/rttih.inc


* Avoid range error in comparisons
Commit consists out of
  • M rtl/inc/objpas.inc


* Add TNoRefCountObject (delphi compatibility)
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


* TPtrWrapper for Delphi compatibility
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


* Delphi compatibility aliases for Interlocked* functions
Commit consists out of
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc


* Fix NilValue
Commit consists out of
  • M rtl/inc/objpas.inc


Fix cpu16 error in AtomicCmpExchange
Commit consists out of
  • M rtl/inc/system.inc


Fix system compilation for CPU16
Commit consists out of
  • M rtl/inc/system.inc


* Interface thunk class must query owner object interface list
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


Don’t use local shortstring in generic fpc_pchar_to_shortstr, move directly to the destination.
Commit consists out of
  • M rtl/inc/generic.inc


Don’t allow generic fpc_pchar_length to arbitrarily over-read.
Commit consists out of
  • M rtl/inc/generic.inc


* Do not compile pointer overloads of atomic operations for MS-DOS/i8086
Commit consists out of
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc


* Typo fixed
Commit consists out of
  • M rtl/inc/systemh.inc


* Fix compilation for avr-embedded (no unicode strings)
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


Add FPC_DOTTEDUNITS code
Commit consists out of
  • M rtl/inc/objc1.inc


Improve generic large set operations: +, -, *, ><, =, <=, mostly by working in PtrUints.
Commit consists out of
  • M rtl/inc/genset.inc


Set DYNLIBSINCDIR to WINDIR for win32 and win64
Commit consists out of
  • M rtl/inc/Makefile.rtl
  • A rtl/test-rtl-units.sh
  • M rtl/win32/Makefile.fpc
  • M rtl/win64/Makefile.fpc


Faster genset.inc:fpc_varset_set_range.
Commit consists out of
  • M rtl/inc/genset.inc


* patch and test by Rika: fixes self inserts in Insert(x, dynarray) and improves Insert(x, dynarray), resolves gitlab 0040417
Commit consists out of
  • M rtl/inc/dynarr.inc
  • A tests/webtbs/tw40417.pp


Let fpc_dynarray_concat(_multi) reuse the only nonempty input or append to the destination if possible.

Improve fpc_dynarray_delete.
Commit consists out of
  • M rtl/inc/dynarr.inc
  • A tests/test/tarray23.pp


* ensure that the field and method tables are always accessed with the default alignment
Commit consists out of
  • M rtl/inc/objpas.inc


* patch by Rika: improve fpc_*_concat_multi, resolves gitlab 0040251
Commit consists out of
  • M rtl/inc/astrings.inc
  • M rtl/inc/ustrings.inc


Faster string concatenations.
Commit consists out of
  • M rtl/inc/astrings.inc
  • M rtl/inc/ustrings.inc
  • M rtl/java/jastrings.inc


Faster dynamic array concatenations.
Commit consists out of
  • M rtl/inc/dynarr.inc


* Add Delphi-compatible DisposeOf and friends.
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


* redefine also PPChar and PPPChar depending on the string type mode, resolves gitlab 0040491
Commit consists out of
  • M rtl/inc/uachar.pp
  • M rtl/inc/uuchar.pp
  • A tests/webtbs/tw40491.pp


* Add HINST for Delphi compatibility
Commit consists out of
  • M rtl/inc/dynlibh.inc


* Add varUInt32 alias for delphi compatibility
Commit consists out of
  • M rtl/inc/varianth.inc


AVX2 CompareByte for i386.
Commit consists out of
  • M rtl/i386/i386.inc
  • M rtl/inc/systemh.inc


ERMSB-aware Fill* for i386.
Commit consists out of
  • M rtl/i386/i386.inc
  • M rtl/inc/systemh.inc


* fix gitlab 0040592: make the Delphi-compatible attributes usable, but in a way that makes it clear to the user that they won't work
+ added test
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc
  • A tests/webtbs/tw40592.pp


* avoid wrong warning about FillChar not initializing the output parameter in case count <= 0
Commit consists out of
  • M rtl/inc/cgeneric.inc


* avoid that fpc_fillmem does not inline due too much nested calls
Commit consists out of
  • M rtl/inc/system.inc


* Delphi-compatible overloads UTF8ToUnicodeString
Commit consists out of
  • M rtl/inc/ustringh.inc
  • M rtl/inc/ustrings.inc


* fix implementation comment
Commit consists out of
  • M rtl/inc/objpas.inc


* patch by Rika: Small improvements to (a|u)strings.inc, resolves gitlab 0040364
Commit consists out of
  • M rtl/inc/astrings.inc
  • M rtl/inc/ustrings.inc


* Add TDispatchMessage
Commit consists out of
  • M rtl/inc/objpash.inc


* Add EnumModules for Delphi compatibility
Commit consists out of
  • M rtl/inc/dynlib.inc
  • M rtl/inc/dynlibh.inc


rtl: add two defines toallow disabling the verbose error of the stub unicodestringmanager and threadmanager
Commit consists out of
  • M rtl/inc/thread.inc
  • M rtl/inc/ustrings.inc


* Add operators to TMethod, for Delphi compatibility
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


* Add UnicodeFromLocaleChars for Delphi compatibility
Commit consists out of
  • M rtl/inc/ustringh.inc
  • M rtl/inc/ustrings.inc


* Handle potential double defintion of INFINITE
Commit consists out of
  • M rtl/inc/objpash.inc
  • M rtl/win/sysos.inc


* Change argument name
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


Try to implement UnicodeFromLocaleChars for java
Commit consists out of
  • M rtl/inc/ustrings.inc
  • M rtl/java/justrings.inc


Non-nil-aware fpc_ansistr_compare(|_equal).
Commit consists out of
  • M rtl/inc/astrings.inc
  • M rtl/inc/ustrings.inc


* do not copy sets in fpc_varset_(un)set if source and dest are the same
Commit consists out of
  • M rtl/inc/genset.inc


SSE4.1 IndexQWord for i386 and x86-64.
Commit consists out of
  • M rtl/i386/i386.inc
  • M rtl/inc/systemh.inc
  • M rtl/x86_64/x86_64.inc


Disable _Plain versions when compiling RTL for newer CPUs.
Commit consists out of
  • M rtl/i386/fastmove.inc
  • M rtl/i386/i386.inc
  • M rtl/inc/systemh.inc


+ tvardata.vuint32, resolvers gitlab 0040729
Commit consists out of
  • M rtl/inc/varianth.inc


Simplify shortstr_concat(_multi).
Commit consists out of
  • M rtl/inc/generic.inc


Check bounds in SetLength(shortstring).
Commit consists out of
  • M rtl/inc/sstrings.inc


Better Utf8ToUnicode.
Commit consists out of
  • M rtl/inc/ustrings.inc


Integers are 16-bit in system, replace with SizeInt.
Commit consists out of
  • M rtl/inc/ustringh.inc
  • M rtl/inc/ustrings.inc


Fix + QoL + eye candy for Windows error boxes.
Commit consists out of
  • M rtl/inc/systemh.inc
  • M rtl/java/jsystemh_types.inc
  • M rtl/win/syswin.inc


Fix compilation of rtl with -dDISABLE_SYSTEMINLINE
Commit consists out of
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc


Faster Insert(ansi/unicodestring).
Commit consists out of
  • M rtl/inc/astrings.inc
  • M rtl/inc/ustrings.inc
  • M tests/webtbs/tw28850.pp


Cover more values in the [0; 1) range by “random”.
Commit consists out of
  • M rtl/inc/system.inc


* arm: Disabled "inline" on "fpc_ansistr_decr_ref" and "..._incr_ref" until arm compiler bug is resolved
Commit consists out of
  • M rtl/inc/compproc.inc


* arm: Re-enabled "inline" on "fpc_ansistr_decr_ref" and "fpc_ansistr_incr_ref".
Commit consists out of
  • M rtl/inc/compproc.inc


Implement length(PWideChar) with IndexWord.
Commit consists out of
  • M rtl/inc/generic.inc


* Remove debug statements
Commit consists out of
  • M rtl/inc/nothreads.pp


* remove unneeded checks in generic string routines, resolves gitlab 0040816
Commit consists out of
  • M rtl/inc/genstr.inc


Faster val(str, enum).
Commit consists out of
  • M rtl/inc/sstrings.inc


* workaround for WebAssembly resource names possibly residing in memory below 64KB
Commit consists out of
  • M rtl/inc/intres.inc


* make GetProcessID inline
Commit consists out of
  • M rtl/inc/systemh.inc


* fix naming (no functional change)
Commit consists out of
  • M rtl/inc/astrings.inc


* Shortcuts must pass result on
Commit consists out of
  • M rtl/inc/monitor.inc


* really all TMonitor shortcuts pass through the results
Commit consists out of
  • M rtl/inc/monitor.inc


Fix val(str, enum).
Commit consists out of
  • M rtl/inc/sstrings.inc


* Disposed is protected, does not appear by default in RTTI
Commit consists out of
  • M rtl/inc/objpash.inc


* indentation fixed
Commit consists out of
  • M rtl/inc/int64.inc


* add cpuriscv to be on the safe side
Commit consists out of
  • M rtl/inc/systemh.inc


Decimate rtl/i386/strings.inc.
Commit consists out of
  • M packages/sdl/src/libxmlparser.pas
  • M rtl/i386/strings.inc
  • M rtl/i386/stringss.inc
  • M rtl/inc/genstr.inc
  • M rtl/inc/genstrs.inc


* set MaxIntResource to 1023 for WebAssembly, because that's where the first
data segment starts, after commit 3218f25d130f9e3989ee3a8c6e3079aacde55c8a,
and even before that, when using the external linker
Commit consists out of
  • M rtl/inc/intres.inc


Redesign RTTISizeAndOp to return more useful information.
Commit consists out of
  • M rtl/inc/dynarr.inc
  • M rtl/inc/rtti.inc
  • M rtl/inc/rttidecl.inc


Simplify RTTIRecordOp.
Commit consists out of
  • M rtl/inc/aliases.inc
  • M rtl/inc/objpas.inc
  • M rtl/inc/rtti.inc
  • M rtl/inc/system.inc


Faster RTTIManagementAndSize -_-.
Commit consists out of
  • M rtl/inc/dynarr.inc
  • M rtl/inc/rtti.inc
  • M rtl/inc/rttidecl.inc


* the fpc_invalidpointer rtl function declared compproc to allow easier calling
from the high level code generator
Commit consists out of
  • M rtl/inc/compproc.inc
  • M rtl/inc/system.inc
  • M rtl/java/jsystem.inc


* fpc_varset_load takes a ptrint for set size
Commit consists out of
  • M rtl/inc/compproc.inc
  • M rtl/inc/genset.inc


Use FillChar in InitializeArray.
Commit consists out of
  • M rtl/inc/dynarr.inc
  • M rtl/inc/rtti.inc
  • M rtl/inc/rttidecl.inc


* fix fpc_frac_real to properly thrown an exception on +/-Inf/NaN
Commit consists out of
  • M rtl/inc/genmath.inc


* bootstrapping fix with 3.2 for arm-linux
Commit consists out of
  • M rtl/inc/genmath.inc


* really fix bootstrapping with 3.2.2 on arm-linux
Commit consists out of
  • M rtl/inc/genmath.inc


fix AtomicDecrement(Cardinal) overload
Commit consists out of
  • M rtl/inc/system.inc


+ AtomicIncrement/Decrement overloads
* tests extended
Commit consists out of
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc
  • M tests/test/tatomicmt.pp
  • M tests/test/tatomicmtdword.pp


* move aliases of fpc_copy and fpc_copy_by_move_semantics to aliases and adjust their names to match other aliaes
Commit consists out of
  • M rtl/inc/aliases.inc
  • M rtl/inc/rtti.inc


* increase stack margin for x86-64 so back tracing a stack overfow with line info does not cause another stack overflow
Commit consists out of
  • M rtl/inc/system.inc


Simplify dynarr.inc.
Commit consists out of
  • M rtl/inc/dynarr.inc


* ensure always an exception is raised in genmath.inc if appropriate
Commit consists out of
  • M rtl/inc/genmath.inc


* correctly disable the Atomic*Lock functions for the fpc_atomic_cmp_xchg_*() helper fallback of the CPU size
Commit consists out of
  • M rtl/inc/generic.inc


Shorten generic atomic implementations to offset the LoC cost of the commit before last.

This also fixes wrong fpc_atomic_sub_8 and fpc_atomic_sub_16 emulations.
Commit consists out of
  • M rtl/inc/generic.inc


Use correct defines for ALUSInt, fixes problems encountered in webassembly
Commit consists out of
  • M rtl/inc/systemh.inc


* make rounding mode and exception mask thread variables as well
Commit consists out of
  • M rtl/inc/mathh.inc


Publish AddRefArray.
Commit consists out of
  • M rtl/inc/rtti.inc
  • M rtl/inc/rttih.inc


* call SysResetFPU and SysInitFPU in InitThread for the time being
Commit consists out of
  • M rtl/inc/thread.inc


Faster managed record initialization.
Commit consists out of
  • M rtl/inc/rtti.inc


Interface unref should zero the pointer first.
Commit consists out of
  • M rtl/inc/objpas.inc


Remove FDestroyCount.
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


Shortcut declocked on refcount = 1.
Commit consists out of
  • M rtl/i386/i386.inc
  • M rtl/inc/astrings.inc
  • M rtl/inc/dynarr.inc
  • M rtl/inc/ustrings.inc


Remove NewAnsiString & NewUnicodeString.
Commit consists out of
  • M rtl/inc/astrings.inc
  • M rtl/inc/ustrings.inc
  • M rtl/java/jastrings.inc
  • M rtl/java/justrings.inc


Tailor fpc_ansistr_concat_(multi) to the common case of concatenations.
Commit consists out of
  • M rtl/inc/astrings.inc


Faster Pos(ansistring).
Commit consists out of
  • M rtl/inc/astrings.inc


Publish System.MemPos.
Commit consists out of
  • M rtl/inc/astrings.inc
  • M rtl/inc/generic.inc
  • M rtl/inc/systemh.inc


Disable MemPos on JVM.
Commit consists out of
  • M rtl/inc/generic.inc


Faster Val().
Commit consists out of
  • M rtl/inc/sstrings.inc
  • M tests/test/units/system/tval6.pp


Check for refcount = 1 first.
Commit consists out of
  • M rtl/i386/i386.inc
  • M rtl/inc/astrings.inc
  • M rtl/inc/dynarr.inc
  • M rtl/inc/objpas.inc
  • M rtl/inc/ustrings.inc


Unbias 32-bit random.
Commit consists out of
  • M rtl/inc/system.inc


Fix UnicodeString ElementSize.
Commit consists out of
  • M rtl/inc/ustrings.inc


Inline polyevl&ldexp in sin&cos.
Commit consists out of
  • M rtl/inc/genmath.inc


BMI1 → BMI2.
Commit consists out of
  • M rtl/i386/i386.inc
  • M rtl/inc/systemh.inc


Move pop compiler directive to respective ifdef branch to match with push.
Commit consists out of
  • M rtl/inc/softfpu.pp


dynarr.inc: fix issue gitlab 0041244
Commit consists out of
  • M rtl/inc/dynarr.inc


Removing forgotten dead code
Commit consists out of
  • M rtl/inc/objpas.inc


Call MemoryManager.InitThread symmetrically to MemoryManager.DoneThread.
Commit consists out of
  • M rtl/inc/thread.inc


On aarch64-win64 system, C 'long' type is also a 32-bit type, as for x86_64-win64
Commit consists out of
  • M rtl/inc/ctypes.pp


Simplify UTF8Encode & Decode.
Commit consists out of
  • M rtl/inc/ustrings.inc


* use math.frexp in system unit, should fix gitlab 0041250
Commit consists out of
  • M rtl/inc/genmath.inc


For JVM, use float64xxx wrappers instead of unsupported lvalue casts.
Commit consists out of
  • M rtl/inc/genmath.inc


Fix variable i range of values in procedure InitInterfacePointers(objclass: tclass;instance : pointer);
Commit consists out of
  • M rtl/inc/objpas.inc


Fix variable i range of values in class function TObject.InitInstance(instance : pointer) : tobject;
Commit consists out of
  • M rtl/inc/objpas.inc


Let Copy(string, start, count) reuse the existing allocation.
Commit consists out of
  • M rtl/inc/astrings.inc
  • M rtl/inc/ustrings.inc


* properly initialize prev in the various fpc_val_*_shortstr functions as otherwise the JVM's verifier will complain about the corresponding register not containing the valid type as there can be a path from the start of the function where the register is not initialized (Note: -OoDFA also reports these!)
Commit consists out of
  • M rtl/inc/sstrings.inc


Specialized huge chunk manager for the case of no SysOSFree.
Commit consists out of
  • M rtl/inc/heap.inc
  • M rtl/inc/oldheap.inc


Use OS zeroing in AllocMem.
Commit consists out of
  • M rtl/inc/heap.inc
  • M rtl/win/sysheap.inc


* Introduce overloads for ClassNameIs
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


Fix targets without AnsiString feature
by removal of ClassNameIs overload with RTLString
type because RTLString=ShortString when
the target does not support AnsiString.
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


* Add TObject lifetime tracking possibility
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


* Add unit initialization tracking hook
Commit consists out of
  • M rtl/inc/system.inc
  • M rtl/inc/systemh.inc


Remove changes for powerpc64
Commit consists out of
  • M rtl/inc/generic.inc


* fix casing of IndexWord, resolves gitlab 0041560
Commit consists out of
  • M rtl/inc/systemh.inc


Typo fix in rtl debug string.
Commit consists out of
  • M rtl/inc/except.inc


Comment fix (rtl). Char not AnsiChar.
Commit consists out of
  • M rtl/inc/systemh.inc


Skip nil tails when finalizing pointer arrays.
Commit consists out of
  • M rtl/inc/rtti.inc


Split RecordRTTI into FinalizeRecordFields and AddRefRecordFields.
Commit consists out of
  • M rtl/inc/aliases.inc
  • M rtl/inc/objpas.inc
  • M rtl/inc/rtti.inc


* handle ...^ correctly for multiple writes in iso mode, resolves gitlab 0041609
Commit consists out of
  • M rtl/inc/text.inc
  • A tests/test/tisobuf3.pp


* Fix AV when optarg is empty. Fixes issue gitlab 0042120
Commit consists out of
  • M rtl/inc/getopts.pp


* Manual merge of !1371
Commit consists out of
  • M rtl/inc/typefile.inc
  • A tests/test/tisoreset.pp


Allow use og GDB debugger
Commit consists out of
  • M rtl/inc/objpash.inc


Move toFree away from truly thread-local state.
Commit consists out of
  • M rtl/inc/heap.inc


Make use of AllocMem in class creation.
Commit consists out of
  • M rtl/inc/objpas.inc
  • M rtl/inc/objpash.inc


Simplify overflow checks in heap.inc.
Commit consists out of
  • M rtl/inc/heap.inc


Heap overflow runtime error code is 203.
Commit consists out of
  • M rtl/inc/heap.inc


Make HeapInc.ThreadState.Orphan not iterate every chunk allocated.
Commit consists out of
  • M rtl/inc/heap.inc


Batch cross-thread FreeMems.
Commit consists out of
  • M rtl/inc/heap.inc


Replace LastFlag with a sentinel chunk.
Commit consists out of
  • M rtl/inc/heap.inc


Don’t store size indices in fixed headers.
Commit consists out of
  • M rtl/inc/heap.inc


Correct TGUID/PGUID letter case
Commit consists out of
  • M rtl/inc/objpash.inc


Store CastErrorFrom/To compactly.
Commit consists out of
  • M rtl/inc/except.inc
  • M rtl/inc/objpas.inc


Revert "Allow use og GDB debugger"

This reverts commit f113115ce8dab90d9ea4e1abaade673076059874
Commit consists out of
  • M rtl/inc/objpash.inc