Description: General compiler (active) Revisions in this set 70ae0a2dc99eb1fa4a11452e8aa1b5e133389e21,800ce234991a53d652a31090a6bad7b2f40a7856,64ad48e89ef7d164e9517d02ec9eb5a124bfd826,a21397e356b523a0c3e5faf45014f104fd64b96e,49e7e5f5129a71a6ef81d712e0a04c650ce6533c,7855b3cf1b46021b2463fcf6987f9229c91d77e3,b4a7d6a82eea9ad71bec75571d7c051cdd68b141,d5f0d8e30624ea69c18c50a4e200e39552bd1092,352fb866ef19c845756840859c91088f9ed32740,c7a0022146dcba901802ed22e1b1e76652e20883,8943c0584edc3089df819481e646371ebeae03f7,4860f3934a5b7ee9242a4b90717807f55730f8fa,68bcffc3e0c358a7dc84ff3a9dfe3f12ddd9f132,aa89182bf5f55404265650497f976f741d7506df,4c0a213f0d07ebf3ed1d8309fb4848bc445bd28d,84b5129f1dc443351e7b914686bf70e9b81b99f6,c306f57ecbcd6098f8442cdb38c3a1e8ea2e13eb,e60a5ebfe76d8935112337011c7919c134388f49,692c287c3e3d006e54eb72fab484b00a2ad3a6f2,7eb9b23fa5224f9ae4f9db985f8f163a7753bd63,116f36fe56bb53c4ead4752335f07411e678aeb8,9febce6ffbe18b5cc3a630bcdb5da3d690fb3dad,af7dfbc970145b96fb3b1da40d80eee77dc6211f,6521918269eb70102aba2c4c5dcf03645b53a766,02e03cbd860dbbc9b32385d2a1132d3f6ee6c4d7,88589fb99d4b12450a982445d52c9590a5893a31,f27fee55662aef795e91eb821cf76e7ee6c4c6cc,379c2fe821cbbba289662d2db0acdafde41d29b8,0a5e6d29cb32b42dd488fd5b0c9f377e138f5d63,a47f153daed4b95925d299168baf916a65573f73,112fb4613b0e0f014f12bc29da7ed2dcbe99a1d1,2b459b30d20db31236b4fe1695865faa9f2976fe,bf4eda478d267055cabd7621ffb48ad59be4553b,18a45d94a36cd61afd82e4313142190af31a74cb,011968e74b105e7fba13f10d1bf0c35931feff0b,cdce68451adb2285d3333a059f6003e1b32d55d7,64e8557180e68379b17d2d1a32b584c57893ffbf,a092da723abb7caca19994e66e60288060bf0c79,2a016889de1ba62b9791ff68ac039843a4ab899b,59d5d6ec9536d2e2181d1407448835c5b64614fe,2a9ce2ed6cc1cbdb8623cccfbf19e4981fa793d5,fa2d82f8795c06a3964e462d5ba55ad16df5e06e,2dc64e5fae911dbf7cd67233c39eb6b919aeedad,4357caaad882705021c49bab78882f65fe52a612,a0262525085fe0ea885f8571d336a366c4c750cc,30d64cec68371f819a3460aba3d9776770d08977,9b0ff05ee812e389651a5f0be280ca7837af3dc7,0e546d47ca72794e9d3edfd3f15435fc09d9cfa4,0a3c94bc72b244d10cc16c59d2656d31dd58e34e,c9a7503bbb0728fcde9decb9201bd6a519ce2587,8fba43609d2e6a3a8fc65690f06ffda024d36752,95d18cd0525963be91fd1e6fc43864c7cde6cab9,c2c942374d35ac90b5af802a805082f596a19275,a7642b70c14ce826822d39f691b70adfce0a03ac,f5ce7c572b7488e7b53763d88cef4a8e9451b891,5f1933eecf874f23c756a3544621c0d26ad7737e,b11588693015a51d2cb70f4be4cca08cd3e4ffc5,dd6039716512f6679aacf46e24a5313673a3eaef,5c5dc2ed500be380ad85a1eac08c08536f9d1b4a,9f16c34329410b03b01ae0f66c67e2f90c07b864,c37c485eb78f7e827cf5b66578935fe32080de5e,0d50a63c7de23aea457bbbf9a979dd64870e5a4e,063415fa72d9b7e83e5f7fe814845eff10f94374,4d2d26c3183165ae27d2ced87d124f9d7bcc5f2c,e157939b4102eb0b52d0b93e05ba2f1f2021edfd,a40335de34e27666392983943ce18b4c672c4003,72416edcc465a6f9a9fea43c4219566750fb8db8,e8ebc00b3b863f7072014f469f0f1096225f34ad,6a6ea6729f4d4fd60791e504fd15e72b1342dfb5,7c92412c74ca66345a3f5284e07596c3a138f078,095bd6da7d845178545634c74cb3ee4b7b31bc17,11851d274c8c040067b6e61577f2b1d7cd7052b6,23570bed33014b272064e963180c76184ed51d1c,08d6ca72604e14563234849c61ecb13f071fb5f6,6dbde11f5a46550784eb4d288b765c4339cf3c4c,ae8304f65776c3bbccbe89f6eb2981462ca96e52,cefb38b6054db7f9978ed12b95c4c6a13cfebe16,d1361ca6edf25dd49e7184b4312b3ed050a575fd,3b9f5a5e96f6871b119fa5dd6b68d64ac6bed3cd,9d56387e7fadbea2e45f49738abc2e376379004f,ea69a5b372db2e43190cc502392b965f76290de1,ccb8e8656020dd8b550dffddf6d2807bc7b8a2d4,b96a8aee616b2437cb5c5b8c8e2d5851a11f56f1,ac37a54d794ec134ac49fe81710ba0b45b774831,477d7be6515dc3e5e3ab5e01f63828d62caecfab,c43cae9231a40132bb9c3f446463152edcc472cc,20fea3607cce1b6c0284c7b4c3c75594589cea99,413a3599c1c35857c5be27e9c61721aa072524c9,97b40dc16daccea9a2ae62cff12366c3aa197c39,026d06cffbaf1658379a61f657415acd3f43e2c8,50ab607676f8a7eb9abd6e499dde5362d32bbdaf,758a8dd34a5dd016c6cc4447d609ddb1d6541556,b60cbf33296d21e8d207e6949dbb39717d0b2f25,67fe756642367b1a224c6dbaa05026fe61096bc1,6629e72d795b94e237dea897f8526617d6c5160d,eeadf618b8320fc653e66ff4b24b58017c10c607,2109612fa3bbc7feffcae2c52a7661e65eed250a,b7da7cd654a752872057bd48ac17628665750aa1,122d0d36d61c25a5a879591b2923e1f904896de1,3b7efb5123d3f0de813c8963ddbd0c8e027af90e,51502874aff7417cdd9050b3d0e24af48aebe176,32a51d7b6247b9d0a65a031f49beb5f42c69cadd,97bc58d2488f10ba7ae2590a029d41d60bbc7245,6e453a1477d6525becb22e90764547e63601385d,6b58185bda1b6d467f423d50a326857c5712f2a0,ff002e266434a261eb65df57b1b9e2241cd1ee0f,93e39fb0cd4f769d46de1db0c6ae9b7898b7bcd3,820d2f7135d7160dc85370c27758e2f1f6f3eee6,95171a1e2281d494c706108394bc0e695dfc1461,e69b4d2d9a9e1aba83c40a2b92ecda28c4625b44,ac8411f3cf29f0361ee963ef0d08d84ff85a723d,8845f4d1ce390679902873a611f9cf0e04e5b185,2330164ee2e700dd8e651d7018d2836bd722afed,7cc7268635512a76eb3f3473e6ddfc454ecc2294,c6bb85eae998ed42c242a3d5d7e24c2bf3231460,3b4011760a1dde45618b9b48529c5827d4eb8849,c55ffa8cc7574d94b38c7b5f7e7d41cb467e4578,1cc995b471f0e708abb9113064877d9a01a1d477,4f72edcdd59d7976e26aace0e6c0a393b6c4186c,f87304f5caf5f9e3afb96d339d12f90fe5dd9772,b1b559f2838fdbedfd399789c2a34405d0e74f91,dd290884306f9746c1a60a6b85f137d58bcfc759,eb769e3859d33f1c93f4870d97be243718de50f5,f3d831b480dabc787b9126e3929c7fcb387a309b,c9a7afe053a4feca5188dfaa57d2e42075eb48b9,70cadc76948864526b147e46052605cc7a69377b,f7549785407c1ac00df6addbf3c7346ef877debf,b840db72284ec707b22636aff5d36d84ad95a228,7f5c2fa3aae4273980635a703db4fc4c8fa828c4,a7c347fe567eead26455fa6be3c579a227673362,ce81e509075e2a186a2d9d854d1bddb891cea6f9,9c03c298567dabc027818e995fef06682e91a226,9a797b9f494d723f8b8b2286fc5db0338f63d98e,dee105654693cf7a8da064d3a2530d9436b07fdf,df598f186829a7074edfe4c4024c89e07abb2668,f6e32ae90e7aa852390174ebb5b8aca0392bcf25,bd4b7a6bc420196d0e846b5f058033101219c2cd,a2cee252e85a2e04b1e13a04d48060a3d8135889,4d03f3a65e9da5a7d9bd71c0b9d0a1090cd4bea0,a72a12eef6133dacfa6d0a93ca8de63a71e92da7,e7c4fccf41056a5695f6aaf39c4b12df95af44a2,2ba239ea6d1474f2a6699f725480bbebfecfa005,10ab893de389cd0dc689ee4b038fd07487f5b0c5,1d7486748a27010e304589d415c961435d3e0812,51e68eb302c8f7fbaf95a04162bf79e3c6de3161,1b16ff3629c51a305b9808e751456f7eff1a5df8,b223d1c3048a22c1d2bdb3e8d933414e2843a737,644c47e1213118690d78d593a1c217335215fb1b,6c82b2d1daacf29cabe1d6c22be050f12cfa3303,925531b99c1ffcb99a838a3991005eee827bfa9b,94d7a02fae1d06a40fc9313f7e42323f97d577c7,75a89d21159b3c4106596993f938b77e43ee048d,4f0da5fcc3d4c0dc053cd88b1b00775b22eac668,4fb7b5d3ffe403756478930a33574f41d05af580,8d3d5276d74979c670c7571d10d698ba09e5c9e4,cfd0790f89641b4c7b98a24314448ea5ce6543df,24f6cc0da52e0c9f0c5285c7961e5b66b6c88891,6cb6517411066233d517a2d97d1e0dbdaa1255f3,c7bb028d35b0db4355ebbb7d97cfa3962db938a7,597a23d278f2c870dbf0a5d7fadb83908b365ce0,6c888949992e530b72e641603d5200b2d3f57b9b,a186f484427dd09971c4b5c335b3a7e807eee796,4db5478acc409c6070e38152b0d24b7693c4df9d,acbf7d15c494c68b0f8209ccb0d041c8dba351f6,afd4599d26c0462c59d0e9ce9fae76a47c6d333f,2f40f818907756d1dc844bf3a5c9899986a3aeaf,04d295f1865d6c011d131ea4ccfb7dd1928ca758,4869d0ace9883ec2e0a4aa9bcf0cb63070df81e9,9c3e9e80a3e9aea5136c0adfc5bc8b41b3fa689e,2d01fe76f6debe1369ae3a345fed259282e0cc10,e52cf555ab862662622817397df755cce1466621,2b6076a719f4671b7bb838bb3ba8bba19f1018d2,503ea604f33b5a7dd72d7a6417f9a38774f19263,f9668f8c037b6202cd558fc173ca1c4256a1c6e0,ab51e8637c2a8879c3745dba029b57590c279630,8c362eac67df688f6c1fc7361f0d5c06a78c02ab,da0deae9aee929f3ccda08afdff56bc931a19e52,7a65e1f393fb3ef10fb4ac15865703a39123a8a7,353be907c76801e05832396087c5b653b301d7d7,7af95cbf063d4634f3e566419cca85ae6823b16c,1abea6451c7faeb0754df984102edb34066df709,13ce27cc1d4a7b148e4236d1a9c2d7d0d2f04071,d4e059bd41b62841560790c0051c9c437243cad5,e3546cf5af9cb17fd98cba5fa50f54ad16e14c9e,9a3ddf650c1c150039b2f63fd84300eaa4f1ac81,fa4596a08f2027787c19db2978208781828760de,3e8c7f66b71cf633a74971b60150d67690b43959,3a43ffd57bc989d3e5facb1edfefc49cbc0f18d8,382d5060a04504cacc56a365f02100a65108ad19,af36913469cc49f412cb38dabfe52400bce229f9,1a559f5c608c31d1b5e11e99076f5b8b9da19dc2,8b9e90dc7a9c45eb6d0458daec566d8064e1ef52,4e5f48a25ed461106a250314f5210f160aee1199,bc77aad3d935e43807cbf349ad3b355508a961ee,e829596750b6e556b5104bf2308be97cb4b1db98,a87a7270d5fa1ea935e2a5e0fd411061e3215263,607126346997c1c34a825017a7c00d68c4cf72ed,bead1f81802eaf2f58a58bc4181e29575080d492,08791712d710acf57282b09f0846b1c8d27b9c5b,7c4e7d6bd3d7df2117ee4a76929746ab68079fc9,57ee0dd00afa7c2fc0eda107222e45ef257b1f0a,a277a5f8db6a078f981748c1f73b8cb43ff36f83,9f88cae771bc3bc99e02047cb1719aefc64480d2,e5c2d13671435042f61ac84d9634dea94f00af57,4da16992df594235915d715c8bc83f53e87a1f56,039aee956804015b1a6c3b07c203a4bf3bbcc49e,a04e4971fc3ef9b3bf5adf3dbc2a3b97de28b287,c7834af3545959d7c104078eefb568243cc71876,075e3da334bfc9788c2de0fde5eea479afe9616f,f78e2072a193a49660ff8cd07273cb6c45b03779,62cef8eb2b66c464df6ae66827e090476bffb657,973741c9197c2b3217ba10f5058b7a2c3377d1d6,b0535d8d0fda36ec637e31343fabe552e8cce954,d65737393352eabc8aff52f9c7b6545d09c578c8,ed2ae508d090338a706418fdf740bc219b614776,bde560dac290929dbdf0c8df20a9c7e1f4dec727,1bb8bd471ae32a1db840b975616fe17e9653ac2c,5358851f84b9fb9af41df6290decea1c5ec7610e,2c1639003c50bb82167036f7372eff8100863a42,478b918386951fa9115d1b7206c83af732dff257,0b61b5d4cfd624402797619075436c57e0da3be9,1b0b81f714555cc0726f3679ddfbcd55c7279db4,927fbc4387efbde9bf4865e9e304385026e4ba39,349bb2ff38a56baf6960a0196326aafbb1aff9a5,2b78a8fd3dec629d91b9fb74a01d06d904384117,53542b7c5ec57aac80fa55eb4efc9c85fdf33129,44beea91b5b4b6a43d55a215cc7281e042f91cdf,e008785152df10d7ac99ff2a162190d2f39a72f0,b9ddddf9b153fa5178118319c4d245d20d24bdb3,33d57ac646240541aaaed7307758d44eb93ebc7c,8d19bb12a2326177304ca963f406dc9a90961cd4,55aeac44f0c462bb66b0025884316dd13ce033dd,213b87fe91453fbca07dacff506b7687e42494e1,97a144ea6abfc4deecba0e10786e17519e1c6ce6,079d616978f27a05004218d3fd6724ef05b5e4e0,5a5b47fa24520aa9275ceca1d20a36ff3b39485c,f76cde1c4c5a6bee8562d5b754dec8e9e99d84d4,281b3ad276d8b66085fde25139123a574ef06afd,ba1b4b1c920a86bf7f8c6fe8777026e0092a9651,b291d17fc5e3b53ce4e8cc5f37d6f9717a9f2288,cf9596421bab9d2feb295e2bdbf013195a8061fb,c0f064a35ceb3a847e6f976ba8879bd288bd2cd8,2ff391c25c763d3aa585160c5643293571a37e29,7e51c5e8561c905ef0041a993ce933093da43798,332679e28aabacc973453b31ba062f4141e919d9,8ec3cd6390b6da0f42cb4cf79fe910c04dc9dd5d,47812c8a3d5e4689d16d577507214929af857ff4,eb0f02348d240a2f68c662d83ab0cba140954b4d,4c34b7b67d9869f889d9b62a30cf2bfe1231d6ae,a418dc6c912099c870db748c09be7bd87bfe199a,aad87820e687fd71d0c8f87b559b8f4b367df657,dd418f24b594340b84eac3805f906c7dc97e2b7e,77658b925bef93b5ae127e686acf63cae731b234,9313ddea78051cc7ec69710462dc2e880080a1ed,cba4aeaca5dcbed78c85b804ed7a5bded119446f,322a717c446f4cc3e53966e908790a87cb309d2c,eab079c7bd9d93bc3f02309e9ada641a7c43c60d,750567f8e36edb9af45221299f76d2e33b1ac8bc,4dbccce43c24eea0f0e9d97e66ba84ce45a40e6b,ded3dec22af8e83e1338569ca7cbe6daad23d3f6,465e8a99e00aef67489c91014f6bf2dcd67b4545,1dee4c41dd487adbc3eef94ac974f069deefcb6e,17c48694a50b69e1f8ae9f10b878a5057ab4b02a,fe99252a9b71bac16570c95e54f4165312d12fce,4239742b35471d8c36d1dca9c2bec527d66c12de,7c02f2b5314b4527db41eba28860ac5e121779bd,2487fa76056397bdca5711c3360bfb27f0620b4c,1e07606cbfb0166728c305cd73d35d28a3d9ccfe,4f2ab3fb1130a34460f5a2c5c0fa8db24d8f036c,ce8ec3ab5d5d8458b16c2e19e2650ec16822e542,d2b3da1f145484472d9ab905805715dd55a8575a,697f2fcf755fa92f67644acd88b1c1827c2ad8cd,dec03b5ac7d43c9462d930f53a61a6e1514b5b08,73c88619293407e62f358e0442389fb3cc10a87f,a9b015911dda052989f7c64a5604314a4cdc07b1,1474db42e45589fd8ee3f4a060e7efccacb4e7c7,7871ccd0546ee221079bb9f5c173d6d3eee4b23e,d3c3f2742c87a5dbd6360e5e8f4cbfc0d72dadce,db1903f45d6757f3d18799002df426b66fa4a0d6,9eaa46f7919d676acae31c785f8eb35b00138a1e,1f3d5e88653a37b06dd3de08d68b2083a323fc31,fe49522e6fbccf6fda941da340818b23e29dc1c1,cdd2ba1a4deadb65f70f19db565c8136f6722885,0db19546efc81de7638ea76bb323d00b1b8ea20e,4f3a5cfd1ee6cdf21242bb730c2aef6c1744610a,9fe80d741686ccd0e1ad78be9af35c82de80a4f1,85684eb66d671df344c3395aa97ccd3ef591a137,eea3eb1a8ec754748b565690cb590f5c0292da74,cbf95aebf44616969cd12b1f3f3a984b1d9f7295,fbbf1f4f1cf29d23bdc337dcc7064e5e69aa3218,749c4d4e4724910f52059874df8d6fb12111a6d3,d80dc03ccbaae1a432356148b88f20a36a9ed72b,5d4af28c0ff54f1b7d6d97f35a55074865612445,d6174499b1fdc948c28db191080da7f144c93d15,243c967967070429195b93b0cb51d2b406badb4d,7ef3d39d93b8a07c88d5359e7d40bf46cecb6614,a57899323426c8e1d5cd5ae6bc1100464c1f1ae7,982a870b15184d033e72efb19b743947c43a8db8,c425c51963854f592da4b9dbccef198959619cd6,98f55b1d8605ab1e5828d3a710df8c6e1afdad18,6b97c712f69b190f2a9139d829fe5741d4430c3d,0a91fcb44fb7cb51476ccc0ad2bd833d1f5af8c0,789f13eb247ab4a811112b430d294a4bf70b9c44,cc9f8b7f5685e205695165386f3d262b0c02132f,40f6a4ea3c36aae0b4da2e3185b533826286b089,56acdd3a11576ff9473ac42b59dad47ee2f6ecc6,67cf63049d4f37852306f5be9681093c5e760f41,40082100e1f688f755fd6726e01162fbf2af3c6c,a1a17447ff3d95d0145d4113ad563f7360480a88,0f57327bff922d389dd7534cfcf29027efebc7a8,449a14dddf92a0a45d0e810ba01d482ea5f27b9d,3fee990218b4648ab020d85f783959b1d8fb0dd4,e56b58c2b05124558bc3c0d18ef1d1c48e9b6d01,7f772683cb0c265dd3c8f84d5e2ee38c73e24b74,0a94f8fc085580d97717c8a8f2e19a9a53a44aaf,b2932393df279c6856cb7fbc12a389fac3de060e,f91e38d1bd3ba024ff15a4db488e2bd2d69f9bcf,84848df18d3b351fec0651a9873128553e84e522,39bab2dbcc3961a59542c60abd70ad73930087a1,ed5f19e7e388356d644a695c16c8c520811099fc,24c4b90343c76d18eb4fb3ae3d85000d03c321e6,ba413bcdfcafdd5ad69be04685808df1b836608c,d137e06ade00a851a5370367243c11fcc79043ea,ee940c8270c8fbdd585cdcd548930e1a6872ab55,e296b26e9ed25051d1d70504c7270f2f649f5d81,a1b556d2118d91a235a1ed365bf88ada086237d4,3ad24c9db8725f6b53e3f3250807ac850a7769a7,f1715ff337103b83ce632e92ea9425b308269fa2,62c137a6d801c5cdc3a2b9f20ea8731836523279,ab2fa724ecddafea7950d8998665d02ec5af3354,db37146f128563ea196aa00b118dbc9376e53f48,3a20178d96463df72b4357fad69838b87d0a5825,0e04d9b4def9447c67da46cfc22b8157d44b34bc,b5e6c0b98d2c04b0d6ba105a9c52a65eea00609d,99914b427931330a22b9fe9210ea44acc6ee8101,d31dd4ac7b6a7f2543c130bb10d927e8688be5ad,f9cda608fa3b891ceec7d21cad66ef75bd4735dd,55d5bdc98d787c733b84b9381a992d67f27d9cf4,71fa4d1fe2a5eaee061fb71fb2045bb5fff2db1b,5cea37425532e2ca502bdebe2acb19db22a31db9,d9d2515ada949fa0c8993ec3ff6579a08624a865,0b63e89ba290a4df67893b01019c3614f8cb8f1e,ced3885dbb54688ca8e0ad3692949eb4fc108b9e,402728239f070c34402db4a5f8f39c98788f95c9,a64a8f8debb219661633a1121082bb882d8ccadd,3a02393584b6b7e4e4ce5a4ff12353f78fa38b0d,352ff5f82ad07bbd07430a1c433d1c417b9f78b2,dfb9fffcf917260a6479ce75da4b87b733d1b4e2,8ce4f9606dbbae08b8cd9c7060ff6021943489dc,b945e66e2807410180709dd0b967e1ebe6cd912a,a72553eea27cc4a8ca0c96456e439e283d9ef972,9dbd1551310b08d5255d948106ac4d65508b9844,80ebb98431397073b582bab01c14a1555f3eb015,404b465c33823efb0294fdc75cfb8da79928e749,90bec938f6ecafc9ce36bd3fc53a73bacb0bb20a,98b1b04951f82c981675a16c2c462287ec5b699c,6d0c470a40bb3a58f2f0b2473c597d0c39a4ee7c,87458a065c54d01aa6d0013299c55d1b99d67f80,b7a8dd9479f550b99b902cf61a719bd3da44f0c1,6db674cd024f9d81069aa1e019afa101e693af38,4d6b8a6c45c5fcd9a7120754358cf94d1a8a42fd,04a50733ad9ab91ff3710e9ca24881c15439bccd,c932dfaf7058a61875276af4a7a9100c2addf1fa,d8903ce6b3af3cb3fc5bcfa48ae2823c1fc2c57c,3206ac35084ab844a20ed8d97a58048cd0b6e7dd,f04afdd5eae60b2ff1d7a1bc46bad34ca54b19d4,43b5dbf6136f053f082c975c8e8d5cb1610ea750,900fd35f4abd574488c8c85d8a62874814ea2a3b,12e63d8a2cf992f49656895e45b6c79b752546d1,145f4299b49a634827a46f3ab1c8a8762c5be06c,6cde8ab4cb9e41c81b04c310b6f0da5afed26e41,c282f21b1b4f9eb8403654abc51bef8956baaccc,217ae6e4bbd0c927967c8d5d2effcb9f621ea89e,e7fbebfef57f0cc75dc85cfa4ca85571e9ae6f99,83611b83cc9b24d1db270e1d545536c651f97ffd,aac8559a8d55b1d594ce91258d8cb66a7a3d0877,18dfdb423e18ff7a16f90699fbd840230e438bc4,6eafee72d78b5785512f113ff1330a9ccb572646,4c338b1f70c86f29d90f6af2e44f749401e88315,797e336222fd5fd1dc4f5da49131381a3174068c,db83612b2c220def234fdf6f78acd565fcc483d1,1da43f67d40dd92ea2fb1cfa327d6088fa838aa7,0b3418e9787ee6953820f6ae07c5e7b21559ccca,99af7f2781df0ba8475f99d20acef464fda91c96,2b6ee838f9745f266b22e73abbcf22def8b11864,46bac33a2d1bf06dd8fd27742ce4751cb0c12232,26acc8fb2a6f634ae80c2a15ecd7f95a8684ba3c,99f92ce5dda2fee4170b359c5163060986b4ea78,d2371f4176f73f22415c21cac3177752b7d27024,fcb6072fae11123300b6418ccdccfbc794319be8,d77a8fb5f46c450921938937ac1cb0f9a7a0a75b,83861799ae140cb032cba70e7ad3b98f92304f09,05c420fad517d77502e023c720e69428a03f5cab,2c4c34ef9b2da6a74ff850053573de7c160a9acf,d10fb705e4c39ab8c4ddd6140e6f86166dd01725,93a08aaebd6f9dbd709c700d092e2cc8aa06d895,5d01d53a962a8dea8af3a4a0ccf6b2901165cfe4,83afeb2e9374c4db290c5669598663211c86cc10,7809930b08765742aa3bb1ee307850e5a86cb0ff,6952ab5baf2bb78e2edd6fc8439348838c39f617,c32ddf42ebaa64e8cc136c8aa3ec88110efadad3,30e7406be3f112c3cff5bbbd88073ad8db08893b,8e436e6335f79785ccd5b4629882877fd13d49b7,3ebcef32ba62ad3f66c33e983b6c6b62b516bb31,1258439767d790a3cff8e567ea283340123e0063,b739d79f9ba4e096c35dc3da134db47f75867fee,2c176be2fd61a5da4520b9ba74e6d4de0e4e3a4a,868030b3fecc84668396e5536b7211d389ff65e0,34b3af7e9249c80bfd29928b6e85d722426084f9,901dde5fa58392d77b49bd648be0c72b475ac287,dbafff24fe5f38889834288c7b2b0dd6d1bf148d,c70f2c63cd9f0675a11031cd63d7ea707f3defd6,ce598c15ec5ce27ccaab373a292f250fe0cc8d78,46afcbb362df8f808307a213e72ecea43c4c6634,5a3883b1ab9f38bdc9f7ac82b62e8f0d87c93c74,d7c24c05d0ee92c575f4bee58429b8bf31eeb114,7132973847c3bd55518db8fbfcb2e410430f7150,a86623b97a80ed644ae83cc62f285bf0cde3aa43,295daf4a7fca682f9a043bf284f75c0661f9b53a,321e4d5837f7747c6ac08b58e3e760321df6b655,0c4d02ff9cc3ca0c9055a6e594c983b10edc3902,90bab63e513c3db6a75d67bef0e76304935a1b63,6d2a7a1b27c85a67ea35210900d5e5e27d8ba9d4,70b2904c48d6075c895a9d901481474cb2712346,3b08c6b0ea1c7d2a960bde6e004ee8f0d59b786a,35a4f96100870dd1de78141caf90c03477ad8758,251a93456ec25acccaca2cbbaee7a09ff608163b,1736950d58bbc94bcdba43bf1e79848c1bce1c24,d5a18f03a857c623cadf41ba2e26bcb32d9f93b1,d24cfcb31c283c66bb67c2d57e6be8d6e1fba971,deefeb1ca0cbd905cc9e677eca59c8e6c9f60022,dd9c76eeecbc3f607c7f9973e66732a6fd61f0b0,1f2354752ccda1d531faef430b0094daf6c66869,8dea445ffe45d8630f7835058cbf8283cd6e7e93,7038d18d5025accdbf95d3b6f8ddea4025542b06,7e78fc1d7faec4d9263b3551e0c3efe55fe5553d,bd168fc5520871b9b53601659a92f68568a31276,262cecf5285899bf64f3be1511692f34aeab7dc2,4b54cbea1e5de056d503cd1c195d1759c0b3c474,99b1283e2ec3b51085bdec70f7d60f02bdd98d27,3da4cf0792d73fae6a0dad36f2f58fe6f02a72e2,8f3aa926781ca9fa06f43c8394d53864a6498b0c,2d77a2c10478d1aa2d65520c5f0b4022e4280fcd,9f0f31a1e91daf920f45121f11e569328377011c,d1d2f6b7017a3ece17383831dabf9835bee88900,7bb6b525b1183a4155ebe3c51c1aefe84a2a5f78,90a164bcdac5e814327c161d2ce7dcd9e4a3c725,b7a4965ac31cdd9584e980ce3082e8a63924e0a4,238c9e576ced17809f6587d9114414adeaeb4329,f40736438cf33894a6a7b408da788d889959f699,2b767c4f8bdf972d3413db62b76de03b5ba59a7d,4cd8193c7975bb1a03ae2f9fe36d043462a5a38a,cc7e623802c1dd79578718708f0a54647263fda9,817ec5e6f284e61546c133fb7000f780c3c7d7bb,141f2403d367ec874aea7f192e8b9e1d003b96a3,d69cf3a440201fe5ff83b55f8c3332236319d0e1,955ebf2f098c47de6e3209fe55469965c79542f6,fc46b6c57c2444fd5a87915e683ba725f1a10c9f,7f8dc75604598da1d48340c5c46f471a5102e9f9,4c9a0403f4c79d12055bd04f67d9f52cebce3a6c,5947143d8fd2a02ed2b0d164eb4ad5434c335f88,24e3d95fe018bc7f6b9604d008b471855c09023a,ae953214eea3c5b8dff0255eb02167bc7cbef58d,31431d99ab5a655837445adf2fc2339d25a1ab98,6398c42a3831550ff98de4f629f474bab796c086,5edc520468a3b2594d7ddd6795a2d806f01d9ed6,5a379cc256b6e89d1031584bf2d49b1ccbc82c1f,58bbbadc16877e99d24515f7e05920c47854eac7,f23f3a4c5e194d651d180f28beb810848419f716,413beee9ae1bfed7219fdfd1249a123fab87aa71,46b4f911753672e5044af4db7468f3ffa02d25db,fd70fcace6f414013a726b5f45df78e91459befc,5d8078f6662f7dd4d24cc5c20696a5be1cbacab9,85edf1c1ebd0fcd58ec25d8f083ab5345d531bd0,c418d63c16021b2bcc97e6c5e621acb6945445c6,867df5362c21a89e6aef76d32f6f6a717d80c9e3,ba0768b6a6156b8c57274978ec072111b419ed6d,0a0397c9f5c30e67ab1a94e4db4b5cde8288b92b,3a1ecd4f167c06645577d18c1ffde5374b8ff445,0224d632f1fb094078200318febb294e828ceeec,71df2911da2124b7bd69428bda51dd6964e51c5d,81fba52adbb01bd7265cc598200456d2367f5167,f82cc96cb939da4edee6680f28b0331ddc490b20,45847da69310f4b42a005119be640012399c961b,663040a666d46d3c47d40c70dd2a36ded405e854,ba203c0564691f1637798193368a292f14b9765a,970ce7f24325e13a153816d8612fec071e1e674b,9230ae5aab60d4e085da647271f2e77779862251,4f38f12815c7cd5b02c1dc987dccc248dc442450,3d5ab366e1d6d2df5ec2c6edf3a870df2a0213f0,5d1d9858d1fc68fddd69f5c7d940f84ff79282b4,14a7429e19059bad9c62c2d2e0fabb544db17e56,4936358beebea71d5f20ee4673549db61dc60b5d,8fd0a27875abb2636a1388876f590a3a56d83b56,e7d590724ac8b26537fa90051f065a86d86bb443,94e22f1262e2a692cf1a39f1e6c47af351ed436d,3662afe93b6a35f38d1c7fc50945c14fded32d59,d29f44e1c730ca21c4a283925ec1241a096bf9c4,fd20dc1086b02fe2dab270a5fe77afb548d4bbba,9c00a8b616c42979f807b6aa818fd50b4e724ae9,a5a87fa84c08342e41d177168c616519ff01430a,69786ffe73a1247e34ceaceadde679a03e0e0d51,8ffb72ddd0ff843e830641aed26fd6c6bdc126c2,a019536cd5630612bb81e87cf98d665456076d7c,36286441b245ba19b1deb984879e173fc7de8c33,0c6f7321bfec374bf9542a1e664911fff8e893d7,de095c4631c4ab452e02f0efe665b4d5ce1adfb8,5eee29e5d1fd7b11f97871235f722b8d3aee391a,2a87b885b1c4d20f94f85a4467daae794188b473,db2875cebaf152bf1dc77e3517039a77743b5b6c,fd1d2271750c608100173ad89aa88cb9517cc211,5d9771d141a145cf168ad7570c99226c3611ad9f,16fc8c8d9a05fc4f94c0e489892f0e82ad530e76,50fe8f70f5095a318683cfd9435c5a8d56ed95b5,fa1203029f8885b25e9324e3c811d6e9b9f1058f,353fc13257104a006558df876a8a2eaf61424ab0,cc49d256ea2bd7324b054a63a5f4051dce2ed135,ce9e1a3419a525d024fc4f9ad5af6c261cd44f7b,c3c3e99c6426da68c901d4a2314133b6e32d7df1,d25820b83050c192461c02da3803cb16a066d2e1,aea0f3e667034d0aa878888bc0ff3d870a25fd2c,dcf4e4cb2c04adbd4bb299b389913c84ed56d0fd,cdafe680c2353d46fd1f00549e158a4c5f2fa8b0,58eef0a5aac53db1d7d5d7bed2515a535522e6f0,fa2e751f9f0787cc827c7cead21f3b36f12d9b3f,e3e23df7e208a0c72832b3528ed99446410e8dce,ef6dde6de305cff538f8cdd0bc4dca13c5574f4f,d14fd51d0b2f47c2059215a388a512a5c7d6b37f,9e7cf37cd6aa8d01ed7ba2c3765877631505ccd4,ff2d71869966b8f39c8a0772e108b766283ec936,9678542ba611d2c0a511eeaa844d760879903910,0fa70759a20202281c390ba48b8b46d7eee37d14,eb3a470f456c12ed78c52e9584db5bc8b87581de,19a69640883fbc5a0c0d607863a6a85673d6f8c6,435b57bdb120166870537cbe299aaaf8b86820b8,eb71d11b9914dc9b448e7d1a18603da807947c67,02deb7d954b37850bdd92822433cca41d27c102c,bd1d6f335db93b5e5912e4b60966a254e07c212a,14b7eaa46f2d80ec8db5efbd5fb71d4469002504,f6667a5143147f88a862a703d1baf1cd922dd885,56d91b4ca79540828c8af3950d6187cc210d17a2,d8e2db269197b6adbbfb23103d3a7a28b193163d,4064c5f39befe1f71d70992b9e3e02eff8f7fffd,9e8bc7c93574678628b613fff8319b541f1cac21,11319353fd0d5275bdb7a36d1ccce97cc0524099,3949be69898e3a724509357a28617376e8a339f4,b99323bb193977646957bb6ac6529e0288c0f963,49026e126182c2fa2dbdf4941e6d6d14b3b24c9b,79bdee3278415121dd1c7521cc4457c8ad3a8f25,3ae1b04d09a165e164e3697391125710604f5124,03f7ef4c6336182ebd5a053f8d962438abefc644,03dfc615dc450f38fae15cd06188dcd56b877616,cffc69ec1d0fd94be0ec1ab6f54302b1d3158371,988dce14c7499b599e7a707a88941c43a822a931,c3f4ad39a3d93a445a490b963ca1015d416db6cc,abb9401011e6985631b99c28b49a8c1053b6d886,16163b74ec9daf00f87075afea385e54f9813e5b,7ee889d4ecebcdd72887fc65961bd4a362db0dcf,a2d3522812a74b2715191f9d447407582fda6951,df4ec9e8e3b59f70b37bb762f50d37725c22bda6,8ecdb2e9ca9b32f1334f237612411e7e17e5d1e6,35e11cd6d4df412a4a193e63b09fda3c9ba910f3,245b58c249b4b29ffc54e6c1e50a1474cc84f7b1,e0041a8244b79abd964007b694f78a8e15bda682,29bdbdba95bf5785005d668aadeebf3033d3e29e,6c29ecbd1cd0e51977fba16d6ebb09ba32f4e520,67fc9a7853918631155a509ebca0983100e613e6,00c2fd40055ff5ee214326de04c594231b9a095e,533a1138857ba2ff5daff90e569c521483f2eae5,5573bee314cc43d3eab0cb29ebfacd0898f7b453,bdcda8660eaa0f02365a9000a55c7ad8ac3becf9,33c4a5dda713b26acaf35da6ec913ebde848f54b,626ef4ae0ccd379e74fc660f914e5524952e6c7f,9d765af6932467e439c8c850f43be86bb40f0ed9,af8783e8d2d8312897ac6406b2ac30af9b6c609a,e5de269664c7029770bb2e4092cd28a9a31545cf,7f8800eeb15ef2db9dbe43b91db194b0e0d0e53f,e251c8e2ab3909dae2b91253044e8be67a00f6fc,e80eee5da54e32313333c2ca1f6dea016bb95c27,e3c6ef21d101b8f95dd6d410eba8990ec9e88845,ee3258c0daaa60b9cf3c12e06317bb17ae886c0c,cb9f569906d356aad9005ae1f22966c3182d4452,fa9c7a92c78fc257294bfe2c9e7d92dfdb69be18,7e5bf5a9fbc07b8e2459545411ff41499679687b,2d2015144653ffdf597df5a9f24e78a1d11941b0,cc703a9c59d1ff69db1349257be86eb7b0cbeb16,421b06affe2d3f2a3ab174fb60934feb9e7c11d3,31e5b2d9a4e1874058b586667429956b61a46101,b7f58dd8c8eacbbfe8aaf8632b6617228ded7485,cfec7251954e78c5e2353a6f842bd269582f5d96,59d300fc6ed13237ccaa37bd2478fd07b1588a25,172a4a999bfa8f9d0429bc2e41fe363a778d8821,cb67577002b81669c34ab1edda2df068058b2334,e19eff13324011b667e4d1b85cc521b8eecb8eff,f481587bee170e0545df260fccc9c653740e1513,fdeaacac21cfa72ea0148158fa8da9aa67035881,ae04e5d7f0c2527677b7c4ce6be2c235a4635c82,c6a08cdc6e57c5dff6b586c40ad9fefe8c2f2a5b,c3ef42b164cfdee2dc5dfaa5b2bbb7790799fcbc,f9530437c2fd229250b3ffc48c0536df3456c192,3487c34ed9a2c87128c39bab5a5dcd336e5ef66f,6842c5784d5a6b21584bf26428a01457c21c60d0,1fc7667b3bc86cb83ffce20cace69ceb679a269c,20a47afe13d37f5d4f77c65f3437b4849f5eca48,7d12e8cc6dfff734632d92f9f6a8ca824a7c6cba,fff3b67b7e3f2f7e820ab782d40d680f50d18539,ac1e0f96bdf26510682788eaa26a813cbb80a7ba,c8f746b88170196adb878a3166e566be1189dc35,d275e7a7e658debe32497a50c5e49d61d154b294,f20e6ff323dce8717477f7d1cac6e70ce0c07b73,40bbb28fd2b877cb94ce03b5b0ffc5f45760a83e,137f392c66a298d58a03c3ca336470e5a5274efa,99ce957111b021c5739d96df65ebb11fb274e71e,79dfd9fb51a82eda8f6469a6236a78e7ba6f7f6a,88a8871c622794893012bb90c75253245a945d35,47dcc5b05b7d41ceadf0a7b10a5f6867ff110df2,2d295a381642e32edbbc08e206453d9251753d53,e1e89864620fe33d035b7987c470847d87b808be,7747c5fc27e6e23247c4d200e3d9fd4c060b9770,4b455600b8a6c98158383c01cbe818a3d80df6d1,7464c880034a94a76aa06cefa0b1c4133d8969f0,5f3050961f57c1ecc58565e6434ad93ec44e14ef,2f914ee2d89b64e629fa93132bd1ff126322b223,83a11c2a7daa26276316ce7cd2fccc7682532213,1d6e719e381c3a58254f3fa6cdf2021e630d0871,5c0a5b73c7cfade35d402e59bca06c8a6167a3f1,7ee0ad4d639e5a93e73056c343e792b7b03e6d1b,ae6b204c9492b9e7b369239b91af6a77fe998c60,9b3447a6a4cd9babd4b870b4f903bd58e918fd74,6bed497c7c3cba3bde7cf91a4544c67e90b041a3,e1433adc2e40670f50d53cbb7b20616728923478,d82335bf9a833519e0b140c666e7851f6afdf226,0ab0eefae0d359b976d1db4ec81ef5f3709d853e,632f13c47a1208c1f3ea5d05f880aacbad14bc70,87b3b089d6e5cf75078b21dd4a389b4609e2ea04,bf24882c33b971c1bb31effdfc865ec6d67eb692,a09e40945caeeb55c4ec2b0e68efe2a4bcbefc03,d4f0658c0273c43dc0e36ad62c9aa6935096808b,798a1b62192d72ad565d4cd642df9c4c0d9d1664,a969097a8098a6f34d6d0797c9d0de39d9fa2d85,13ab35e3efa733623f0af62b3f21757b4de8e481,851accbb4b332cc720d4723075d8ba42bfd0d3ad,52cc02aa3b9b9b4987a724423789e415c1727fdd,60b329659445aebbc9468dd6e28a4e33124afedb,91f3f022fe4d75b8fd44c115e5863039d09829f7,7eb0be61273e009d716df175d8c321dea5230859,f505822ab5f7702187fcbca8fa5511236fb581e1,40c54e9d37736815438e236c15df0c996b3d16c4,da54d0e8f7efb83515a85c84b49c9311001f777f,6248a127cab04750c174f58514f492b759bc7553,a61a0cce4c96ba0173533319b973a48ebf0e53e8,ff415ba39c27148c52edca43e145b46d4cd4ebfa,61bf55e0fe5ca647824e11ad1254691af65c52f6,f5caa9940ba8869791a45ac22bbcaa461282b9b6,04984e9af9c5105b0ebffa308b2b8f97d72872a8,276f5bdef86a1a6edb28d0fdd58685365eb357f4,f13200d68b54786abd242bb1b0de2f1851386add,f4d96906c2363c66ff50f2b9e526d64c37ccd819,85637ad5fad7b0df35d26453779b00726966b164,6f584333e57f4eeda948203e5e2cace032ede931,6151f7af29ffb7a09cca8e6d49d0fce3eb564c46,da1312698b9f05bf26fdc7ab73aed647849b06a8,06fc84037ce1b08f1e26f4e571fe6f8270f1f4f1,a041f899d358832ce9e08d2111c4f26143ae8cb8,2e259ee3cc5d72202d207b5d6775974f791bc4d8,0a915e883ef0479aaca0db5ae9b68c2f17ecff34,4b3ce0c02359b0596f8099beecb18b6804a7bc3c,cd7e3f354b0c0658929aa8ad3648df80a0b9a0f0,f28ac2bfc6424e5eeb9c3acfbf5df4fcd8a6e6b0,1e66b2464a29125b2ff9570e4af8f453574cb409,2a1d26cc905b54f2880fb3f2c51c32a300f32bbe,bb3b1b06a735f552b0861973710a6dfcad99ed98,40c11baaaca151271e95ba91ea6973de369f5bb0,3e9bfedbc44836e69263eee77dc88c9b888f75f6,17c422c3f24137f2db2d1ffeb80664c85aa70602,8ea92a8280cb2ce9e847a618edfc2c65cd1ed6b8,c882828fd06dccda4ad6914fa4b71c5f3708f5fb,dea1855126c0c5ba379d386253cc03808735bd30,d444f750f9d58cd751f5d567e4e14d40f14aea10,9e307f5c3a408a44d0caefc8feeb86c1b23c003f,94b728005d2dc935ffa03fea63af09f10c5d57bb,acdff47554beb7135ab55f2de0957024970760fc,e775ecdc439186d8d2491925c11835b8fe2f082f,c6116258fdfa92ba483a20da200c968f7611888b,ec227bb75942e940502ac23d58370fdb6a7f640a,0802edb7101071b56a56ea62bf6acd2e0425ffc1,5b71ba2a9bc65a6acd50edbecaff5a1caaa5e24f,97eefb6ac3dfc18b920dd73366ace4334670fa0b,fb4b1cbf35264749d6c4dab1e3050d6cb9237620,af107ca8fee33355e8c35fab6fc5ba5290bd3ebc,cf0716123c0f1feb9e5fc84e9831a8d6ea22fe9d,7e6eeebdf01d8b666c5005383b5e087647953216,7000d82dcdcb5e061628c521d4139a8bf43ec8e8,ba73f7376f07cc32f8ab20187909bde68e348fd0,a9bb9f7310e0db16b56d31c1770b901bac8dd813,7405ae275803c25325ad0581ab3b3275c43a1010,fb33da5f412e0bfc3f36d73cc2ba0d1dc0b24000,3889529e4508035a61e270ba60ebf4b5ade11d02,4525edd9f7949c1a8b72662e9a8c77b46f917171,d8f1aacd785f7d10f6aa9d86e861c3ea5d71c668,92b0ea7d02b6573a4641d1431e08675fbe0b3eeb,4e4f55ac0e34fc39db0c76306aa4a1f8b0029c0e,06c1a17d1312c1ed5d2daa3fa1bfca294c6b959d,f2a8b8ad6a7943aff36bf84bd3cdc8c75f086027,b8a78b135c3dacbaaafc1475c1dc9ac75fe5f155,80a4a01f12de35c02a443d59af55d7ab75da6e88,ea7525392644e484d6fa0c6315f0a28c2c496408,3ced30f8168409baba430b02bd843f31de329c78,f2818bfe7afa76d1a3a7e006e2065c51d1330788,ac6e4f59c65e551801d0a6acf0f5d86fcbfd370b,2a315df80c0dcea764dd602e5152812b1cc56e12,599e2df71f6368e913e29822de9f7547ed5b103c,ef7e4f6f62fdf6ab920f3185dcc3006791a249e0,8c2aa326833e7f287a2059547cfd7fa5af59c130,a6354741e6e9d4338ed9b51afce5b14842df51df,bf5d75e5944cba197baf85a76cee434f3cd33b20,46a366d6ae0dc38d606a849e2b34ba3462d28feb,36e32ee607b644e0f2f4d963b0916b75e501e606,22ce9006ab7f5913237f44a5e4b6e088d7211957,a352a12bb42e507cac1645106bce2daa671335ec,c477816100404a063cfd386cb9ba4feb1e33585a,707f7225314f14f046fc0036b8580d7a2e44133d,0f57151d36944e190dae33e2299cd838e048ed9b,5f2410b87106781c786808f3ed3e3b38b574fe13,1779011ab4dfc7e883f49a837d311bdb59fc789e,0149d26adb6aa25b60d995fc88b8dccfc0f29880,30927039a6f2cf056aa57b69534cd90a70576581,8465710329a692ef64b2d88295b9d532c0dd577a,b8b5d8410868bae9efc28c1692b0bf18757ea049,2f374a37b7ad878b277916d0fe7c4d410328e207,4de6b3e6b9aa3af34516ac8ece2fd8187bd17955,cb44d7d4e2e6a9445e466f1df2ea659da12e727f,abb79553d293bbf36d93cb3f3349860deaae0560,cbec738829ee9bcb2e7bdb879d439121a06c1e41,ef878794025437980c7094b25a71e898bd36dca8,a20209e691bfe1196e52d533feef12c74cb0fdb1,1e3f72403eddd7eebe95ad4ee956c4d3863df9ce,f5833dc0482b39432519552050f9d9af6594b02a,96dfe3d03a8ce36de71970fe02610be8eb384389,b89487e7217f9e9c534ae10e24e80d86705f0a77,6d51c69dbe8e5a256704400b57764aeff2200248,1a9e246c29df8ab0b38ecfe715917c361366d8cd,114c27fb4e921df3808ea748e3c6fab528d9b26f,4ad7d552a1057da1ae1f7ce316b6e55411774f18,f59eae4f81228d9a7f06952dd15349c8f96e5162,fd0012deff5ef06a302cbd81762c3bb4085d36f7,051b9840a54206a5d6748e67b294db13aacdefc8,ccf409c8a08876dd9ba7f10bf966134ab129506a,00859420abe2f23c644087fbc9c319c0389c2e3a,9bd7401ce9ac4d02501c0638c85ae1623392cb64,f7a052f8846f8fb76723de3d13f04d2514efdee3,9bd33f7a45d5f62d7be937a3c3e17e8b7dbe8abc,67dbd0cdb3aa69292536a0343c718b4f90872ace,b355ba3d39870b671be98a13cfe64a571a4daf1c,797077855ee7ac488a555b7ba65c615fdb077359,a6a17efa42d9de2a1206311b536b5de0487e6a67,3885ce98ac05b1372ecd5b8895ba323d925cd34e,6fc79c7ed04c57dcb67a64c126ee960fccc7370d,f6c16323fafbb73c37f0df3a80252ad65fd46e82,d409548842031d600e52fc3871ff71bf0f830512,9b53ed53e3ebaec026ed20aef53cc4856a76d55a,1f5efe2a95174c9a72f3f4e7884dce0d3cad441d,ec0d98156cdfa010b029c88075d56e414db885fb,044d9467820ad2c79dc6200d8e36848303fc4993,e1d9be897a01c86262f7d39cf1a4a136d694bf9d,ebd674d40e107e4e8f093b4e28e067beea068312,1201cc024ed4f14903cdd59e26a458985f8621fd,451afd6e45d61fcbe6236803fb12eda7693355d0,7da6bac960893bfb3d690258f0fc11472c0aa1ec,3c16324f8065a20e737028144cc624f6d1834bf5,73c6cab0961f0bffe52aa6d81985f56d08e2d654,a34ae2261a45f4843fcf8f257b1a162b962ce88f,f659e91a95f761b311814797f885eeb445ad1dc0,22cb46fca9876d6e199beffd0a68e2e642b8dcb1,d3f3f81e1627ca65878c1539e0dcad32de5eb382,76e7833a201b8de2b67028606dd45fd0ad972e79,fca4d3315bd3dce1f2013d66e2652bd157c60de7,11784cb76af3bdd83a034ed09d524eac48b39e02,6371d5f26d849975c0a6400fe46c153327603796,ae0ebd1e9326f2c863b23eadc2f0a24b1c007960,6612bb44347f5b978356417125a92a715900236b,9b68c7a5f5f0da2e43119f5845b60923b09ad801,92671c9b85c7320c80d6ded7727718ea94047e41,3dd6a8e24e228aa6a8883508f4eade692e088726,872c22842ec17ffd691eb365dd4d956687f4ed7c,404c6e0c15075a88a0128327e2d9dfa4449a0593,32be078ab8c2c1c7930d48b5b2f8552178f2066c,a75247d9b0f072cd37310da1d3a47822efbc77a7,9462d6b1eace21998fcc832fdfd343479ffe4ab0,31ef82b9c6f18e699ee8a9fae53dc5c257456119,3abdec9c953d6bded0f7200e4392c65a61caea5a,7a3a4244d105e3b32d79b52b692eccc62b362bb2,11287f018fbf940beed20d4e1c0c09f9b872a006,b5659df4251fdacdd80697632708689cdb64f8a5,f424ae392999b995c51a205eb14a183add9d38ac,30e186be784e320264a7b422e52d8541f58131fd,6f87a572affeb8d5a21d9085e986d98933abb22d,2f2b378c0346142566dba0f71a25248b651ee9a3,a9a711763f0f41b97f806beaa2509ad77ebd7542,aabd7c721783ea8db3983568e75918d5b8b6db2f,007df5d0face645c15ba7ccb1a851d93c795cd44,236c11ef71f341e9038730cd56a2c732670fbb45,124c64152d256c1e62a1f13103c2bf5cafb33155,2b70c64d09d8d58476034e1cee01b30d96c19e3b,5a1e6c2e914f5fefc3e5dcb848b5c3a5182b63bd,931d4dcfeea91a734cbbbb4ff28beabf8b9bda34,7cfb87b325aa1b0300734c04f338395e8d0e56c6,02c3f328a21d35ba3d4ba62150761a33d5dc4cac,2678522db552a5d377fedb1aea4983cb97ddf324,70a836c4a21104120f9f993710fb08e9525f97ca,48236401e002fef040b402ecc37844edaa13984d,4b4e316af02a968f27147123b189b04a9931ba79,069e040e49c79b8ce1f8b73d85e02a05df6126b2,16152cf948f30f16e1e185626dad97e298c843bd,fc44c2d4c965d246fc7915dd0212679d9a27d77a,4fc02d3d09b3ee04f0576ed25b5318c6690295d5,9a42625cfb4b042284bc2b789bd4d3f65ecc5522,90a40ab9ca5f0dbd344b28110a5fbe31a86fcdf5,7b4292c94e380e85aca13f6644419227f3f7034a,d87a5cc9fb3dea2cda54a06bfc4fabee195c446a,a807e185912a5ab61e3bbfcb7358e442256562ac,993144b91b468ebfe0cb0b2cfdbe93b8022e748b,6c71fd461daf8161fce6e1d4242a1e8b33f21271,74272975afea5cb9681b5e23c6d5df3e94e59021,22197641b883bf4ad288141feb49caa0a53962a0,56d64b007f7eee75266dca41fc570e9286ee6e61,3c18dee6945d3cc2d8d59fd7909bfb1db1cc3061,1486ab7c708eaa3f901a49adc7a2cc42a1081d2c,4a756a2d30b395b5d1038e3220da45c012336e96,1b3a3a7983c3553e38b1a2bf1fb3166053435b66,45ffa40b71d623e404c72413e935e1b0ef97389e,43c83b3ae60ade6916303a524f058febeeb683ad,df6516c29f348078c0f86034544445eedca59103,592df7fa5905081b23eba908345cff67fe584679,08f9ec98e597e7afe9848fff43fe06608900002b,b625afe8001b7508a131d683108a2e1a7550667a,254b85c352c92f8e8f7d4bc1acf10f5faedbbe51,6b47d9d9ed74d375c3c17b38ec215ac0cfedb90c,d479069f8c045b26678dce30fd8a14cefde3b611,77b54f501f0d1d6a45b8b3f11f4f6fec1260a4c3,5a87855b062c5cc8d0bbae3311d82eae2e099ec5,2ea35e55b199904b69341b46a3f25fcb29557f54,0af71da9cc956f8d70c81ab5dd7c3e8484af90dd,1993c5d1efb6811791df0d7d78472e383874eabf,679c4454c476583f1b28d179ceb8d54759aa63f8,b777dc21d70691a94c36cf921b428ddbcd36db2b,bbcbd4eae1c0e63afe7bee64469decb6d789118f,f4702ee139ed24007942b9b463974d3958fa1bef,3de193467d7d304aa1c0f3072af2a54f690eb821,12d015a9356bfe9511bbb24c05d2a9cad9385e0b,991ce83a2b5a329abdf175905196cf1032993743,40a60591430e4639b7786a1f0a3c34451bf73bbb,e7d2c93ca7c764c4a7f9764a06f9ba390a76dda1,39c48f0d0156f562e8e286003d5504baed62ea5a,c6350e2903d5d431fb53e4a5ad5d5f2e9fa9e9f3,21565c22849db95277d35ae21b17298adaf0d285,f632e2e7be71448f812fe80f5dfadc8aed22dc8a,3a5eb0ec59725106d89f21b1086f22851dcbd1fb,251b18b9661df41aa9de94df5f0fec334d3323f0,3279e6335112c042ef8f723eb1476175bbf5e48d,147559349b257db80d94aba077a3bef23409f581,20698bb36f16566f16a52d7c2c4965d6b1131512,b7afb2431c1fc7bb7e29a965503dffd9e95aec00,013491c69f6068b74240153c95bcb50be5da21fa,3947922fea2604edcb2a4af366332cea338c5907,e350264db18d5ddfe8458caf6a88ec687c3ce4e4,892454ff17bf5a12d3b7543c71ce149b9cab8f8a,2ad3c6dd97d08494ba0406b59868a5fd1198cbb9,ef3155c2eff240ffc64af5b713b545e5a0ea9b74,42324235bd7b9a00acae016699cb4f9c7e46177e,88836b467e591b57523bfdd06590dd6f58977d7d,3188dc18d41b540d6241e9ea20e918e217e55277,9989d408fd2e010dffc655e492d7882d9a52449e,27e89e07a359c9f5388dbff82bcd169823553154,93521ae8e87b79fde427bba35db6dfc8cef108c0,e50c4f6373933812d8fe57ceaf4ceab1c963cb32,3099e10f41016534a49548a5fe82e93ce6e90138,346118187b41859b88ba7c4b196493a809fd54f6,95e8992e2f2605f96187d057a5adb23b5109f163,49f789b92aed40ddeb16aa91b95fcff61b386982,c146aecc0112091e382e8c709026076038783409,4dff373feffed88c558076962dc7a9e9729033e2,2acc6337d817d6e041281c4e0393ef7fde833adb,c7b19e2fc96f01219e4664895b13a5d86ae7e120,a3573599718aad825241c4926833270091ba8b52,9bdfbc24731d670ecda14897eca0add4786871a1,684ef3008fcb26dc1318e6807d78e72942d9ae4c,9132b54b3b9ad8817fbc5bf20ede4ad947c193bb,62129db44cb6ccf173a6c2e34c6c1a29760c9479,80c0fc3c9268c59a07747f7ae88a106097c2a2c8,507fc9c1ff58a7b97b3739016838cf06f35f956f,ac974c9ab7418908c996b52499240a88ffa210f7,34be9e464331921895f19699348ef7c663dd7e05,f42b0bf6f556d1c8c9ab2bf04a5c170d62b44b8d,9819df6fe16de513a6c253b313cbd00ce4b3b11c,cea772308039d52e7dcac66ab46c1fdec607e67c,bc3131688af996b30fe4acc2e2b55d953ab70f8b,8f0376c888e2b8626f37b8c8ce00a704df869ba0,424c8a0ac0edc9a8cdffdb62687fd1a750727172,f8339a43eaa2808fe22ca13192c92b5c8c200300,6cac8cc77bd6f36cc5f312dc7e932108ba5f467c,135a88c888e24e3c4559af7fae7d2f25a668f7be,c20b27ede9fed9798af41af9fac56b3785ac6cb0,a880367b37004dc22aae426c0da8618c941d1fe3,96a712f7ff35dc5ea1e148bff113c3b347c1785e,aca97274189a9511dcb3ceb878b2984138b71f62,30a4f667c171a8a352952bb008f7f7fc7e91284c,523ebb42cfd9705ef1cc6b4614e3ccb610eb7a87,41e554067a781db64def61fdce3d952d1290f8ec,79974a96713d98fd78bf838755c31fc44f2d0a48,44d9498effae13337ae677dcf2c59e52e6ec2f4e,b033ccbddb9c6ce1b486cd21493e07b6949b02ce,4ba19f5418bb0dc18ff708c2ad73e7cee160fc5d,afd0ae44eecd5252eae6dab8a34b0d4dc97722f2,d5de84c6c52ce7403f6ea17e9330a1cf7d5e4032,66cbee5e31091693cef12ba3c533ffea59e0c549,fc98a0db4f917852568e8c777bb229ed7f2e53ff,3705f95b925b46ea38a795c81425d06de6e2fc5a,04f3784af5fd1c73d88a00ece5bc26566313fc2e,f3560004cf486d89cb97dd144337c825d7ac0346,02ed51ea2541071642818c72552216d88aeda71c,39fa96579079493b11e2c94e2dba6c924bceb13f,71784254ab5cda0144cc92d0909533fff965163b,497ff94cb096fb436b9916b60120b7c235d01d85,38c32bcada3d600fccd74eb60a1961f0dbc200aa,d772a42375334be095f5bdfa06b601163695b9d1,4d73a9e637ba7ecb7abd2c849e5683dbe33ada67,458a6000e7c0665adcd9e55e7b09351fcbeb47e9,3d4cc7c2f663e3a4363c4f16fdface50f50ead8f,7c2c8581b7d3543cf28d8fe6c917f09f190d7835,2bae2a451c4dd4571b3ad81be202253050fb447b,3dff78621cbf792076eed72a35848b4f572c5d9a,3022927a6f73b6a74eba24ba6f941b1e78096037,2276caae243820b7dc60a7b7feff79b908d96c08,c4b66c89f7c08409f0c7d82869e473ccd84fd8c6,9bcff94e9e7674ca6b87f6aa45b5748aabd65dd3,73b563b3679e0771fe3d0f546da7695b9f911e1f,7172397077ad2126b5d59b985ee1f266d65663c3,19a9d4c4acb2d5dbe4bb14756517d3e3d85d79be,9176efbab4ef437703b08d88958ab3506accaca0,f5fc806c9d2cc3c880ff98e92f33f764747e6713,4f16473baad47661a858c77d100d8070af688941,001057b52ec0a30b4ab3a7c5888b11de9e8aff87,56ad37133e6225e2a4bf8dd07e9bfb19e0805489,5a07298ea516c581c06c1ce1b784fc3a6201159f,7125cb505c0e428110713679df6ac681bab49a0a,4b59bcb0ca289e88f97d84afd1dd37502c48daa5,2b3d7dd42cddd513b70d4f7ddb61e2f7766cdb37,6ccb8b83dae165f9c48b9db693d7cdec6dbf1ab6,9211e6cf936ecc789a8d31691bb288bbaed634d0,099faf2d2babda25febee94149772fa936244b2e,db19900eb1c6a4b8580f03fd57506a2592b80314,c96a3cc9d1584825f4b8d56fa8b52a1140a2ee67,be50c77f342dab9fa790edf5597594c665dd97e8,8ac8c79a71abc78e50e5fa2206c93ff1a555f144,57809eb922c2d9e6dbca04fdc54d3c020905df88,068f0d2ec8ee953998eebf578bcb27d821be4dac,3e29742fd9b4d483b0cb3c7bd1b0417e6fddbad6,5b941e3cea65f1bc58bc2189d6eb371b3c3441d4,3af74d2fd2a9a431d0b0b966b03d2fa07cc0e59a,dfde4def62ef9798084f4ea4a8ccd2963b9e354b,a6f1c04f22723ea2da0c5938240f74fe87552aeb,3b1d5794e9c7b06e2c8ce9f11610b479d3a55132,40633835dcaa2206cf041bb5abca51accb39b1b7,613a6e796a30c0e4ee4e926b92f7d5ad8213e817,12ef0668970c478becd1661e2825d0d0aa2cad3e,0cc592e9eea8cd2d1943adb20db14fc32d5a64e4,61358b1eaad0f8b5e605d58983b43c1864a38da0,b5a4f8837cb7abec3818eaaaa304ae2a4c2a17d0,3f62c5f5ef62b791b22aadf5059041619e88a5a2,3f40e00392b6701dffd95c5aa1cd38a9a4cf9297,329710f5730f6aa9baabab10992a50435b29a390,f150fc6b7cdf797f9cbbd436ab40ba388f4328bf,fed17122f85f08ee9bd0ce89ce3fdd2860e35eac,2b59000d563d6177edf02ad3d6bdc73afbbeafba,ada6d8ce5e1dcc4c5a86f63348fbe1c50be3c8a7,6143b8b54d03b8af9704d64fb25223629f0baa6a,7f0d582a4a46297bf021722e993cd40fdd121997,531c93a04e58755dff30399d08c243602e404080,042aae24554402b152750137c37ddd0ba079418b,b88107fa1d7eca0004f0cdeb149f2cb15b711f13,7f4b94e4087a46b3c89dfb8731ddc6a0ba2c015b,e01de8098137ca8a8fe9f5d0a95d742d6e8e7eb2,55c1ecedac40f079be9fbf04cdbd1dbcecc7660d,2aa0e508731a84586222db50b8937831ff8eca44,670e77864372d4e45300e6cadbb3d860064b7e1a,951f02d188c6233ff7e08ceb54590e27f07cf1f1,60345366f254fe85417c2de4e9d0ccf8f2c85d1c,f5e89ded35caa36d5dbf0aa664c0d26de59a8983,7757306c7885c915de6620ac62ff83cc7db96f1f,a46733218725a7650c3422aaf18c2fde35551330,258331e91421c438e80c926e79833b1f4845ffe8,287c298f378202ba9e5fa38f30f9d12bf8834366,04554d7505569d1dc67bc66f64ed61251ca1c51c,f72a795cc7f2f77d88e0c41056cb7cd4cc996036,e7f7927ca9d6db490e75d66abb30d8b71a358e90,a084c8829f6375f4ce90b68d7502b8b4a1ec6145,29d681168a7997875dd5ba06f0aaa7198abc5631,69c95115f6a9410d7067e624db594f5c5b03e5fe,a5d36e1bc6578d7d0ee6bab5f5defeb71a21c499,491462fd023245fabbd711538a8fa57de3306bab,db1ef439b5dee9f0fee101db4ea4a7119fbb1e3b,23fc0fe66a9d780615f6cbf78f0fa955070ff426,573d69c8fe2c62d414757b026140f1afd8bea956,a506fe95602b940cb4a5baa3e448d486fb7bddf1,589b2b956fbd6a738073b760f6e7298ba08c9736,6dbe1368ef95661336b3d81157dc67710f7e0795,07a8af33b16ce3e69e7d05630bc6b7071136cee7,86e04ddd5c5dc2024425c268e2132ebfb28798d3,50c221670f87d0ee44a000b2bfe47979787f0dba,04bd105cf5d2446cf6953e424af99437327d2abc,60c73dd14be996d98af574de4ae98f99e56cdca7,695a260ff80e53ba01376beb6ec8f0d7076851a2,cfb28c765471db145c14fd64749770266205c2b2,f8c2d4a6320417c267863bfcb026ca0b3d687702,6654faea084f0c50bba9a059f5593769a2be647f,20e2a0eface9ee9e46ca52b173ad1c522402e55c,365e320119208fc45b355b96d743af7318c16b47,7f769f024b1772c5b7796b88bf21394a39cac89a,9e0337f2483a3b83187e09c55f1de6f66f8a690d,e08c7b3642a18d76bfbb16b94224fb17390fe3af,5e90aa27d5435a07a44f5fbed44b2a5009a5a0ff,d5b8e49da276f3fde5443de72e5c338fe6283bb5,552107f577ddee5ac76eb2e8ee6e17cb94b49bb3,a063a538638d32c10ee10e4f5210df43e3f719bc,4c021c100a496f2ca5e2c1d8bc8a376c7bd94516,a79d12ae415573a66f6e8f3aa83081f0877d2d2c,34112c932c36c7162f866b4460cbc3700bddc92f,2f4390ac9bb56128deeaa9d0c1a590388db9eb94,9b1eebd333fe8737fce6ac9b31b2c186e4c0849e,19c1ecda547a4d1c97887a8479ada467bdd7ae8a,c0ffa18ee246fa8079c83e3461aa02a774c21dac,cfe2d94b251692eadb8b6e188be60e5c7aa49efa,89d9679b53d03e369e22b7cf92c9d5ec1dd2cf98,871f60ef61e733b32cbd5b4c4baa9be196f33443,43e6d84f33a40cd994ea08cf3d02ce617da9d892,0794878b41a2bf44dcefb86d202a0b23ca13af64,950c1d1693007106f9c8449640ce5b91da4019b6,aa6209ab513c9c7b00c73a1d84fb3d5cd87cd5df,e3870079b223386c5f71c993b69843a64f5fa44f,a61e18091a2275940cb7020abe3a0faee9ca03dc,4d710518598a90b8debb01d145cb3af298d41377,de805fddcd15b4eaf9d92764d043d5527c30311b,b6097a0300fbdb8a1d2a18429f3aea0e384b9782,3d2945726a482fb6c824e4feb8005782b40b7b75,8d1660893be11aa243991c52d4dcea7bf4d63a24,66a72cfb726bdc5370de99c0f6524469f1af218c,244f1dd83c703b6ed07377cfa50b88d1fb23cfab,763e0a14fe4b1077e2dc03cb764bc1bed43e72a6,8e23dc99a110b33a6e24ee75e2cd71c4564d6f1e,92e86e7673c326fa09cc93c9ecc0abc2b05068be,bba56d627fd799e9d2daefdef6c6f3ad64abe7d0,23fa725b0127903999c65e5068ff98e745f8354e,27e9dde81a0738042331616aec0d3dc4f50edc43,5d2be4da1cabec726ea95c0e7e5fb465a7f9a9c1,90ee079cd15ffbffc9309fd542686680e4606f95,256597be580a279590586176daee4e9335b3140d,ab878adfff2f9622574cc7f21fa6c29ad6f953b8,724676db4315a9a3a5f26bb6e4c05f9c49f80ebf,f1f819516ed91324c3b9680dc7c2cd9f10e3a423,569c40611687015c57eae7bb15d1b814c6cb70ca,732f1d9df6b379ad8548d0b7348abf40b672aa7c,03acadaf1ee9e47ae80d8287cdb9d5ea133089a7,0d11b5bf29f896a93e3f3af271b92628f2efb00f,1b5ee0d063119990b66b0952d80ccba4f39c1fe7,df275152c24173a66895698413d767f52602152c,f2b924573a2f26c134f2da49277afb8772fc0b37,5193e8332cd0c3daf4f661a7cde271b13483e2af,3ab5acccb175706526b82a53805d2cdb77366d0c,a4695a7015b1a3b218cd15660e276230e5f9e776,7dc6049de9a13b7d406accf3fb16c649adf2e6a5,4fed57adc13e75bc70c1495273cf9caa295c0d07,58d6d64fbadceaa81b96543fa2aaa02d88b971be,3e14eddaf6137e2604fe3234da7b4721f9c3bd6b,43686720c3225b2390c413452dece43a9b4f9d39,381be050a50fa99a05b168145c1b66e66a0c7d74,6422e9a803ed33cc9208a0a375f5671b69f5a524,be26429159dbcab219f1cab5ff4494ca89aa92bd,0a0935990636b0600c4cd5a606eb145002614414,b164f5aa65ade5e2cb8b2a3861bd73cc8fcd3baf,c81f433795128811d65ee618a1e2b5a17fd8965b,6764056eff5104edaf5eef1cd8dbdec087ad67ec,11a7b8592f043c9d4f5bf98379afb1aa9bc7ec49,0d402a13419f68233a97b28919abb3dea383333f,997184778a01718472c29a67e70ceadb32194e47,0caba1e84df0a72ac4c3fcf71dc688854360d2d0,bface9fd9470d0a8fc68ce8b3d8c98540a7d7038,4aba225c8bf7e64fee347d77557731fce563618f,616cb382922c96086cdf5f9298f690af5d003429,75ce122d36626cfb3423bbc2a1273bdfba1765f8,c1d124d497149d4ffa1998e9c84d9eeffc04b04a,40504a6f9de8930c6e308427631af0ab225dcbdb,56b79257a12806069a13c2b655becbfb2d4c1022,5aaf863d560f9d6dc88fc511a27bbab06ed96a23,52572e10e92018a165096c9a530b4cb7d4cee936,4f4d8191f00d34702cdc0f9b10ec90bc257fb75c,92043c6e209ba987b8326b8abd2ae9b0a5f81b52,f8e7d0bc097fdae022c6e4e2fc22ee61cbf63ecd,fc5c35362bf995ea3d9c4c5ed087da508f7fc90e,4d428d945ec6e13053cd96536bb3baad6149c66b,d5874b00881a7323897b6d80e9cea2dbfddcf0b6,bc9b8af04b6dbecc12d22b592a4e4790e21ee3ff,6753f869878e39ec6d0a4bfce351861c5f69a462,04a42bef84f38626ea7fbfb102ac949d1b819e6a,bd19575f92a952a6189349c9fef5e17194ad0cde,bdabf674e1c9cae5387bc3abe884fb1b17545c98,a316229ef67f1c58f6b33996637e888f11cf72cf,254d0c0e2c7384bb225f8376cb1fce78d4047cd7,7cda3d9e57c4cab68647b2de91179c13472fadcf,ebcae70d72fc7a381f3cebd8760e3634eadda5cc,e5e386f94ab4f87880c4358e40dbc31a22e50ea2,2a2ec77b10bf6f25093123f55616c5791bfe9eb1,0fbd418cb739d5cb4dfc4c21ce6e67e7d17dc961,b581751ef339554b63e2556db2643e421829a1be,9ce97e6ba58f78ee3132c6a9b4e252506560f055,06a728df246871ebdf1dad443f12df695617f425,5947adcd7bdd21d7acee39eafc39266ef4776e93,4263ff44c1fd7fb1c061a79b6c1d67e24e48120d,531cc0ab0d1b22803a1e5b55a4ba7782f853c375,1f8a9c708efd1f18f40aefe98e2cf3f3393cf07d,b98cc1ebfff7b107ae3429844e19a78e1c68bdd1,4abc498f2f37d6b789eb3229779f6e716119a479,05091cf0dda02c86b90f46a20d1aff82309fa1ca,bb4d7a7a50d593ec2a1676f105c43b0411e90063,fe120269595d5fd1a50660fda2f374f2de341117,c6c834949fd50d42e5b724ba4a5981ea13f9c5c3,4beb4bf8b20a899174a472a7c5a5c52c54f01bc5,7dbab3a78f0cefad954346be023db3f0460e407a,7a60e044e3bec9814d891d1761bea3445eca284f,a2174753c1a89a039af948b9b7a72142b3fb6324,1df56495b7bc2d97b6506537f34e45f46e19456c,4559620efaefd84906cb6dff08ae912c662eaf13,37b607143a8ed79e9cc4e497535970d539cb2933,b239365479351d525b6cf372e7defea70d486f7f,f0edd62b88df48c4a4d97f5038bc6e35433f542d,2c8db3bb9ebf1e76b6a30cf16f3e9ed188018d69,d9eddc50fd7d1d3b9becfc1f4706113bb49bcffd,c38efe6d18f2b49a3e6dd58b8a45019543034462,5502d6cc58baeedaa471cbf75ec57509dd3a3c51,63af4e173dc10c05c6ace5158732eb1f6bb053dd,b54d9cfecbf88fade10380b310742c78d002dcad,13028db5a4418508c42143c2574275f9d2b0f158,fcf2cd2bea510174b60d78d534d331aa2477b5f9,97efb03ae67b7035d31b89984f04ba301198b7da,af0ba7be83258ee9f9b21f45fd645abf093953ed,edcc14a5ce33716e0e51d37dd4e281c0465ac369,9b54588d75372d25f022459da9bfe131e7a23795,2808873d1bc4e9cfea75304d1e99f39691298657,afc568cf93fdfaa09f75eb0ab65d3cbaa2f628f0,30e61067a0ee062c25830ca4aa5415972a0dc5c2,9d1c81438706b4f59bc37d7f7905e59617dd48ac,15baa272fecd73081cb57d776969aedfcf7ba1e3,4f707c3d7eb52dc9199a7f369436ba964dbb67d8,2507c1ace69387df7feb0d805cb33ec6611089d7,cc47a49c81781928ec5a59e127d0040dcce8a855,88b6bbe6cc9815f45f954e955a2c0d1d69e82c62,56632b720c4b0dfe65586504aad09855984e8cdf,627fcb4354a9027f4008b793050a60e66e482958,4caa471a241bc1bb67d6374bd831e1f58687dc41,5be84e807933f3bb545db3502e9787d5e0b271a2,e76f9e5b36e164ef69a4ba68cb10c21520aba710,58af742f3a57c156531c3e46332dd558194c77ef,6cc818cbe3e70ce85c23f3f6bba6bc22f79909a4,8f0a3cfce77aee2a6a85f76c1eeb5615d45cd7f9,809fb8333433fb37349425d52b026fa43a99d61c,aa243faab836d9287b124de54ef2fe125d556198,0bce44e342eeda9f92a915132e88de456b867637,3d81c8e51d16f919680b66b71d3fa68a7d66b177,78381bd1ae37be8526eae9e6979c55c687f71d67,82a3877126afb9658096f981be0ebe1ac2d18a59,93eb40b05c4157a929a6cf9c4946c0bda6812833,88c98a57419e0aff7c3ba8b7478cdb119c5e7ccd,afb68dbcf35ecfb9a3b5671ae481981423b4e0e5,84a1f614d96a2104f99e3be8b707846462ad0c62,36323fe424c1b3e543c4706dacd3754a806e7814,e8af7427bb0ead629eea25ac86556605b1dea252,850964f321a46cad5912ceba6a7d682deb144279,362d2b50df8d28dd4f769b6c90a18e23d5edf12d,c5d04d1a541555b29b176bc2cb7e96bed089d8af,f71b6f341b7ffdc3e6e58cb60f2f8884fd92fd25,195e7e09180e7187ffc1bf5a83625162651ff051,b4de0b2e9c8ddd9dca7af3f7f24bbdd825dfd7e8,0a62e6040b062e7176b404926328281c3355e42a,c49213c561171e398d76eb7957f8e965cbf2295e,d88da03e7da8bb0ee227a558db7f18a6cfa83942,3f95fa50efa96180d5c9648b354d280090ba4cea,651f5cb8a1e914c77dfbd99336b2b6d38da558e7,2353b1adee799a3821832dff63cfda1f4cd30b2e,0acae47310dc0a6fa2ffaffe21b2544ba869e100,c5d7e6807cce2042f90ce429335ddf0bb0223144,11cc085870fb6f58eac5195496f64d9d2d7f5ec3,3c8ac8d35697b44a8caf069a925da30ed5aea2b0,4a296c9f5dc776d68c1e52443758efc52c5f21f1,8ffd7565466fbda97e7551cea9036314fefcba78,42e4d66c5e4891900162f826f868e0a177a82ab1,b2714052d1a10ab417ae2eb783b671403c43922f,6104cd321c72d825b6e28c708bc513f8375af515,3685b50e752eea9b4b5c234ced112624b15a9b58,7eb782446e41d1c60614af575f74b560320bb325,996eaf16b36c0517a1985b88adceffc75d86efc5,8873a199ec1c07867420b46d0637633801194e93,31b7fd8965f0e707d2411c82dd03a11d96a16493,c8337937b374901d58d7aa4b9bd5af7674084a19,19a66947bc974b4dd1f42314874c26348717f1c1,792cf056eb5a2c82f83b9b81588a46a6e6337c02,0e54ea6babe4b1966ded98127de92435e6cf76f4,3e2cf16d1ffa53d02e375cd9bee14d039100f6fa,d0beacc35fdf89306b82234e03d99021a5986741,6d3bfccbe3f2fd59bd3ae9247b992c43522ba8a7,a91b42bd8d65dc68ff22ce64af52a5b9358eb3d5,ad66f17a876853bed249a1fd0727740b352af9b3,788797d0786e45a34d2715d280fc91ac9a358bbb,6d3b74f96e86e18a02101971f6d04d77eada3911,996ab2feba4407d20b087817aae89dbb13a659b5,b29257fd05f4ef1516360700a89954e2f1b48506,4a5a2f5ba2467ffed2bc718cfacd963271af636d,9c54d753f56bab86b9b451c8f4415cd041357a36,da2bd5f78908e630cce860ca25fe7da8454ce6fa,a5ab1c03ea466e93f6fb92f4c8da5dec7ed24b1a,4b5c8982ff496d89a179061ac28cbd1413776ebd,3023a9f0e2c82664c26c89c15dd2ca71f7d0c2ae,12dce172f95e77e67672ea56f25488e3bb42b288,84cd9e129b2cb9a674dd105856a6fd6441ec585a,d1377777be89c2515e6769e8f551257bd6d98d53,1263880ef02c11403bb728c7a61bb557faf0138c,f5489b567809e6690dd4603154ae0b0b50c0fbec,b776d48367cfbef2debb5c62e383192be8d05ba1,b2d6c36e70cf8e5b1f7fd558a70ff67ae41011e5,2b7d9c5a1fe1802c3ecd429e6b9f6821865de9a9,bf96709e398bba07fec3462e83d60dfdb1dbbef7,921e73ab0ca3d1af0b69d86d165ebf67884c422a,e2d8f7b68fc4ee2c687c2e16497660aeda0f6418,b3ddd4e7863b16b0ce22c239f298f418afa20cac,85149ab9a4c96bfe1b9f1defe7fee3b4b6a2c1da,3d4ad5b69487e66a162ce2844350f0e57c05470b,2c053b4f9c15d0cb14be6bf39c5c5aa1143c2a7e,5f67d830e74a409b9b17d52c7005cb15472342ef,c793f4227167b5f2bdb8e27396ae58ff2bad2f70,d1cb341cfacd61705fe3a2b9e098243faeac85a2,9710b2cbb406c6fe6bfb66b88fe72906038056d7,c90f78488c5c590a17d05c3880dba5077263c207,09bd361b484806a5d45865a963d3579b1133e787,dfa736bdcaaa5e466bdf59563601ae2cfae6345c,47ba80a54525b5ef8662f28282e4ccd73fc7d698,a0e2cd36382e3ad061e54cf9a32804b729e527ba,5816a4a9403df29aa77a5ed54e02d4dcde5651d9,aafc22bd74cf83c82037e51a1699abb3517cd9f6,5f118da6001068537b38bfcdab33319d1a0243a4,b2ed667a86f9a978c6d2eb6dae48e3f1932a86f8,4ec76072b4e4a02cb94cbe38363c12014181d9a9,c45c543faaef72817b1e1d9ddc7e774f599b9835,febeef03e4830cc4ecfcda0a5236e6f6b86d483b,33094d263fdfc7c0aba42e6bb9c48d349831207a,b3817f6d9275f887b48fb10db3400ec2c3a686fc,c6c996f506797b54228c248a3784265582a4975d,62c417c8bfd8a82909eea05dc63c52661b545e67,8738b4b47f3868d3c795f94743aebe743a1ea49d,2e36783d0e4fd89fecdf84623a1dddf32e491109,a2303bd89994f2997949a6f5e4a6043604cbaa98,11fd466394d945f20de98d013acb95b8603437c2,cc23515927ef60eb3675a5626802cefbce0d7d2b,c15b6f4516adb7c8e524adc70d7adfd1c1682bc6,7bffafdf8b0adf60492709c939e24c73a0de0139,4e1e35aef550f6a05f9307b0d39346f39e3eceee,78698beaadba891b06eb4e32534e95b6fcd08c91,27943baa2f65cb749ff9d0be8c37b4298abc1c60,a423bf64027c49e48d69cb365831a7ec15bd628b,cc7b6d0b05fd4871c2ba9909d6aac59a74837800,a7c0fa0deffdb9341c31c45bd3f1918faa42bab5,221d8d84aeeea1c61d689aadc1a13017b9cb5af2,e63c03125a8b066638cec8593d96eb8eb38ed3d9,e41912b07644864a3a685ac339de2085d252706e,cb11e2568d5afb2616e29fda4fe6cb2634c1ab40,f94518a9aefd1cd9511a9816cc842e838c7d4266,cba109c55d10bf8f95b8cdd88782f109c6e1e7ba,caee96399eec1c792b1168b222b809d2b424fb57,d401639b24ba6635c3dd05718459557c216b7b27,d62d6af7ec5a5103b53b0430ea07952e36700e8b,225b06e84a29cab4fa183ec914291ecfb74ddd4d,4bacec0ee36e3f999ed33047be4136fc65aacdf2,eaa2a2006c6c6ad4502c71dfe3f7746b2237589e,c29a0d029b5c22e27b14b4a5f59c9c389d7854bb,d41f4c7c4e806156ffbec259a83016fdd598e58e,ff295bf3498bb353abaf168a8834a80c33e8268f,8f91920c9bec7eeea70b2557a3b417aa8d90b58a,b7ef93030aa9484a8f1e34196ee1e314bc069817,965964d07c0ba60f9e13c5ce1ec577be698d65c2,b72419e2a517b6f89fcfa7dcc9506533b30745c7,72f6752b1cb6920c6483abe4705252f2eb51275e,e73dd883cd4f1efe93cebef228c9b2119b1edf4b,9142ad8950d2e2db6b115cd43b7a9471f1ef227b,58dcbab10e05674baaf11635fffaa8fa5b4c45a3,5ad02a3799684c950e71879877469b1f1021de1a,3caacc529a4b00dacfcf3b75a0ec32305ca79ff1,ec3fe2f99029fcedf165d41049d038a75f8382f8,3655c469825be8d1b8bd81810001049aa0e28771,d9d231c87534ecf76b51ee362f8ceb1509a62e19,792eafadef3b817d59d64706b32906f5b33d2ec8,91149df87f25d472ee905860129da887fde63f5d,cb41b22fdc575e248db3ef960ad4efd449fda102,96ac7f29f7ccf21a55fe34dd90b511076b6f706e,a62534d11f455e37605a3796f131c4c036b60cf3,39f3a72c625daaf370453334f069b170bb7e3d5d,87bf6a4b5680796d37efd0d6779cbd4ffdfbfdb6,350d2d92f991538432c0b980efff1c04a2c02a2e,fb23834367314528567e4bae71f0299a6ae31c1e,166ccc49a108d29c967d0d8e91e5f4e435507b86,ac5407268cf8b160aaa714668dba7e2986c695b2,cca536a86a82719d2ffabe7ed1e54c16c92162e6,02fd6f6e54e5e947b20a87591708439e92f1c587,13afd5c6c75487336b6ecef0a62cf0220f5e015b,0e9fc31dd7c0a55227f1b360acf1b851d5d9ef3d,dfdfbf896da044c1e175bb194ae79b189032cfe1,bb6d4929d88b68fae8f0eab3c43291aa34badeaf,db250b04e05e775542e030bbf3c1fffdd616671c,3e9e0a0f7db475f96238ed76722ff083d470ec0a,59331c3d3cb4cbe05ecd209ca2c221e598f842da,043c3df292fbea7a70d7c86d70811dbbf00b1bc3,d6d92e366675c7d73713b66966af423cd46fdc87,09125e834f81eda0f3cd6aa45d51e1bfb4401ba5,0c6998bb110a06cc739c3f0657e403aaaf0dc0ab,14bc6674a6cd8a7974266635487bf09f384d02bf,667a0103573e43d1b650ef56a08a2108f498e434,57b8f28574087bde2fdca66d5f26e8eecbb2f433,2c3792a1aea113b378a88e4acaa54fafb3308e66,5da913de0ee29c1d4f70569ddb248e996e761e27,6478a727d78ec4d0fda9522f279b1cf3c7184c46,d7122c6338b637f0a4ec5e780764104350a39dff,80facfa0bf6b866c9ca14d2222f3631f8f7caa54,15f411a3328e2f191fdba93b851ed2cc0fe008e1,a258774ba958dc8332d0d0064bf8fd4eedbd9f47,c455e942e5dd3bccd111e086d798d69b9ed4de10,b1b9d1f341feb04d4dc668981e469a0fc864cc62,34a5dfc8856ca177e6cd8848b41ef2200741f508,28395337766e49f89b58e690ec80b3a140201bdd,a5bad32b7c1bfd2b0578d7cb2eaffa71bf4d34ab,f6e6b807d5db9adaebd4f17f83b331bed1e09399,72dc2145e9692cae4667563847612df46e37d73b,e6b89c98f526394b5b7fbc197a551ab3e8229c2d,a1720647670f3e009f0543c741c3dbf46f7e778c,55c4986c8d14bc058781031f016bacda3a8a4c41,cc936710a0818e446e8154999a200a5d41f5e450,0b5c50ea413dce745a264bf418f9bc15073bc2e9,2b86651914f674eeeb61d4c9a739a4b0f45a1003,2d8873d0854df357c28def22214ba55d5f0ad2d9,941020af1a9cc9f5136668d1fd03be5aa378c7ea,42f2e5f8ad0ca44b0d13b98b98c167354645d19f,b62045809d9e996591c2bb9f2fa80e34108f557a,6f661e44d0af94fddc382f5c563e44a53b2bdcee,f542ee7b92e90fca148df15f35c50d3040d3fd03,4964f5cf76586871ef5350d2c4d62de6a9156599,848ec1d2197dfbd696b5c69a8fcb39011ec5ec56,346adf7f556fda4abeb469c173efe806cdb4b7a6,0daba072460a9e6d5240b61fb28da62c7483066a,601e05f17f1e82cd60a2b4f863f68b5f44551459,ff820247c3b3ae7ba88bf244127b6a36abb33423,e70c8985039c67cc4dba5371dc515db77b3b942d,ddea92992347f28a2f9a0043b7743889d3e3e452,0000682043decf5ac145fb13535c1de0ed570bbf,3047ce71bc0506c71e21db1725009fbb983ae3cd,06a5ec5b5c771a120f864753daeacae98f6bb0a7,c17ad509e2c3589a781f96da8128eb3f23188806,fdb1cd38abbeba81032f75edb3df6b05510774e3,719220e8a4f5b2b30bf8b7261581bf84c72555e7,1d3ed354debe8b6a937517192cce2abeb1dbc347,86d55055df60fa6c773832076cbdbd29d0e2ec78,28f25b2df0b1422fbcd6ac195a83cfbda40e4d9e,e14a3f17e6d8d6ced42026b3c49e1f6d179e983d,315819692a6a92cd1c22f7a2031a0c0f139acc63,d9db6809373f3e8ac0a0a0d0123988982dbd661d,fcf085b141dbd7ffb23f79e3bc37f52bc7b7a1ae,985220d94c6092336c956ed5dea464eb80c6c0ce,af1e6fde5c8e7e77a96f43366b0ab6a69b1d0609,bb25c604cf7281bfbf85edae9f90ecf78aaf99cd,f20c76d73baf4c534c487b2196b9291de88a3d1d,d7ba09f5432fed805603c776afb6770daf65bb53,e2bf83b5734772ada599ce9176ec4072bc60f18a,f798141d30d284a7471c1c4c5f8f2edb89dfad34,995d2d280a79c02d3889fff62aadedc74874ec4d,867786c9539272bbd6be20a4614bbd5fbd0a0a94,87615458481ea121410a7951a387694af6a65a7b,2de0be96334891fdf07966fec883e1b9c612fcdf,fb0a0cb65c41e07549813b86cc6b9afb3d1c7430,a668814613173d9a682271b4c5a85a5137c83ce3,ff34fb16455ed861cd81137997c187b4906e7011,b88d12c7b9e35798bac97672a92ed9bda401696e,f3541984ee18971ee2bdc8d8580653828d85fdba,4faea3a1869969c91c3a17f891f88a24fa1219f3,352489c397080a5acab70ec57836256de380dfb0,fab0cf953719bd6a772552ee374c77968cffe928,dc4637862ff15560c16e5438618e8daf125b627a,17d583a419b65457783dc7b816297b69309157f0,7b65f85a0b9c398dea2dd5bac7cd1b6140480950,aefc1be555590a7dd6aef6a9b625f7ace096651b,ac6f74a6a24bfb0cd007bf8745728dbd506c5a04,887de9f27c255dfcba30973cd24b1c98431d6b05,631ec771578492fefe448d4f861283f04f1a5521,9d3b105fab0d6d66192678520c14c20d9d638357,f7d14128b53ad2147e50042d1d148e4ae9de62b3,1ba8255af07aa5e3c5a75d487c47b7e97d4a2016,ad7c3d9a098dd5d354390c3497e95681b2ee0f73,cc14f066771b4f7814b8295a2f85e037fc14f6bf,18b8b9c566f597015de7e0c3a03ac98cedc2a6fb,154ada9e86cd4b6b42857d97437caedbd4d0104e,721e89fafde6662c200a5efc3d67bc5480e4386e,f26735fc778f7f1a9ce234c93f1fad5002fa04f2,a88288bab3803476bfa3e54c432f8cc3ed264b0f,b4139720e60b86e64780e535c74176676ee2b67f,f72f021da42839f838f8161a5d186becd1f21368,324deca817a97a8513ffe60bda659485b739a734,f9ddc3ac66d587eb8547bc09d33e855db16b033e,86360152650fffd6720af949cd52579a735badd2,6878ffbf041008c0300f263ec901ae645ec0414d,222f981dd17189cc46d30d248c13d9e50e128797,15d1d00c34f1cd0b913afb83bbd88486a6ca8053,075057f929f9a197b4c3abca520edcd61315ed6a,2186846ab1d273fdab3ad47a053db8bf3cfb717e,e4b717c81766d4ee4b614e4627887045a781d771,764227193a358e8e5ab83e5a141631a8abfde89a,c75953c12bf0ce476422c8b9ab4964de607bf97b,17e75004c5fac061abeecb38bd55f136292faba3,9e11f8122f49356bf6f3429c67052d95ddc0fef0,580e9e516970c6788ec04994e130f3192d5f8faf,004ac4d1f4e0d67c811fdc51d3070c0203b0c774,b267f6fcb3f3e7d7f2e99b10dce495d510863b27,4873ec73a796b55e7002e8b5971189dd9ce570da,97eb32e6fd2216cb5e284329b4eb9758720b8a16,120825d1d6976806b5e7ab02e77ef1455598b03c,5d0e1dbe5a148350b5aa041c511a5115a04a5ae0,ac36a214bff45a88a2018584105934233a524b60,b1ee6f7fdc9bcaa9e249d6e7403e3ee2b5bdc113,1002a7c5901cdb185711fc197b4b0c6cee1de91d,75e5afd45b8ad8fae83c2931a7d04e66de893f7f,c69090446ae513ade58e3c803a3f1d6092b8e6aa,e28fca97299911fbf77142d001c0b905f4337711,0a34a090e0f6676bae0ed2afb9570969b37a461b,de3a479be3a56a2bcb4f43c778d735b4b95e4d99,7157bac9fddade13cb9325499b12202009d0f7d5,0881e4fd9827791a508b5ad985e6f8def25f496a,85d19af48c004817142f0542782741e0d4a46c3a,5801a7431c7f923681ab48ad4f29332ba2fd4d9e,1f073818bad405b90da52ca942da5f70db6a1ec4,92d5e613b5bc2a33c97153c0a736848b10eb6a37,5ec489c018f207fa13ef58ef1f86a07bfd93fae7,c2c7ac634a3e201575638f6e4452ccc0b1afb28a,31cb670b2013c0128101c3b4556891b48b897386,6f222e276ed1cba81b3a1cfd328b859eb00d2556,15fe9f104786ec06addb735eaa3e4aba863ebcf2,eaa7d95a9d1994bff8d476b57ae61e93cb663760,26e2759c272b992021388c1cf0685194f6d45aa3,6e777d89671eb2d303c33a31645b9529e6848d38,04846345b2c8b7d805869582e9f3b6f96fa124ca,8cc58423174fd272b2890011b5315b2d30f294db,4dcdaa259a4396078bc00bbe98b7fe2853a4b415,a45f71d0dcf5b8c9605c20f63fa2bbe62ad6c0ce,6a3971c9b631c0e8a0f214d27125278dbd6aa6bd,eee67af68444314bc1668862a77548d1c8882628,5ec101d578ec46059cf5a619e3b30ad85d0be7eb,00db7646c8b9dee96948af82c76d2aba55a13089,04baeb2bcf31735ca563e3806e7c6d4c3fecf4c3,e5a923eb7abe7a6dc063a1c297381d573418be66,d1d3d7cd089fdf840bae5269fa4655f6c8054884,ea2ae3b8f0a677dbda1288f158eab2e57379b0f4,27fbf8c91e97f06d972c43315f2fa9c2fb6d2b88,453bfcd37094c40c7baafdfe477eaa137a3eaa43,3208929e176a2e6664f803ccb6db0fa03b22c246,03a0e6e82f4c6616fe6215e8a241b9aba7b00c23,46c354ae583e0e983ffa0bca2d46402108c6cc9e,d4c9e1f26047eaf2b6a6f339db190d82a93f9975,6e25a014e636af31e6985d017fa63455312b9a98,f30f62231f1231664b155cbff22f37ad60ad78b5,f4ded560cca46d7230e612511bf63349ba4ab3a1,250c0750a2ab541cb22a57490ef1c2dab64238f8,47d6699a2ee7a439b7bf02c4b53ed1f3638b2d99,fd0515344cd7b29f9b3cded698d44cbea3e30ebc,292574f3fc2bd068c68d7fba9425954ca3fa6eb0,3eb7a130885beda849b90b73e4cb54cc3c92c711,2c00016fdde15638a0737f51c75582409eea4e12,867ed59459168b90f10f42cb7d9b2450347fe61c,b36597c76ae267ba6b245209b1bd3e14e6eaff5e,6879a16cc33d649b0084668fb59e9775f2f9d966,4407670d15bd4110dc758305a4d74923a3710f89,d5ce344b67a811e9360b47ee0f02cbeeebd44953,1e38369d06eea6c5e8c7fbda743b6af27d147a62,b2177fb50e628d3a1fccde2245428b431940ca4b,965f759c0df8ec5383a0f0f6fad9b5203d86d99a,cc315e0ac7d0022197a7b49f4473ab219c3aa6b7,23956e9f10e8bad74b4521ae2db58b2d75b9d6d6,acef1e22d36eb351e2d9e7bf7b3c8929a894d118,c2dc342c556e5fd9a6db27b7de8f12e193b0fbb0,71fcb74e956c0022724c7428c171146994bdf2ef,451bb09e8f570a00db9949f7b6e3ed81652a2ec8,1edf99c324592b9d220984f35b754ccb8b52eff9,8ef63723407a4467752d2c482d92cae4ec67100f,aea85fcd66002e9c80162781f6d9b3458f4c5a75,243300c85fb465f5cc250bc3574667ba75dd8b5f,9337b2a3acf2ffdc6a43077a4902e71e7f4f616f,60c23daa91f9ed7154c8566e86113aee573e53f7,93eef547ae2ef3996a290ad16ce73d783f339977,e159c9296703c2ae67c48efbab431db049467474,d34168742e56e3b6e9f38ac2961eec23333f0317,c8f592d26055bf2ad05afb611fc5bef0522a732e,27b4f3df60156766fee4f681dac5f3d784de856f,ddf26cb3d2aa757a578531e5f59ba2bef189fdbf,8e74a04dc5fb758057bf1cc3d856d7596123e698,c06744b62b251146be8ecab4bfb42cc5fcbbc169,b5abefe03ed357ffdc0e7c69f76827899c9fb87f,d1521e80616f2f52b6c8fa6a1db55f872e3e763c,f8b17c410b1e347f39de7d988b5f95336b73a1a4,2f21f5ae93a99d573bbfca779593100b70db1f5a,d7fe9914a79453141c419fdfa3e9bac379868fcc,7f8f733963df9d4afa363f206ee71aa50f619cf7,2c54477807cf33e8ac18cecb469969a65bdf6797,60bd9c5ba094da176c97adbe10f61d4ec878ec2e,de180d765636fe651f86a239e98b0ebb5538041f,d3e18ccb5eef80f35ccaab8f8551cdbc7acd9f7d,2ff18e48a0dbc1fa9ba54c0ce9f0bf670ddc7d80,bf1eae7bd67e6fb7d3c29733068083f66f4a8762,2c372071fd140265dafc10645cabda2080c57e2e,e83d214e984bd5e8eb4f3d64fe7c78a3dc0f38a8,9f42931eeb56a4073864ecb6a1d0d45d11cfb53f,aa75d39ab5e07a783f97247d544f774a67151579,0bdc1fdea4812db1a728171fe9148a5fe95d2209,08b61997ca9e025df4355079a3b58a1db189d736,b55c74070211d90ee90c925b1f6576b07e9c95bd,9d6e34ffc8e4776b8bdf83c522b7c10c621be7bd,ff4e1345ffa0adb4d28fb269aee7b1dc138528fd,74e83e9d8ba5be9c594849ce8ef3caab36ea0700,4de5195a9ac9a3dd0e90af7f93c717a3c6b10cd1,dfc485c4f44ff22cab66875a50e9a7e4178f8391,a4e520180f0ab00ea3d030a151081c2598c9d39e,df6baa888b23c4b43c8d083b68eeff8eedb1983a,61da70bb72ebfc5b119b836c6b74cb763740a4cf,1fb7603f615884cb678045ae687636fe27a00da1,aa8fdabe1f0ed4157fef8c25c4a4ef688877a843,112f8a41add94fb12a75636a4b45a155725d9b1e,4ced513363c3a2a387b144a2b5639cc331957b02,1c370ccde1767aadb4d89aa9eb48b4ba68a39733,7f53d04ffdc6b44800ac1caf9276116754975ef1,eec51afadd209e60c37699ad2cda4b628a6e3060,bb92fbafa061f028aded7d3e3a22149b87af31a1,7c195d2062b07943d9bf363702d985ab84fc9d2f,aa745e031988c17c151427e3f61034b348baac48,9f8417ba522dddcbf40268f500d7cb3eaec440de,e124b07e868dc1a1441aae5306d5d8cadd1e375d,69fcacc9487aac44b1bc9b5cc9aef2d219122369,64da07da48c3206567b97cbd03872a73206afd54,c20b51a80679c899df57fa933ec3d4d32d939520,fa12dfa7b5fc86551e7bbbbccd64300c780a7e96,4a6358bfc1c2433ca4a17ff95cec2844b51f7e3e,284aca734872cdc6c60e9d5c3b94047907ec81fe,65047cecdb6a57fff0ff84673bd5e70a88be55d0,3463d469bf0d6c8da57c9157e2592d5b1cb59598,e47f44234c68c167b7a6123e56d74a1097ac1869,bb51a2134a6d5b19ca3300a0b7f262feb7b0c834,0685319be877914bf420f3a47d21dfbb4d8a4ff2,963fe73d195362fc615e4a8ee08b0534ebb43851,399552d3509eafa399565e66ab36f3a89fd4665e,36d21d2d81dce53761c035f1fd68b59d9dd04424,549bc49c4ae33ae3075dc5d2a8bb452e92ef4cf3,ab9fa2012b7edc18d637f63cd2cd55c4a78cc0a5,e4f53a7e4100a9671745a7e5ad1f8ac20d49cf5d,f3a660212de69847743829a0cac380bf3450a61f,8e62bf649ee02a9f4486fd2e9340962449a1429e,cf153b0854ebc825c54303fdf943fe42382fb612,c2684c0dc35bee9fb91c408187c1fe344af147ab,ad8b2eaf8a2225dfa1059870c0e601e89ab8e6eb,a8b387a166210f5ca575c65981d4706ea51d7025,f284a6eda9e33a6617b958e476e92b4d09e64fcb,a3920d535629614e9d03ec76d143d7d0a8f34167,23af096ef6c0fa3d0f74666c56b8b54c3b843354,99d3651da964ea05c6baf3929c8f9fe70c8c95d8,56c58b517d9290198f50e8efa58290a5724ebc0b,637976e83fc692df21a49930461d41137145d1c4,f4898588551c5c96111e2a3d8c9dd0d716f33c08,7a1903cc8f084acdd210300c16d39641ff468924,0c2494bec82fe3595b77efa1b55ca38a7c853269,5e6ec33a59602b4fb5ecfc9ce6d1ba9ee5d0e03b,7dff106d14e7f9800853e63b4267dfba8f01a91b,3b0168ae162ff2b7a57aeb9114ad6beb42c8b02b,d0d07dc3bf21ab5cbe90f242202556f942233f95,9376f5a43ab500b5577ad71bc9b5b2fce4afcbc7,080d8c28f7a9725d93943ed6e4014ea729627046,3f19bd693ff42aacf053098d507cab586a642195,099134b54554c0c4ed5b871f23952dd40647393d,8bbc7d5df3d76fa56b90b07ea762ccea1b10a686,91a622328105fddad75b9a1794450c9ccda65d49,044133fc87e120b53f7091d4dcba965028b2ad58,6fc930a0fc30a339624476fe1f0f79a261632387,74d145bb16994e08bb5255a15f4d0d547b81c0ec,dc547b1426bcf6f2a15ae2eb384a20c41f9365f5,072934081799accd4acfc667b7046e13a0a54734,6d0ce1c4b60c142db8d968ea82200784c512de3c,703941dde56a38672779439d3aa3cfe93a6c3426,8fa62752d4e8a21b569cdde4644f4d1b006e6d1e,ff6a58ff89a0334a64329a29db000a0dbf91d9df,17c0291e86d90a27181304b8adb1d51d79c5b618,bf5b85e5e539afd6c964afe225614d0c90d84ac4,dfaee4f04b1c2ec66e01978b3d2377685f366354,3baddff71e3e04ee92cb792b904c9b9f5a4e4043,13f1fb60b4cc7ee884a00de755d983ae0790bb6e,b8e6610617d5067d8010610b50878c64771296a4,075966f142ca9ccc05cb5db2291a565832c141ba,5b06af888693055fb9d52146b70c356d28d06389,ff31d95a694c2c9bfd4f788ccc280c1d6593e527,7966b29b2f3a2e98dec9a097a3da18be690584b2,f674ed0324fa2af19d0c3a896ec06e33a1db024a,3d049a33096ee1906af356dad7f8830c95d895d2,8369f035bf5bae7a9d6af7902e514722f89a55bd,55d4ffa9de2999f1f8f36b7ead07d53ce281b4d4,dbb0b24de8b842780b547985e52c434d5b8a2d71,9d425ff4ca3d855ba303b815a93bfff98fe153a8,92beecb6fe00ff0af31bb52bdafefe6cc6c2b255,12843498d1747a87b7e0c0bd8d07e5e861b92140,1c61c30cd23c625aabb759d0080ecf6965a3fe22,38a059f0398a3f0594300f1a39a222c45c3821bd,312f1436b1fbf5445bd97935be451272ff4fc80f,37e934ffbd0864c0893f250e14c45130f11edb1b,60bb8600a1248ab490f5b5344e781967ba423bf7,f8d33dc1885af3d8eed394bac11f86455ae491a3,b47d2bd2c206114dbf07007ad6fce88f208015d4,1add3490c326215fb09024fa987c80435c1c1b6c,0d36b05df5d7e045c106817d54e9d4df0ea6af7f,3ae370b1908f4be08df639ed6069f6e34fad2c26,6ec460c619cb339eefb54d4b83a456882a2047a3,81e8982dd4d8d0d19899e55e511605be8174f926,f7050ef41ab48de9884816ddda2c2b1f713fe200,e46b426ca13519093fabc509cc2ce2adb507300c,47066f0ce7e8dc21393d07516de90e094610e52b,c496b609d18b20208fb0ca54f0b9137fe413f5db,359ff64afdf1eb6b134f69f7caa5c60d79a91222,091b0fde0ca1d8ab1aa2e7904f3a95cbfec60431,53928dc0edd2818dcf55b9cdda7eca3bf9aa73b1,3d374727dd2e635beb37ed5de8a8f5b9ca44228c,78244d89dc7bcafd58ff04c29e7d6f1ddbb0777c,c3a0e0c6d2e401496bed2b9a377ad2d949e76c3c,3abee173f4c473633fb4e9e1875ea18fbac71128,eadcaa5dfc55dab3ed673f4d104fd16c0472bc51,10273e54dd198984719a932ced572c056ef464f7,d2247f6539e5cea8e6b31a3a4da63b307169a66c,eb67d87dec24d79a68f523e0a2e3683d2ed59137,fc960879dee7f26270e4baf2bee8dacf4c6f9b33,e440bf0e00d4d344b855693664da99ed9221e3aa,bf7961a9016220e8f4ebf9a4b2b62a39863cdc54,b64edc0170da3fa6a366f9564c95b985ea566613,1635d04b7bee15f943952680129098c58d295348,a82a587a1b750cf5fd2a409c9f1a942e78d49c64,e5d2c1a9803158671d8e7e2e32b27a3ed7ad2fbd,98eab07abd080e37907c99ef0934a62a54574df3,a0543f7f9bb7702d795e4facdd4da7dc4d3efbe7,24226ef4af57e9fd94deea2fdda3d23913054da1,f0b22a1569e315faa4954c7afc00450a35dbf2c8,e94fb2edc3aa38c27a17dfebf42cec19eb6345ef,6380df9b42d29b7db0301f50fa948f90f78521ca,c44095733c36ca1505caea5d389a35c0ebc0476c,aef337e67c4960aad357391e17a09dadfb1708e6,d41579fb2b8c8a5c35d280065944a2fa4aee3d7a,5633d5e8aac2d3da9cad03f29a803371f6a98244,33b4772eab459420afb5788ee18e4f4c5d21efc7,9d67adcbb6e2c71709eb2e40ee69050c0eef28b6,68d39628891463f399871e60c4432cd06ad034f8,5b3240c8f1cf913530ca5cadb6274d52f44255c0,c06a931d5b7366d766fc9e5f2797ed557e9a95fd,47d96efe2913d5dcf8064da8697aae359713c3dd,152208c0be1952cebbb1636d86f89f277df3b8c8,f68804e9cdc1a0489145ddd82b4a7e8ea9713b09,ebb199b9d465a72c1784c5cfcb4f07b4d324f38c,ea11517d27fa00f40b626e47213f0caa8832d155,d5dcf5cd7ac8b28c6079aa2bd7358f40bf6f3e20,1d474f822e015968b3a0a5b592a454cad726ffc4,9c7cb3dbd7c02c54cb0da8f14f5c05743903742e,76406dbc36564d820b900665579540f4d5b1ff6a,7ad8f94ec4ca74e2fc30ac8278ed0c0accb090ab,1014e530813f01757a6ee4b4b16518fe2a7206e1,ef1ba48cc43b53d103b09b23906531f67d2f7812,4c0dac48649acc8b85729a7b6689661cd786d781,7444733f5d8e946afc88555d0073f32ba7f5ad5a,6b1c5861afbf20bac0a2462b7340166fa7b64142,96f2e683e7b4e27d7e12473ea3960ba800204a80,ab2db33b4cb91e2897263feecce167f40a3ee391,9dcf85a8efe7d502d9095949b17fe0ec34f8a337,4a050536501595ee343b8581c3278e7a22786497,6ac2957187119df2b0e6295fd99faa6de10abb2a,74eb7b5050dc2dd172e2804b9a1cae3505799a02,45fc515400db981d1bc9f9bf94435b23943f9752,6a88f2fc28bef9aefa6bf0ed3cef4693273ef7fa,d8997405c55b3454df147adae413ff263f50d1eb,64866179a980ed3070ff888603b9e44347a90612,c3e2285c45a80f3683daaa9b98863b77f6580442,5cd4e5a016fda0f446fe775e6b0de4a4a08c5b7d,bb80851d656c15fb20ddc4626ee230f8098ee074,787899b9216cf4e13cc1f584e803b2081baa8987,9c1c2acd64559533d3c01ff58a1c0c2938f8f25c,48271b880cba5d4479fc27890f3b4bb4bf69e60c,3af6a9826347573ff8a33b50748e48541e41a1e9,fdfe06382a17e6daa86523b886dd03e013853146,f8c84dd1fd36d1647cca55943c640964579d13d9,99d88b91a9ec759fca2b345d7c38362ed1c285ee,ff87df758174e4f7be7303fb40f03895beaf270b,5ca2356638e7c3a144d832668a06e8dbe035993c,82957ec5a382eb151a7fcde2bed5f5ca041b887c,8e13adad4c6ad7e1b5a3a2f6358f0ae564eef30b,8192bf1b3373484e96c6a31c368b9dfbdddddbbc,fbb2e63fea518aa03f018f42589c14d8db8ed78f,c47d6d7af0ee2eedcf79aa76b91156ed4845e48b,9758bec36c75cdde8f63d4d2f822c6fe0ce5cf3a,0a3d980f7e883862dec13db1745e75646c5f6f09,ae71ab728462e24367107623c19c4ba6aaaf8716,9730a50a5badf6803d2f7412d98cc227240e70c8,c890a126fe2ce05614b0bbff10b8046146824d86,792b629aa6e33ed5f9dc8bd6427bd87aa9c2606d,7f07c9f94d9e963f5bd457ea667178ec0b73c1e3,84bf87b20dbacb2db9bc8770043968fe1d4e35d9,d97929e9cf8db0b23a936830ec3e4e64206b6813,9901a11d223ff5407a9d243a343e0811b1e41bf4,af17e9460b17f9e0cebf469fde8c221f8b501768,0b63068ad2b7270cd9abcdb79026f77956303d7d,06b229e1c33157af5d90c1596dd62b675ae34bc8,ec4556e03d6213debed73786cfa6e9f7cfdcd801,a7fa31aa10ffd22de56175d14a6321fdcad160b5,6230de31bb7507f9a4eb6694f283f769fe0eae9a,482698e566a62166d5cbb129409ba2d4cba8ea86,0cc91a50c782509d8fac0ed8f977f60a727fb387,0530a2f6e718ed0178d417551b0d4235506bd190,28fdba2c08f6fdee34557b1419e310e70b864a41,9c6bdcfbb793f7557fc0339c251a727e8f14b701,96fcd2e760881dff0086fa86eb208e30f0d47fb2,d8d472cf68aaa59c255456d23a5698d70858c45f,8e5a54c92e47f1257e804bab50b5e045917870d8,b2615a9ba11f613a7920efd59b2199cfbc4f4017,4f3a21eeecdcd63d878b4d010796a2bba43bb380,0189276a12c2784225e4d97baacb0a7bea6aac6c,19d5e4361575564889b0d4230a10fd84973c43e9,28d248c9d41e47fff2237448b7c30d1096d7908d,6e4997265ca10e315fa140d645b9166c64c95b7b,57dc416d9608f12749c1a50f7b058b0f62fd2c10,e60a367f1b325b10428f3c7a274a4b6d24d60ffe,7da0284bfce4513392431f80b2b4ea35e29c0011,19ce665b3d95ffd9a59577f980819665b32aa8fc,92520c423e7d6a78f7f657ddae930b6abb404794,4f3271500a84ec359824d38ec2a0f1da564dc4d3,c0d75c1c69f804e924f79271a188a2f5bc590397,1a9678f4c4fd4dc138cdfb5e1e94dee81877ce97,d49453edbadd3242cb7a1077d5d5390aeb7573ed,8d238cfaa17fdc886d8465f3d2416243400f30bc,b3680eb5bda0d635435859166223dcfae6d4690c,aeca33e80ad2db7c2c885c624b534c0b19aaef21,a7232669fff29a5a4054bb64ea000f402d31bc45,674c3f04e042493b93c3b89990bc321b20df1287,348be7657df8af9c28ad0230bd81e85ebb42dc2c,3707cb4b1ec8931596f2e0c33e820358bbf0a085,a0e96fd55111b9f4512653f9f782b43a8e7b479d,a849e51a3c698f59fe89facb9b161b2d8d91bfdb,7f96a26de03564f81ba124211601a0b969243b97,7040587cc3a8be4e692a4eb85ebf0a73eaff2b52,8c98be824df6e28fad2a957e4908cf96be65d400,2bd7877ec00e5de5cb954ce87403c604aad204b4,1efeb5851ada4f52ab63cda11fc1862198744a63,bb8c3fd153083180e5f527eaa95ec5a70f0b08fd,817ef6949ae0334c4cb2ffd3a1251b4f16439bee,0d592e8d1a3c232754f0de04a8803ed0dfc1b8a8,f0298f63d0a2442d867f9565155ac77ead27541c,a0a8a6911a1d0f9e17fbd6c7f4a54bcdb1a9adca,0ab69ea0ad067a2114eb1e5142afc99cf5f5d965,c82aae59a11fdfde4b5cf400392450312126e869,88a0d4d64bc49b3c18150773506a11a487467132,b90ec52a0eb7042ce95d12843c246c80a05caa4f,6d7d567a25a28dccb3f5603644a4fccbb9f1bacf,eb722c8294f91f274806673ee4941fd40334890a,00af340febfa4f8b38630d5818f3003d8e74d4dc,aeff5b3577af8d13b99a78e0021306a2c03aacf5,9a0107a19dee80cf629e147e6ccf70ac5843500b,a2b720da564edba0ab08efd53eba8a6aa126c0c5,d6fdb384590bf8306e16b990dac52ca86f90deab,04b059268bb291cb1b5471481bacf5aa93a756eb,2a7ca7ddc721fee3a36a0af405a47fdad1449af0,fadac6a9a4169b7354b908e7ac7eb11b17927e68,25b27281375284e07b7b9047d7cfcb14f2805555,9858d9c5e67ffc9580feda5de1789b8e7f6d1b2f,9af9f140a52981f0d88b7d26bdcf2f915c95ad89,80f87edffd5b383a3530571bebdf15899c7c1724,a1b252538fc592ad908f881b5b7aa63bc152696e,2a897f5b6b36e4817a73b18bc9e2d3c346befd30,518db35eb075e4bbee9fd9f55324b96d292abe4b,295e2d4dff621a17c042f1f48474b140f7bfb1d4,072be7b0f7dd383df9653c900080513e12a38afc,213f84ad6ce093b49829e9411b597b626fb113b8,75acaad1219d06bb3821c4d964dbd6bc17241ea9,2a990b8167e0da36ce24a4e90263ac8e6cb47aae,cc92af8423a84a63ca73688c50f211869af3be97,01691e9ecbe3a4cccd531799227886d3d1ac92b1,2ec8145ec543c0babf24ecd8de10d0114a91dca0,11c17a87de784e7cd6dd4e412336a6d2094244d4,2bcd2a4a937cb2c8eb5e2e090e03816e934b8549,b713c7380bbd705f224c1bc1ad1e26eb8f5694e4,3a668d9b7c1720851d9980e132e0201d02b6a1aa,b03eefd5d0bc17a5bcd03eb7850280509aa17b0b,6db164c9936938755328022913d2985b1d3eec66,26170815b410639e9a1b233a854884f913d47068,0fd7a5cb1fb05d0ee521c98cdcff695e95194b79,16a21eea87c564e9bd99c95eefb5980c9b230cfa,053c42da3376a83975d1b45b78587f466d28fcba,6190258f5d0c9b9992e8346bffbc8c18070f976b,33afecd117abbd8c48433ff6396bc3b7419cda09,c0c0acbcb9edd11007a891b0942d2d74ee315209,3e047d3691851aa988e95fd76fe241fdb2386470,5d51a788f77f5a9b6610375c5b7f7598274bc6ae,5e3e4437c442a0e916cc3137f1a17583161a78de,8ba4c4bcf0ccb8f927c6a15dd9cf07bb02789946,6169bbeed5936ec152279666681362007726f3cb,9b2bed6fdf168b694b7c62751b208bc82d075c16,e98771608e51c0ccb8b4910376e9e563b8b0c794,185f20b9ecfaa598d6d6e3c042707c4e87273e0f,93be88b270d425ff7725db6f653519d2459ae3dc,b7ade3e566160485a9fa8c5f16c337fe7b5dc47a,2452e991b86091045a296ca6251b66ca3f6cea5d,95fae1a81d7a92d9e7511e02400fa362d4763bbd,507f0b3362db9513e09255168306a3c46d35f0b3,2fc672452d27fe93609cb52bfca8a90a1b002cd7,eb7702bea42c58dc4591524ef35fce8ea9b5b62b,edfbf2ce30215262b7e8c2d5f0b9c516bead4fc3,195c8b599c1ddd61ebaa739fd2def0db21436cec,7bba64854b52c877aac354180ba7928a903ff23f,32999fbaba853286412aed98a5d2a89262a0cd65,b4a6c22234aeb9982a3d27ca0c37e0f2b7963958,97abf6b49557961c9fdd525b4b4db4e4763d6e37,e6037961e3be89a55dcb273dd8327fdb85d5338c,7de94e7a1dd1ee7de675c334fc936a64f72fb978,f8fc0073248b2be95224d2419bb844b4bec0d5e9,b6cf482fcf3fc1f916615c8fc80e552e241ad15c,3109005791794f433437c6d452e72f1bffbd4a4a,d854d18bd9730ffbe4340dd8a1dc9c2c1efd65b8,9179f9d43b5ebc1ba356a7d0ad12a13a2ac52b3f,43ba5b69d2b86a6b00908c0c1664cd893db22f9d,f42b39a7b5c586378c5baef31567ee53cc427715,a65d778f73ae920d4eeec28438c254ad9ee0f8cb,e4eed4e25994349c28dec79ab566831565bec643,7343e9c4a273b789577856915e0edf6613fa4b41,c96029ebd57c852dd3f006cf8769d9fd5473a605,b8578f804f48a7e7fc45a176f4556cf729dab2db,12adb47d65e06d4d730cbb860c711bb668a94367,de36d6c0499c2ce4ceba4825d004767f0ba944bb,09c009868604cb1a9a065ea9c739a37c41c93923,c84c4eb1a4cfffe8cacef0193af7a854f34c5bc6,ce1f115b2d17e17832f36c91b285e83aa3fe8f74,c3b5d0d5d5b522e8d1a594183e2b49dce34decfb,28efcfba65295ebf1b88238906b79594fe54fda4,57d9884d964cc8e1208814fc3b0f381c3140e642,aec18c2426a503c0c85e057bbc2f029d649fe3bf,6160abe37ec2fd61fcd1424cd62cf95fd2f8b1f6,80282d6effe141239c36d02d418c51142b38f6f5,7f775abb6dc5c5b3b3a1dfe347304a81d970df77,4e9b42344e5e19210d8ffec442f1bba631df9078,f42f62565bf31b15c943b91eab9fc5a9569e01fe,227bd3e9041fa1347905fcf666a951382c1a0f09,eb81b981cd66a1ab82fa0dcc05119e3a9c5a09d6,469959d9b52e49254c45885e9e9f6d631a3481b6,217e9ac5a5714fa60214616b33f0e7a0860c2a64,5c2303a76b1a616d24f9e41679bf61f79020f4c4,a286ad9d774c19718bea0cbfc84347dc67dd4862,64e796ace2f58eda26c7c732c8d592029f5cf297,17d1b8afdb7dfe862aaa84d4bb012c2674d8cfc6,ecdac1dd399df3d5dade5151e320686db821ef9e,472f8c900b8b5dd32333c930ba1c6f4a75828102,54ea8468fc0fa0c2775c82a10ad62785c2a8f11a,259c865667d580981c3b8b0e98287383f38b40a4,344aadebb9e2cc9abe51bfad885a57400508d088,9003114a8f7cf994275dbfc88b93a0c8d0ce25d5,707bce74d765b6442a28036f5bbb0320c61b7560,8618a3b21f4079b12a7b439c9026d3ace63d3925,ecc3ce64eaeeca34fbcdf297fdea90420845fb11,14ddc59edbfafc8f7ff20ca7bfaeecee4ee3fd16,d4ad618a702802f02fe4196ce6487f15c5535bed,16f201292c0690d29ee40a4b525a60c13d203c7c,dc799a9d49d234980b4184d2561bb0ba04337177,85afaf528916ef20938b019e802619d65dc3f778,4111e13017f90f992971a522ec67f3bdf3b46b85,7a3eb453d40af468faa5c395a6bf301cc0a0cc40,b88f9ad57cb67ae1b565d9564f2d8e938c239ce0,2519fb126663d9dc4184d8ed9d7edca2e65baf78,9803318feffd8cbf8904be68d784f062eee3ed90,64c586b86dc064d1bdb07655975f1787f17129df,0a021be803f923bae563abf7eacc9a1d6bf36b66,221efd7a806a778f59a29b7f9baf74048e8b3978,9c265d71f0fc92ec1065d0a19c2565ff884dcc9c,31cd3df783edbe1bec40a90ccf4df82b5c327f2b,0ab6b1ab4dcc5a513a83831fdd1070ed8fbe49db,75491ae21c54217fc1838dad300f5c86a247db4b,4fa99cff624119b65aba0c5c6fd0af267ad0dc42,9b1567f0546a7df6e7a5818dab3c614146f95c7b,1f49e633b6599ef4acf917a4190a62bf171843bf,2567631aad9684c8b6c4cae9e4d94e3c93a2466f,04727844b5c663cadd8620aef3ec2fc892115d0e,225eb8ed12ef191cf97a185f1a405bbdaf9634b2,268f7bfb5c73b8e6dc11bfba6bcd1c61ec0353d0,91649eb2e5e882700c3f08a339c163b7f24837ca,e5c6e91bd0deb773586b10741d8435409313bf56,6975437da8f582ce6f964ba1f3d95972477784e0,5950a5f97b1a920fb9622f8897da0d1eef2ec04f,0b76059b37bdb2553beec800b2d4134a9d0df826,0ab4515e587d6eba0c82700a003dc3a0ba6a25bb,67fcf0f03e9b81241040ce5e31f8a8290384d029,e99827246e52288205bf3dff3533634aa553acb3,4bec57702f93cd54d61f68b1f8078ce4a4d985fc,8496690ed0f812c72b008f609106c933871be484,8b24d60df752458f3b2ec1eba42a1143529a7af6,1e960a9aeb12ae75877ef9321efbb89f34bbbdce,d0910b5ac837d58c141ceb758c366bb8a87f56ff,539a578cce5f4e05bf46dc283a0fc96952f22bfa,aff1f4999c47aecd65f1f17bfe96e736a55b4ec7,4e151d5a6d8b1b11617cc17f3fa3e08f612efe4a,ecce39a3b253b55250ffa0133d8d6bf3cdacb4cb,3b49e95415b79b02d6d74ee7786ddf1c1177c1a3,4245b20a32206201500e7d9c646b003b93f4c6e9,1c99c2655e3996df83e847a442e52eec3ae171e5,7f1aac8bd71488208af65d46e2bd3783d8efe725,afc80a84cf383fb885ae3366d429a5a0c6ffcd3d,87e1dc159d85ad4f56cc8cb3ed3eec71c93cd273,dda9f83dfe2f4841bf4fdd87aac87b46b0ae833c,a4b35d16f2b168c58016334e1f0c54731db2d84d,f1883c4e617085250b91f579760247865abd01fc,33ce19799b268409d89e0ed8c1598b73728ba970,0316a7697f9b6c3782abf8c6188df983ca1e9f7d,c3fb1e3a658af94ce69f431f739a80522ddcc546,44856e660c4ee3931003802128192b2d77415244,a3d68e6839f1803353d6b575f34fc91686ff5088,e694897bb3bdea5f4606946dbad784ba7bf0af1c,09d6398942ffd3e1b139d72067cc20e8ccd7a400,436a0d3f9ee306b55bb8d0b232587668c8ecf48a,5b29e7a3ecfdc47203c64ee8b26e5db5cba35b60,599ba8cc2a1d68bb9dc6dae9600cac6b1847d046,ef8d520e8277925f08c06e3b635a54ea80b2dfa7,2ffe777b446a42bc98d278288906bb924bb806c3,f333fb08ec41d4886a8dc9a35479bcdcc08f3b78,34f7c3e6d40e1702c5b9008ab852e5fe23cee7a2,60c8b71bae73cec85e5bde74239f2bc057f264a8,c7f4be71dc1048ed4364609f838bb5e79e372088,2912e38e91f1940d84b6a846ecc1f9888fb7cc67,5a26c582852c9e6486bfeaa164158a9521eb45b9,6beb28316e004311744aaa46f047f7048b989889,0ca1e2fb424c67f6c6b02eda1dd1ff22773af2aa,2f36069dae8eb1f6aa8ae4149c878fb55437868e,e430c92fcbb5b00680ac84579d6f969a4aa1c1c4,cefa05c8b1749d9f5b3d322f93eca52a13ae42ba,2cd695120564fd22f063cefeddc882523a86fd69,2703b36fe16907fb9fbbbeaa8d497e17eb13b4b3,0216f778193aa057395c3632482e751402a21048,e2386ae876c8f9a0772be80ff7711499ca4d721e,236bef961c21611f2969259c8c8fdec54364a225,cfa3f4fa8c3a23fe72849a14532d02cf8bfe7730,857cbddf04ae8d54abca518b94792e30ee481042,c6443809bae23d8f0a519b4b3da501858a2f50c8,8d0ef71e37e6a59066547ebb898b17ca21e3b601,4c2e0b9ff0ce9c285f1aedeef6a7146c81a55d0b,ab0531f0ce5b02a4a91430a979f025a4684e2245,803779002d5bdfae8960d95520a4e5e5107f61fd,9c831677ff1f6d00592d7bea91a3fdb6d65e0aea,fe57cd353657f96ea5846d9f2575811e1456ec6d,272a0e3e267eb40a3c3e1a0cfaab9d2656792331,e0a1bc66750d810d57af27e21139203bfc2f3125,01178532e5ce1180f56697fe7d22e907d1afee11,316f2429f02f3f4ceb1d1fdbd857df0c500ee5b1,8ffa01e95fec30fbec3961b0df8080020e5b71ac,01937c4630f20652dee29b92dfbb2ab3d58cee8d,913bd009e9cef31344cee42d9351fa25dac3724e,3dd6272891f18c415998e167f55b53c00354c8dd,c15bb07bf60ec1b6d14ee4954ab67dce787e1e79,62bd0068b65cb0fe8b553d08fa4a667276b40625,f4486039704b5ee3ae17e74e3a537b51fddb44f7,83ce289ea4f738bc0599fedb7fe153e804d1ea42,81402bb077acdaad13e50dd6e093e886e8de3ad8,6f3fccddd1ac5b363a3e02657cf838b87d741a40,d1fb44044f4711db2430d267ab8c884d242cb13e,b0772ae749bd1c8073b7638d0d511caa54fb5078,4be5f07f276e2f8c9080a05f7c297fc9d578b5d5,8fa04a0cee8de2d8f6d1c5a72090b4f9a0a44698,577e584c771de341a03c62bc93f1ed2fcda3e2de,1e5cbfe546555493b7ff115a326b2722e0c5c978,e047e7db91918a6356b18e5a76eed56aff2db155,62ea31f255cf83b7037e4d56c6a6f4e184d26084,9775a13e0263f14cd74692b3df566752c8de16c1,9ccdf2b3bf4a4da9d61cb657c1800fbfe3e8ecba,d1881d09519768a8b2fac9ae78bdebaf49ac7f83,03d353c1f5203640f225f84930fafc8787372b66,77f3acdf76d54e924dbb77682eb9352b5626f88e,85fa313e597796aa2035f39504c467078f51110a,a7de0b365b9d10dac141f7a7b8889e92e12370fb,f7dd8755ccd15cd31e30863a62b0214249eb2907,811cf381ad4f00636cf8b5628b663d7bb8cd07f4,612f063795d944b9dc7ea0ffc36a9a0fdc4ef73a,53effea0f5cbbe4e8670c65fc55ec65b507829fe,d608b4b689181bd3bde42078d6c9641348f0a050,9e2bcd940aa579c470990d60525be160ee191760,b9affc3406b07c24ffc76005f71d41adf22b08aa,c4ddb94cb42420c8e47c6daf181a64550ece1615,bae6ca6883d84aff6c9061af6ddf35a7766b51b4,1105726dcf0065083c5f23921c1e87c9172eb61b,7a0c6ab591659dd05274fb4c8a05d39b760bb12d,c2ff85ac5ba307d7cc10cae7ee17d479c83c9119,067b9b2922824a6801001abe1f2c67559cdad78c,ca7c775e3671ce703894d6ad4b13fa11ae5c1ff3,308aee42a011e796260906a9d99699dc6521d3c2,6218254e53d3bd9bd6cc2c62b5d6ecb86235dcd7,793ecb3fa67214c2b6da67609c5f4e6ddef96bd3,8ec71bc810be192183c9dea7ef4bab8a33a2df66,47557e0ad24e6df119fecbf2d42a65dc9cd20b8a,bc4a22e24d21870fe797d495cf5a749cdf89a12c,07a8e6c1d61cfa4a588d3e88997940c22f25fd6a,c8c6e647be33882b84c2ffffd9c4b84ea4fee1a0,8ea95e9b9518ff3c9b52672a2575287d613bf5c9,7811b915a918cd014806bfde2085bdbad62c8b2f,682e29c4ff6b494b468fdf0f1295ec85fee37ec4,2885d3ab569ac5143b094419de211b2c1405f568,e53d18d876349d27b75a9dc00340b4a8edaceaf9,bf65bad5c5c92a2bffcc5dff4a5ced917116a8a1,3999d037e3f66961a2ee4993db53d1d8e9fa21f0,9e7d80a8bd1f1fcfd60bab5750b30c05db3c3f6a,f38f9ff930b754f2b94f8dc876f53d22ab0d23a6,f879d764917721ff3bd99c7e6fb6134cc8ee7197,f3d8efc8ec3690b97f3d5f15d6874359435271fe,08817f1aed8b29c9e30d7d9edc9530e89bb0bea0,87a67a3222693a0b627cda9a47197d8c4893a205,9ec85f940e650d196a66510be981d6f8b8a774a6,9a39124118cc4b065774f84a7a7d7cfdcc8456c1,3ac0522f70fd2e0eaf66858f64d3d00b73eed42a,3aebcccdf29cbe199a204f573fc1390e3760f678,934e3bba63c67b577d941d675cba3dccb2d53826,4bc957a1aa3bc241350f8ee2f917dfd0cf80f8f2,c90616944d3bde7b36e924d27a0790195d61f95c,1b34fe90a33567d41a103838648df4dc930ba2cb,ca399f3c7166947e42e507c3cb141cfec46f9e0f,b09669dffe04ed05fa7f4c19cdde5a2531be0668,243ddea68697120e162f5facac53b0ed59578ee0,9f8566dd84cd77faf02816ff11b6b4092af5a0d4,d8021a11029990117503179f27e8b9af6418d32c,81bd47343918e8de171f1f53f26db490934ece79,6ec6d2043b1c2c2fa2c5554b142610d9d333075e,c7f3469a3f6135de5990605db59ff5286c6ecbe9,f5bd3d81e78881e7311d4642ac4d41445b0d86d9,0188a558d1fb63818129f3adc8513dddb6bd42c7,726ac5a5a6afb3017e06ccdd75d6a593b97a72a7,2cc621618accab4ce12b8f5b34c5f883fa460b3b,75a9c5b5009e094dd4f1abd166f9ef47aab97c1a,c8e712f400aeb5f56d8b370f7e0feb5a6405b6cb,b5216a19907d45ffa87661879b2a571e589fce75,695665c393c0c3b0a67b060b5da4c86249c77f38,665180a579b47a5d7843c4912086bc6e2060aee1,d53b17cadcad90200962c5942a47cec174047612,d8f02107a1c79c2c4560c5e6ac260f516f083198,f5e5f9645cc90c01a6fcc2c89413ccbf0d1d3d5d,f9957f30a5a70def090032b803925a9733d4cc43,70760208bbc0574bd170e3acd7e8baad3cd90cf2,4da1ad71a4ead2a6643e56087d03c1ddb6303416,71dc62dde61909bd587485a20f3c234c832b9389,2a7aa1116397a409066dcef8048db673e50f77f4,f718567c95fdc28f629bbf213c0e8f2507064f3a,77681333f520d55157353f13183ef0dce9dd0e4e,29a5d3267cc3329ed313bdf3e6b8d59e659260fc,43c50d0a3266282a69f9e2d316fbc73b478c0774,a19e461ee05154f1934c39bfd925740b3f28e4da,17e3c31b7ef802363f2b721f076427735d7802e7,cd3570caf14145f0f75af95171ca4e773cb9bfb6,5557dbedf27c88984a322047c57b486fb7a9fccd,1a71ca410691438f182910025443da0580df5a47,77cc2f4ceda166a09eaf04ca07756f950d1ca806,1b22962140eee3b11bef19380d071ce49f5f4329,db02c7c85aea5f66f4e083bba8a8ba649e06c313,f1d30a5bc63f4bf5916ad20a81c12922ceae68e3,c2faf6a8fd63727b392123b69f5a403b9ed991cd,d06cb1a20ac5674bc70b8e8da0c419f004afeb7c,423940afd7c7d8afaa4d45a5c08d36f83fcf5401,7721995c71a089a8796aac9c6570dd6eed606d20,77e3a402dabc6622fc48d31c641177452ed49867,0ffd4f87808838f1ddb563eaa2863a4d0f984a6d,72667f41ad1e1b310052fe05a244276c7f813ad4,837b433abc0378039d91f0f03061d982b2cbcc9d,b464d3877781b483ed4a1af04784cbbf175019aa,595edf6f9b5bdf4d04ce6580cae49debc72cba89,256ca9d210e9fb9ddc11ca3caeaf811ff1d97dea,bf5f7144972fe1b99f2dabf2f6910b5e93090eca,f0b322f4ed22a2164aba0abad84925a1f40e383d,cdc7fec019bc6e77d40e11c9c3bb173f95a3b364,f76bb5fc5e29998effe2021ba7fa563a9a4a8e2b,5ef44c550a605a72a6f8b34fc3690185097aa49a,9977889f4a2dc700ff8bfdaf231d59910fc08739,cc5814dac195e6c3a60030015339e18d0296fbb3,210674b9a039da69dfd1444c0cbcbe7d5cbaf4c6,f6a444c6fcfa9f1993841e8dce9a36899a8d8c9a,ee187f78f411711fe221f871fea01b203114264c,9664ad4138ec531b0be7680bb274db0fdb39b554,542c3f0c4c916a61cce0614fc855241ba0e4e8c3,4dbdb4f0f1ec9a675c22f0f5650a8cc5b44275e2,39896a1b113912c28ee09155ab6f81cc9a14428e,dd9179043e1dd2839249ca4aa2b5eb25bb4760e3,d936280c6b5810d72bcf1db26189339025343143,9bad5180bb210fa49437353c7643d9bc574af68b,964c04aded9d81191c5030d1bd75be285e36d8b8,4ab310e0ed49cf72441c1072beb3e24206eb6e12,8535c758efc41d890c3d343d43e064deed88d132,929fc500043b93f1e06976d0735c3cfffcb2c446,da3eb5c1785feb0dbd417632bff6f791b4b458e6,022a9b210ffce670dbe4d675baf3b70db3e74b92,bc21634b467631b3350b42f83894a7339bea54b1,f0cc2c38b8aaff7b6b407aeeeb8bfe9556fbfa5f,884d24e321d3db6a74c25a2d0bf09b1e755645e0,e57059eea3959cfc9daeee5bd558b07a4ad21713,6f1d965dace0a9e093ce73faa9e02828db463694,430b2fd7917e4689de57e75a67ad864f38b570aa,c43d8e4adf47edacce499563558c0bbcc9c7fc3c,906d0ba06ef076fa6bebc994e1145bf222449b47,6f482952dee00a2e14dc900815d660a32e46bc8d,578424cf51d3c1a127c5eaddfe462e82a5588586,5726428dccfb87159f31ce505ab1bef04a5f59e6,e9b3db0d78ec4a3043d69de785b951b25179c2ae,814b68fac0e7a2328bf4cb0adc995bf20947383a,8006900e8e969fd4f8078398ce762f1575fff961,bae583118a0e685032f2712943d2ec5bcdbb900b,d56a90e5ed984b10ce192d3197e72fba5b4e184c,8e2478e6328415ca01414db2a77c2180c23631bc,30df9550019731ed3cf29d5e30fc6bff4bc4cc03,f2e0af6d37956caac79c5acf8c8cf5ad08475443,d5a0dd3d2577809d169cfe18aa78e8372fc3b856,5e3efa4455a0c20e72ee2d970df1fa630308192e,ea5ffd597f3b8a50300e9e7d1ea2fcd0f1e14f48,99f33824a7994a8e4fdbedfed79093cffcda03ad,1957ea11cba7537976c6600b2334a9df386d7aa7,3ecb41cd2dbbededc213dc54ee4e44880dbd8336,f59aab1371a008ff7c5f46d2b4d2fa56019cc15d,5085a04930268442e1dfd07f325291dc1f95d086,c02b43fb93381fec8823752d0ac24e76e143868b,c2c7982a22f940366468c2b78e6625739d584be4,e6e49baed14c826a83e384fca0e29e739d3aef22,e841e95390eecdfc83dd7747597d3bc15195f171,aadcb0097781d53e6b555da644d3dc05dcb5f3a8,4483343d00693632b120151f8ea67abf2a2c2d5f,04ebdf8df81632e5e3e8dd13d80dba4c75ea9c3f,6e4984184b94547a91ffdd96dc47046377693a0d,40e1a09e6c73c245cbc1bb3ea1b97a0816fb29e8,134bc7eb423c398b8ae1d1b93b105c2d1dc66667,214936b90e2f67c323cc530a4f022d3ab957e2ed,464730dc44dbffcdd9fb0d3ef0847e7f0a04c633,9d2e71ff699c447a2fc954ef15928f6697d60a8e,776667366feec2f8f00a81ba8d3f016730fd1e5d,7ee31ae252e6796fc32a3e1de90193e6f936920a,2c418b988cbfd4d9737fb34f6c81c52bd32c0bcc,3f8aeadb916de0d20cdef18897275c348133e90a,e1d9d1be0aa9b4029bdd144bb97374c3bf559d5a,50648f2a6052a27c6ab8591c5817d63c830aa0ff,43b29375899276a2734571d2be8daef68e5b9008,85fffd7a77f5dafbf672ee80493fc42fe09aae5d,89d3d866d2370f8f332746506e97dea19c9fe382,7368fcf4c5a6845a0c2257ae0479556850184565,356afdd25bd80af7c674633df6eda10826dbbf4b,bbcc3966445438e2d97e07d21491a83e9b0bbb99,d7a9a7319493dcd61d41e68b3baedcaf9442ec5a,ba1b0883c2771b3a4b9e5ab3954d2a9ea960cad6,ce1f9cce01e1f58859886593ea04e5a5bfd0da32,51326e94f38d72e89bc833c60e20df237502d811,94a15faa7f435b1b8a5e0776446b2352b0359065,7a4110cca91f7fcb4097d156104bf7e12021bc52,7d6b01bfc429e2bc70eaf7449a2f899f0ce4b0dd,ea47cb313def016b4f6359126d45ba9da4054411,cb0f422eb1f04ba531b1acdc0212194eb1c565e6,924f9466f0219cab6ea5c52da9b5676c97f9cf5d,c185ce02cc24c43f5213563669fce7c2c9727747,d16160be915fc86a6ba634f9ea8500255ff996c9,0d6a1d24bd0adb93608b17fff1e956564cc4d975,2629bd7ba92a03ed6b106448b7eae6429b63e94a,2a2576b1d5c6335deb98c92f51344903e912c7ee,c67d35b8ccfe8a4de74ea6f33017fbd9f68979b0,db8c723b9d503f0eee1b7058495170b97326752f,46507f956552ac35f745568284ca6ca7de4f328f,eb96734b2062ee19daf54cd52266164d70e84b02,7a8893396d2598628075a4f3e001622d731e1191,415bf22e01cbb676fbefc4de83ee4d18bfa6145e,4e4d268963dd6d2b596d1cb5a70332015011bb04,ddba001b651a404c2b01bdb88679599cc5df118f,5129c2cb9ac6bd7756bf77f8d94d60c0390e9734,17514ed5c0dcbfcc2d141653b021adf870d825ff,2be8f01efe35eec1c1bb9b278b54de3715fc5b2f,122c6c92cb5e494385d3fa3adffe6bee6ec4a51c,5920d169c096737ad6288a96a37a9377fd8697dc,136f0429725919c7759358a0499a4cec09f8a3ad,6a3f32ba6983dfda5250d03b9b2d33c8ffc6022a,10acbca82824b6a3ebf5dd829941da61211f947c,306fae299e2b90543f863504cd9a35be802d103e,07698050e56747de32c7ce580467cc8bbebb2a28,dd4b4af6a53514749c8ed329cbd9c41ab6f1b7b5,122ed4b76a4e735ab76b44d52c845879e6fa5535,c78e9557f81f7711a60400f8709b5b1fe017bdd5,64ddf22e1b77cea0a29d13f5bcd1e09e8bb17ebf,3ca73da91282ae5ea53ab61ece3301dacb454a43,07dcd22b1c812f4dc659995c84c51fc580383a59,838cc89faceda7b5439d6a816da8a3f7567a3855,27529a7e748ff7580e0a05865f7738632c61a559,aecec2f6df34e7ddc759215a258899a19bb2eed4,0f0b9833fefa846d3291d275d5d78602212c23be,2e608a3dd025db0a270cfdb17a382e46547fe62b,61a3f6603d2fac4f4b88cabb5c1ab1361bf6429b,b4f939a4ab82eb56fadb74ee53c183d9c814f5c2,bc84f780ee3baba239b7cf99b16ac8ad70150c7b,a73ee4f403dc037bdc0d45e2ae793f55f994771a,e310be017eb68e356085ffb0495fc1d042aaf294,968d00fedf64ee56f23796069752cac3207d48e5,9526fc64cde63ce5768ebc21f9cacdbd9b827219,a18a6b4391ee8c0786fdbccf8154949b41be86b1,4a67f098ee5f2077417ed8b47e6912a0e4794d1e,c28995494c33ff0cf4c66858e8a7de86e10dc411,f134e3b0eec1866a21572feb012813fa14623b87,5ab67753769a4dd11c3d6c4d2356a18a6bf14fba,3ce6cae11d0f754038ac31a3249431903a7909c3,468975aa3046e252c5ebbf4c9a01088dc7d86952,9305bff861034a05c8919a8dcc3783017eff6c61,dca4bde3a2b43a31fa0e6dbc564c823f53a20da2,4d8ecfb42270e418060c9de45ac5a1527150c66c,1f272f8f90cb1fc0a0a9ba3723aad13ebfcc5f03,8efae66956c35ef07d5dd817cfa20d6600b6fab7,3069d74ecce6a302ef844f6fa2819f46af7eff2d,2ce34f7bd3a648cfa5c7af111bbd0ef0fc991f8f,b3bf183fd37dcb46c4a89fc48005cb68dbed4a50,d2921dfb55646401ff156f85a7997ba1d17f2d22,a5f6505edc01ba35c0fd05c2b048b6ab7aa306af,3cddfb4e2ff9fc38925ce973bd29fe36cef3fc98,6b7df6d22e246a54b7ce60e08ac4474664efe90d,33ad038bbbf5d724394d5c07aeb4bf7aa7ad71d3,213a0a704aed3270afbb0c9ec0070e4cbad85d9a,810de9eacacaad3a7b0093e64f61f4c95aa060c8,6007ceb9083c0b27313377c19f65dd8fea51fcc6,9a1ccd2a16a48e980662be44f228d549871e8b22,67b08734cfe4bbe2aa19c4cf4020817abaf74c5d,61cf121533572a72ea65a7ec35bed1a5b3621a5b,37bb10e893d97f44e4f130c06ad825a2b4693945,b4df9dbe1d10937f7e61265cc58cab832f6b8506,c7c8e2e0086f1f257af5f4fb927beae687105f4e,1e072aef31dbc456da749011f2ede30dddd76546,5762e687a3ab8fa55d3d7b14177de991b044e9da,4f77cbbac4accf137ac2683b95f5ee9f7c628ce8,5e9eb673f8141c2a931e971448cf1264d55e7f04,9bd785c06bb6f3b7c1dfe2190cb5fbfcfc6f76d2,5065e4ba50b7bcda40c0c010b404eb228a4d3188,9b4033fa80bff4b50cd2faa83a49aea8ed71c17f,a7e234254f19327d7053f390ac93d29f53d40803,abe3002b5badb867b33dfe4457e92535b089a954,b8befe3d1fd54329845387d8c7109827c55a0b3c,bd4c2064726700790c5c6bdd0a55d3d471dd0c5b,e121a753e116701c5a8c68f44ca90b296b67b6e8,b2165570de567ccd94e192353900000376492fbd,4a7a113a30030675eb50c9b1d0e563b6d0b82c73,81e83ffa675a60a8244c2a32723bbb00b70f3e46,6b26fa0f9a4c6c7f8d12a10737428c443c7750e2,eda6b105b718d810129c752ec7749d6a8e6132a7,3a242a17f4ad59a3bccdbc1b7982ce92b9dcec76,cd244cbf7dbd85f2a28b67fabc27455fd23f1e33,08b07122f8c0a270d4f9ccd1bd925e14402323e7,bdbdf2616830ee919a86d5181440b8db1b89ca84,4064694a5e438b10d71a24fe5d1d24bad40e4c48,a83f5749debb1409e18f0ef92b2e81bc9d0adba2,962c5bd727fe1930421e1897d0c8aaf6fba6a489,f78818e38727ccefbd1c3b1415d186ca67f34fd4,5a2d884fe3f3f556bec5ae3a74917d31c5ce896c,5bcc530707062fc715a4dab703848388d67efd7c,fc41306c4585c17e34d17a5f3618b59806152fdc,59ea39ce75fd1f8f5d3f9cb5afa264c3198d8a96,ffc5131087cc627c3ce957de0998d92518a3d958,fd4d6b8fc3f139bbb41eaa96d82055b25868ea4b,c200bf531176074e75a0d8efab36ad34886a3cd6,967b721e4ffa310891361e6947a40181e7288d2d,429454c8f48b197db4f8d25fb382cbc074f23e38,698b5de389b0342acb28bc6f753b79aa1b922933,eea8f3277211a2df7cc299dacd03cf600dcd48b5,e45d8578e8d8c5ee425f5efc31439f54ffd02ceb,2563cb6daa45b7b4ff2034f3c383a5c080c5f756,8cb92fd49a8f89d830850e3f775550342ccb1a8e,e8c3f5d6b0a19348358d039c2f975c920b39b26e,905f0b1f7819d50eaa2a0cc0e4c9da7e491d6847,12796d176d278f11843fde6abbd0935c21eba2da,455f603c8c6614f10993047e3c047fb8df3d3f2e,3c3120845af13d067111b13bcdae08ce00247333,92592be8e43db53a29b9f12d49efa317fefe844e,bb0155141ad1afa1869f503b585f9d29fc5bca6f,b97570c8b3b0e1c0f3b5d6c337b026686d5d8a68,ab0d7697c3038537c983dbedd52046fe27022d70,3e760b33c736290988741ce7354824cab306e952,69d5d648a9630a85a0ba9dbe0f79345152294112,671c674d6513502c0bb5bc477d83d4ee5615738b,01d6358f93faadd4ec8f61c1146d6a5178792580,78af12b58483e701da0097898e26335382e4dcb4,5abfe21f39cf60800c77ee5f22198d94e8341054,a3666aa8c96c198b294bd794cb1fbc6eed2c28dd,f56aa9abe79fff9dd5f36e5f092aa2629dd1c6fc,72a49b68cef4c213f089c79fc1d47b2874ba146a,27675967f85208af3308f342a4e2ca0d0a8dc0a9,4ef2a889464dcf5b05569da5ef97cc883a4a6938,050519f16fb7f00d857776249fbceab350196b04,7e53fecd092c55b7675af5e6bf5dfafbe9e74da0,fcb646bc3bae2cd53070cd608bf281b1da534271,e924dd0d16c13c27bfee35e98376e05bcb887415,6d1df899e61fc69117a2e061b17cfe241d2637f1,dbb6f95ea74a7d510502818c38e9dabbe8784448,cbf444bbbe699581354288d36b27c43ffcb47c17,a5d1ce26a00d1196bea7292c828caa5fb8a93f27,12496a638b4c5b1ec45b5435c8db03ea34e851f1,8295173f8665ba60a3b6df56581b280b448cf6f4,8c57d20abc119d71c86bf24088623dbced3565b7,3e984294181d96a590a814476616c1d3e365f458,2805e44ccb58b9c8a31864c6ccedccbcd024487c,2d2906205bbbdcc4769ea5587625deb9fa30c83f,ad8ed4b48d60ec8becdf5609d9b1a63cfbd1efdd,5066a7eb2464ad8d4a9d10bcbb8c848c66c63e78,217b3ea3cc200030e22b40831a479d5073bb299b,4e4910cb8409adc60bcb4e02d907d75203785a15,67cbb7032e1025996309689fc2fb3687c48b64af,4ebf857ffcf8997a3d5efca9c4f2ae2954d49b09,6e7e6326822490236e1c46895221212bd1840366,83f2f7bf375bd50366d8ae859ae88fcdc8ad795d,acdb65c2a33517d623d8468388f323969a49d946,bf5048cb5e9655558802a7f369fee009d33b57e7,238d09d875d38d19c2ff77a12a8b463ed4a524a8,bd6bbb6cf4fd0ba52c1447dff58a26dfd98579b9,ea401ccc826b13e56965ea4dbc0b79b8a01bb7f2,392ca81c20b781db7c33eba2b8609f71ce90ab15,efd58317428d3407d7ac5b5986f9674698a4de70,2d1ebe4cb3087935ef30467d6d71ca74cb8967da,07461d0fc3a36fd6071aaa9bd13f2d651ae0a74d,c881d057937f8146701634e884a44f58e29d24c4,abf831c430aff63659113e53150debbd0bc8724f,79f60923bad6ba4e0dec027eacf66a892375fae8,15b2f9a7b1482ab9b1abb457066d494f1e18b57b,2940d0f45f41fd70107d2660a5059f4682833fb4,346b57e238953710adbf9b576cba46a5f2e33817,1c8579da2e401ee0dfb54bcbd170130c0a653659,99c84da071bf59d35e0e0ec85f83dc0a2bde7bef,2102fbdc97e9cdcdb56bb5e549018454197351c8,db843287a2d21b94049af809161a9dab8884331c,bc76487b878e59133ce3c2cc19ebb13f9a9826ea,77b898fe45cecf6a52176dcdb86ce0f63b9a8f57,d37117c460f1cb65e6d750d9085f628a0dcec562,0bb781c92876ed29bb962e9129a4f9f1c14df412,6fb4b9b7dd751e41d7ef808c31a33e7810169c24,10db5ea5dc0093161900a4fc88d2905735c3d95f,a1c8e92904f3504fe6c3a7140134b910aadc04d9,8226233aa3f6265e9c29b120493fd1fff3e6b5ee,812732cb6ad97a11c9aa8f2b0767f8dda2dd29e5,5ad2d47e236b80d0d091667a665c6a4da736c1f6,2bce4d36db45ada7533f2e6d3d42d84d5b58b711,e85aff2b967839b9597ed00d613c268d1a6ccf50,7b3154911931d4b92c619c207e37194057c00b68,b46c010f82aae51435dda77ca93d91b1401b0203,e0ad427b6c83a334362f42f8d1d3782963f76fa3,82b6450f198b15bd2823554d47a275eb836c9933,b463f2a141166cc739f27e5c93c9274db683ad2d,ec0bdfbdd9235119d210efaf7243b0ce2c9decff,f701d2f29498bb4766d814265995bad14c68ad13,cdf1ceca765df8b62d4888981cc27f023978c39d,21fd8cd5d3f98ecdd2847aa3bb43cce64af8f7b9,c9fd115ec575728f9a8b3966b5de73f1477ea549,0c3e179652842f9f65b810ff64447aefaa9d76f4,99e449eaa1b34d4d45df59600ea65cd8c82b2e7f,f2abce7ea58decf10255bdfea14740578068dd4a,ef738f01cf32f00fdd58c7687dca7581fd54126b,0e647a073e5978f2e6aefafc0b034b187dbffce7,7ce1a7c6a0722dcfb6db9f2c2c3a0a54e4a5fc8d,6e7f0744ca11202c2defc6c7dfdd5863245612c8,99dbbcadcd19d4babe656949c20a5c643dd22a70,6e6c946e0fd1765f99110e12c79db27a400c6587,95243ed6ede742a891297e91d687bf510c9f31e0,f42817d1a2d3a3efa595c90d58aa82aa57f77cc8,8822be8a1f1c1b6affca58be1bf337be4c345bb1,d84a7d1bdedae4f5bdb31c406c4f052ff728aaab,f6b4a54f7d2de15793e3da1a477d1ef274f31cb4,835bc62e2a8aa887170510ecc2ebdadee27bb4e7,91d8009b531b61d41604406e3a6a94e92f1b9c41,1f19b113983906e1cbffd428eba4488e78b4cdeb,abd494624bf2e722938b14f2eb01ba91f4227799,4d571a19282490972e9434ec4059cf6a01fced72,2e5b895d70f68daaafe52ecee8a66736b055decf,c6a549eb487f3bb5b0578a56f08db35559764b0d,188a21bbfdbbd2c5c0a2b6a8232bf5da9f6ffb90,968e23546c6614cff0607478721e181800ac38b4,baf5ff4e05987a027d8912aa231ecd3c79147dd1,4fc763ac5033ae56e908ee263d538950f71e544d,d2726c240648a1db264cab515969672355746c97,177b38dfe9423dd714a99e9fc34abaa7f032df66,b5c7997c88f39c0803a8a5f48188848843f9cc6d,c1d8e32eaedd102759c3b5132228aaf493026b8d,39164ad732ea12af79ecf267172146569297aa1a,cc5ee6b868935bbc3fe22c349b9c312029d88523,4b39f7dea0383c96f62f381ab46f866bd8e2270f,026d23632aa3343756ebf454d4d0961048d34fcc,85207e94f8e4a1904a67ba2a3be06f7b69ef146c,2e3e3edb5fb5b137c79875e5f018e456fdd8c664,3258937d97b8ca6a4ea6b6556fe46664da9d65fa,cc2fa67dfa475710c57c4b3b73631a0f3a959e3f,c450b63f1ccd696c8034142a985222d3f01895f4,020a58b0750902e161a29bb1f8218052ddcd2d54,c1eeb8beda0df3f74741677df85259e86b0a789f,6f88919f3775a94c3df98f6b3d2c03f885202e03,0a383d8c0f50bf3ed3333dd57f295864fca02cae,5adec3ca98120bc2c4110ebe354dfc50d7095ebe,41db71c21c1c00dc83de8113ad0b35f5250ca2e0,3fb0fab410ac4c791227d74c1bbd8ceb45f653b8,b00c0e44a596bdf167ded7900b3ba71ea903591f,890b899842b741f54f5191ff369c8a97a89ac845,2e8c99947a978f8614d4075b1ee0d9caac4945aa,190c77e8633d185d983e3e59d62443bd443bb807,ab01b0ebd72c646b66a6bb3fd55ed717b9852541,494dac5db57f60073f2d538f66b6570b9fd05beb,2577180b935364b1a84ee8d38f8f6a42c0b812b0,1011c31a80e0ea9e67497b335a8293a49cbdecb7,9a85ac204ce5e0996478c0c4ede0138ab5ecab15,3989a01968ddee76110556f2cb2390da751b9694,c745ae4836a0f19a1733347f208d263d1a5829e5,7778d20003ab3b62779243cfde33bd0b129bb61f,01a449c807e4ad9a4142977ee86b16d6461ad256,1e136b0cc7ff37f900adcb91b2783962cf9d7622,5124ab2521defb4623b6866e4d5c36726ab74608,6599f1d898003773f70c24898419f4bf6bef78ee,d02921d66b14ea499ef783a834388be1322620ff,5be1bfeecad2af3cc4acad908fa649849a231bf7,7afb665c92e9e1787c518c1fbd6d205476b36d04,7ce19c1ad78a75d84765790f077f228b448129de,a5dcd1c44ddeac28ca8fda44f6d60e3b179266e4,464b3ebbed39dd87480513372caadb5214fb1e3e,f7b1ec24352fc4eb77adb23ec70fa47388734c75,bab60d819ffdd3c7fa6081634ebf89ee130cc61e,7110d1e48e8fe40a95738cb993cb06fdf535afaa,cf7ad98dbfcaf699983d813452a0a5dabe68818c,023f08d54bef139841faaf7c954732498e139277,674ed4069a2fdf69362353707cbfa08fa222d998,ddbdc529b1e3d99244e2d0cedcb20195c0fb55e7,99ab6bd56d4d60aa3cf5ec2680514a143da4dd1b,04a41fa5b08de0a837f11af30cfe9091c36a2830,fab4ca449bb6ba351500c5443a3e9c0567ba19eb,3c58f26e83b91e2d79e894b03403d469073c7113,074ce9c50fa5d97afd1ebff5720ece287f767f6e,d5867793f6d16bde39e0e209a11741ba8d8b0388,ec40db3da7ab1d8143b4276518416aa2816d792e,4752230c8f5f5f51774b90e52ceec3a142b3f62d,6bf4c7a68d2491971350170e80414a07e11ab4f5,7388735b11726d1263de7058d7492d9f87f9bcb4,b4bf371b34b19d4505b8a330a1b9250047a4b8ca,344da9597f1dc072a634820a9431146d0b7c60f7,8f68988aefeec865263dfecb29140de582470949,6c7e6191f64ac8cea36e963028c190263d8a2ea9,fd28cc0db04b00612387baba33f30f8e0dc3825c,d502bccc1b03094d5260f1494baf49387f674273,a925522ead1e0ccdbd0c77c57e2ccc147b61dc67,a4672fbd1c097752430017fbe84a26d702e43e83,cc3cbbb7b96d75e816f38a83abcbb08b9fd8843d,2c180cf101b6a49c1f8bdf462cd7b4e729600ad8,07413be8b569f000a158c290fa856365557c3dd3,ca9384fd6c265aa76a9ef59229b3746153e6114a,00d4a6889dd2f79981ebaef3f839be5354d2933c,236e10d03aab15949f7c2114ddc39b63cf2ea364,66b7ed45fd0f260e2d9d9c00b844e27b7b8b3191,6cb24a392959e10186cb0bdc9347ef78ecc53882,321764bdd93a675343fa0045ec22a1c2d62639c3,ee387f7c66f418a23f78a0b6ceb162bec71a5d1b,3511b8097269e7622ef97c9a6da7f0db8a948888,df92d88f39a81ef2ec20499ea82cfdee6df04df6,b91fc3a0d3409b39e20bf0e0120ec8c072bc410a,dcae87bd5267914c8be0b57481f355a3eb700f3a,0da5d57c1e54cafdfa4f2233a17e4d17dd5ff694,d55b2c2a35d9a30f4928cab612f02d70e2704fb9,4012c3dbd47f661805bb7a831c6c687807ede3b4,ea6529ff63225e13baa4e1fd2c193b84d1432048,ee10850a5793b69b19dc82b9c28342bdd0018f2e,08050086b950a6bdb5a04f6054d58a497f45d7a4,7e73e0dd2314527e9b9a79e51fdd5727e6efdad8,01dc62b1275ca935ab65e856495faf3300f6dc62,0662a0bd44c557d338e577cc29065db54b57f202,b3a9c36cbb77bcd8079505ee9f16b68a09307ed5,dc9090e67f48c7e23f7701e46427169be78d03e3,1ce2fb8a4acaeee52446e881f0da0d0540097b2f,9f077d4ac04479b4bc3e46a3eb8465d1916df5df,703ae75ba6a9d8d1c39e81e319e72a4fd19ef702,bb3095866549b503f6419b773fa2e65c0b88f320,c96e20378024002d340434835ac2cf912c8ebe90,4e3a6aa5a812fbd1aee6394f98cc4c2425032735,e018264ad93c77e2855f144d004c26873d2f772f,5a0956d8050eb4f3f54ba0d8b9fad41fea3a09c3,470e77a5725fdb0eeffa9475a14937779dce364c,6fe647ee3dd194e7ccbf230782da0c42134245be,342803532de444c5c0710e625bcc2b884193fc51,3094f756903a6c06ff7786a1fa972ff6a61de457,12a2c56461dd689b24756292d4f069e8e24690d8,d0fdda6da718e26af14c17fc9d7d0fd3d5bd9fab,7bef4d827d905fc57ed773c2aa70f157a573e225,7f1050464a60977ad6261a108e4e839bea8fa8a3,4610980f2e9ac4269074d2d0613290ab78c50bbd,10fcae34a957e94837fe376fa828815ab99d80a3,4b157a14988b5f0637e61b5555ca6e420e896b99,b58fdc3e584854a4c4fc02bd7fc23f378263d25a,c9d9d42f0e3cb3d413bb755b7ec11d99e5446ee0,42eb06f5c660df09a392d99fb41166ffc614e0bc,95ad8f1694dd0efd0774767b0a08b79dd53130d4,284317d877bb10d11ffe8f6f8d3cd34bd51ee837,fb7cdbefb3f14cd66a4960bbeded3e6a739a95f5,e657aa64317a385a5c6fb52bf6c752e883220eb9,ff3acfb8cda7f6a077dfc585cbe9acb0d8e34418,5a617cd1082e80008559a012673db2eecb6304bf,15865e760244be485772a53a6eaa09f80e5ca8ee,fcdbb31ec4f057f1eb169a1214f6c50a0ad5a90c,c4a1cdceaebf8d01151fc20ae3e3a053180db9e7,89d27751911d6904fbbb10660a0194c43522fc8d,dcb1fcd9b81d364660b9ca5906e7b2f5e0fe688f,e04df465efe7fdbdc8ebe6b812789daa0bea0e25,d0cc6494280732f5be8ccfaecbafb2b6b7fb0f87,d96600a02d1dd4ee53ffe9bd4efc718f906e80d1,b78761efd30a814d055d78078c3f9d0422ef6291,5b32c81befccea3ba64fc012e3e4216bb875dc17,7e4753bebd600951a76838f3e7c08f17d0e65505,e0a78c2485bbcce7fb5972b2c7ab7fb6263674c0,2240c690784bc6117f8d602c9eedfb23d0d8846c,44051b4af33b097a1069a0702108fc4799864c84,9feafc7bd73705fea94842a34ef704192350fe01,9423d5e390b94f34046ee030b5712e466950640e,716e8c8e8975337c2f40122becd0b596b3461586,8e5c2467e29e86222877085a43575f04ac1204df,c1d43df4a1e58702a57452499fc00898a1e421d6,f570b6cb7bb10b90a7eba22de9d4d10a09e83703,c917639b91bd8d0d784a0f84e6dc3c3789ff8520,492d75483d05af525822561fc8232c52748a24b0,7fcbd1d7e0a24bbe476d5ec4e67c458b742190b1,d708bef92f5353e010bb13857469c55e671a6e05,292be9029e729b03f4f6f2ac415d43ac90fdc03a,8e7791ac232d88f298bd3a5ed3c6cd511c48ce5e,e4ee8fa6a2b6fbebf8723712c63d9e0504d1396e,03ce23246f11b42ac3739f91e2f2433c66ef25f0,1b06599e8224da182c91896475658796826a03bf,550d0481b343effe45626780f047ed090a88bb11,9f60628e5b8283cdfce7e9f6feb7055eb4b52a22,5289aab4f2bff99cbc0cfac2d3993a7fce68252d,dc161e519f1641a8c44f289387ab2880d18e6c7b,54f2308d2aeca1b90a4ae98a94ab044149c167d0,802f24dfbdcba129c833416f1ac273277637674c,5db20610dd8dabee146efd6703a62c2d15bc641b,feb5bde09cf9cc79e26b01080ec9400eef03f600,e86d3af7e0036346c5f189dfc8c49138181f6d6a,655a5f526cd9697d5874e85727adae18e89040a8,a58567004b907ab6841dfc7d47d9dfea7e824df1,2dc0995067a410daecf4b6cd8744823c1f876d19,3ce6c478ccdbd58c04daa6a07a721ae1faebce2c,6404478ea444cda85cdf7f8784efba0ed6669ebe,67f3a7502d0f1100046abd87c5df2565b8d945b8,b733e21fd1055e821b9d9fee644e54c917be440f,65ef6f1f3726680eaecc2ae24a2da30ee249c54a,5bddb3a435103997b2ae5b7f6f75a4de994ec571,271ba59cf1c1780d8c0b120dff107c42bcfe1e02,bf5f37b14a4b92e9c441cc5bc2cd9924d3cbfb7b,e132ae2feed6ac06daf9e22f48b735841691188e,ab0079434302d85260bf18c420611bd1227aab1a,f66dd54bc277618feb9cf38d81b2651a4f10db61,5c55f1a16ee0c41f8f657f5a706bcb3bfc8a8f2c,4f711a8b2c534fa786922acd8453c49b40bc1768,b0c0309cc1c1dccfd11acd3284b2168d6720892a,793c157a9c69201caf0dca17b64b55ec06e34ed2,222a41be7b5d3eba617c8f0530064911fff84cd8,40196f4a437626044a4a40baf9bedacb3fc984e4,60623f39a1917afa3a03a44c7a8b66d6fcfa4f7f,0f1c4b4db8bae6fe397c14d06ac2d2e0795265c2,89aeedac1ec47570922fe219664c3374e93aeb8a,da899df6b2bbb980a2d047b542eee3bff03f4fa9,0b3fb55c6a8e75e869ed29cc1ad09189325f82df,f02b7508de42be8a2768036727447cb16106af0c,4825d2d16c2af3d3658e12637fb9fbed32f86491,49af134ba7e2b99153d51eadc8a190bea19f8530,53e5a4a03a6f802a5ee2217d326eb4f5af87bc5c,01e5f4855a596496921e45f3b098f86285097d4c,d255ffba8ba16c21a006d7ed9710ff095c3d30a5,5b4c104aafdacafe36495a89c4d0e3a8be62fa9d,d083cc7247bbc6895eded5624933114d1e90c50c,72661fd5c106a5bc1e689eef63ba7636a01d7d24,5921fa9a6285f501df028a8fb4e1d10bda5653b8,59fca3a01de11a06d304d72b74df611a4e046495,7b2cd0bcdc450b6c117ace262f4cd9d82e471a5e,e9acd759a4aa88a8ad1ff97a574f108eb7deef33,f60523a3b92a98ab693a37d3acf2a84dd0d321e2,7a15312b54869784baf92d15a459691fd6c8c419,06da0b3db6563ae317dfc108fe2425ca8b3736be,42c429bf450ea9f674192c0a0f4faabc5a0b9e12,be448e29f63fd5d5d2b4320f24bde4ec197ca895,f7239e03e7c4e21aea30ef17393a5303dd5d5ac8,c6874df5c8ffcb6ad97096e63b63afe12e86b08d,b4bd15a5c07ae81b0a7f7906bf61c3c6e6180751,77b9d62520dbc4cce3751fbdabfff0ca73aa90e9,e443936e12822b1466e9f0ead1e464742412202e,6147d6d8a02903b1a11d36424dd53b229aacee6d,b4c8c1da12f2aa006862bb1212ae540521604ca1,8609c0803e592a3e9cf2ab9c2fbf567fdbc750ab,6dbe71cd3000e8d396fe2a05e8e2f74d0c012f81,ab969e0a9b19820e57fedc21d18e0e1335e74949,1da7ce46de3829225c6c50d831656e46109ec7d7,683a92bcc8d791f4f23fde8205229b382dd8fec8,f289f2694ab837b414aa131a0514c56fee4950bc,cafd708b6d862776b7454e1b229f3134ccde5009,22cd8d5d62ca165e36c6fe39c9054d18322e51f5,abc4a0a4e6ef0c0622bf155edba8c8394fdec95c,30166f8eb79bd6a0609cdea2fd91559bd0a7eec6,67a1d52806449c5fa249d2c2b6e84bec4c9f1c6f,1e37eef3d240ff422ad2f92ea9cab6ebdc8391c4,273a598be86b5bc65f23c36eae35e88356389a28,116c861af6c13f6d3d0d0d91b6dc4e0c1eb88550,25eab57a582a022f3336e052971fd56d9d3cbfd9,d2447026de4165b06c574c99f54f6f646b897d88,2a93e65511cc09cd0723e63fd74e88f693a1c140,86c097086a23476a6a7cf73d28bddee86039cb5c,50a37d00e78c9b51b6eda868fd28baac87361d1f,2b7c28e41a496cb86ca5b59bdb64596c0bcb3fa0,3cf00af48df50812ef32e8bbb82eb57f5edfa61d,33cf86ff9f11e17c1e3dc78cd4fb503e2059193a,ea345f34aac81046f9865da1186024615e10a85d,c06a3f2ca3254b39718b1ea69653d231a0e8accb,abee4d46b668e5985ca49f3bcf5dc2b53e244f7f,15a5a62eb4a0cd3de7d8eabf394fd1fe93e4633e,e26b29888565c291d9d1bb80a99d02ff28aea1b3,5944631246cabaebdaab78e5ac36426b7e2ea51e,0bbfad1add6d76b4aad7bac9d6b2cb34b8f7fe1e,9c9c6cc81bcd2d99e54a7b040b1f80641ce49b9b,e5ac99a4c97b52c95b26829b6f62ec0029798e7c,bd226c00f16b778444c41673678b2ba6eb6e1000,e5df46722ef25585c66dc698943515ce95438283,acee4eb27ac492447d4dbde978f8989dcd292d54,89f9ebc7b7fed1af0347c9290bc8d657fab8ccb3,a8cf67d73b3a9421ec3089eae5c54e38e934161f,6e7a82440ef55b0e8d125e49b791ac8dd7ca43f9,bc4eb00a7a1d2c2050a8056d13abaf8656897bc0,f4e28ab357c786dc55efc9f9b3f5a4356f7d0629,9ee672f9eb8584c4d2de627aa131f6299711776f,4d33e5f137bce78e1d14a02cee370fd42e6adebe,d5a104f493227253eed8daa13f8b631366bfdccf,4966e9376477defcdf6f292a8ef84d2079c7ce41,6a9b4a1b13b4e0585301037c6f26838216f43ebd,1d4c28fb35ffe12a16ae79c8e6cd3c4a85b38c7b,c3e94051a18038745302b04dd6e1a75fa5153574,bb49c190afdd16da94cae4c6fdbc1e5ae4f8aa7f,6ac50f4100ee4c4e967dbd5754d338d4c7debe3a,088c746d45fadc744878771d586ecd42a1d75b31,9d95e6159ef7e9a88b50c751341e789db2e1033b,985e8d3d13ae35a53b3353ffe79df261cb8e5680,8e4e229a5fe9e8086d39bf36d23496794e29fe6f,d209d3ba846b9f8a5858efe1a261f793b30349e7,986a6feb95287ae33f0acbb8854327f43c6227b7,0634d5349d549e3af38d845d92b727504c752857,92771760b79fe0f30e67400b6e1f131287c621b7,32d6cf7093c086fc3e963880860e62509f69d0bb,fbc65314b97740a39dac494cdd1fe238554a43a9,a7a0f47d9802eec87bd1154c5abdd4a5251dc5f4,eaeb6148874625b62b5bb6e8e75f802b88ea11d5,cdf676c9b5334642fc72a5f17928b8280cbe6038,76d3a9c4b5a20a226aad427a61c87e12595e0139,7de854ef1ec86310c67192a734cd1114ef03ad26,a9d883ada1de38e0c6cabf8832952111ad56fca1,73287c35d20d3583840fa115519ca96baa659d5f,4640120dbd167ac8c800311e52f6694dd3c4307a,c59b6a5d8dfa4a20eec23345839d116905de03f5,c062061d6d16782c0e0f53e3fc9f2ad4bda0b905,ec02d0abb083a556a5240c27b4baf8a7dc606cc6,22bbcf4b27a574dd3e8bf1978f10f35cacf71b57,b407b67ca1afef62a10c9bcd06539b480250d580,5738a6ccf12819d7a4a039ea70e80f69432e3b61,a362c93f73148b505d87feea9e8e3c7ade99178b,a6921fff7bd15a4635d0bffc5f17df08bdeaa6d7,47825610b807e0b29022956ed8c6079f82080a37,69fff102af0e272918219f7e168dbc9f3df8c3a9,2e70bd7dcb7ede8d97c18582ce725597bb0507b4,d4e0a79d9e43686ec0584a87d57acff189f01d01,5ce96de0f2aa890496721b3462629ae99f3c2e64,1a8444087a70a0984f6e2f84efb16db0c235f1b7,2a7744df803e34ae64172be65946322b09748b6a,d93c7579deabaf1dc14abe1b90b91dd57621b16a,f8e04aad038cbdd8719cc7e72b850850c8983713,859ae5fc7c8d7fd43be1e1dc11284c455a176f90,9c20a033e0ba0c0cde2594a92d8f512252f50cc3,88959bdda78e45058714616f15d3d625b3e5b570,c4f9ec91c92b9d018b24be606b1c7cf74460cd66,bb637fa389d846893ed8e5b4d2b1fd02b1382ab9,b3cbf07f27bd59c1988ff5055f82dd1f092d6f19,9739a88e119f4639eaf51b0eb07a04b3a28fb457,ed2dca9a9b6aa989265b355d597a23302144a818,a87b38f7530f472401ec5e77aec73d37ab1dd47e,6010ece53248848dff792ee6af912ebadccb1efd,29625c71126cf418d6f25f7e868b40e6e5a24c08,c9e8bfd118dd79985f4ee8f42cae590c5268ca12,2c0f10d9887b676545b05e06e2c29a07d74d8fae,60c967f255d4116c784810a1f8bdf45e8f7982ea,35db2b2da3732abc46140a1b930a877d7bbe4aa1,fd26453d5a802abadf17a5a3dc258e6bea4ac632,d5d97169163c83545fbb298b812a7f34d5b7ffe2,c92e290d679ac3d7b46b15b8f3a53fbf59284cd8,39f553496995104b1b674d48eead521243ce70f8,92082ab28f3f7d4a149cf3ca0b6a6190c50be29f,de58691e75b64891a12b106fcc243a79b63f15a6,f21f7f0f506a66a8384c2300330e3235bbb68e20,b26463ed993e184d2e2dc2cd9059ca7a024552a4,e5472845882a4747c80ba6e0d7ceaff936c71484,181ee30174afabdb00c3d631ac4bda26c0c31135,c4ea01cf3d328f81311b2ae0118cf2c3944efe56,8bef91d1de212c03036d234ebd0ece80a11f1867,5cf15be434bdaf2cacca29270030a5fd0ca4012e,30a7199165e96728ee8ab899209fe83ed775454d,41d4e181ea3674581bf32633bdc90376513a145c,073b48de826c232bba310d8b05490daead429411,b2eaa4e701b6f3959a9ae94f116bdee092a56cb9,b2e553d3c403c2fc8994714ed998cc542c6eaaa1,ea812d1c2ea7994f610b30cd459c0e235f46fdd3,65880e66313c1329c4079e2be1a4121baa83ff21,4db332fecf8a81392120f58d42e84142161ab7fd,a9c67f22fd3c74fcdf352f11ebe861d0f526710a,ed2b73eee6ce40f37f52ad0d09d4f30421b6646e,f02fc4fe0fa850f574eab90ac308933cb8eb1485,ec96d4242a682926ef1df2724a9cea074aa69f8b,b297199ab6dd8e698fd8009d8c5b4bc26fb53376,ac4df2b0660b1f7896ab20d30a7f845f446d5b72,6299e94c8f99fa043920d005c4111d657f690e7c,ff0b560fe422caa2692f77799dd382e566a89fdc,145b37425d4af659e6d77faa75cc564c9bfa8395,47d7520b32b13967dbf65464edd65cf713477f67,533a11ec80671a14059c89f6ccd15be44f16f1c8,3eac88eeaf90fa5addcf7b03612dafe9236cd114,e9e8013316ed280b268485762206dc9c3357359e,bd82ad0d4166303b6ff2b0f43ba66d5fc7edebe1,90ebeb275a6cb28db8397cdaab9eb16eb961b835,b5ab81c98342cf824a8337be41ea15e1f5502b75,897f0e178414116764304b49b26db58beef476d8,a0171e433531aa21219e715be55a936ef9d5efc3,0e0739a64f4da96b414f5ed447428c44ad8155ca,9aac622dc91b8c9b6c9293c12901cf9f57d4d048,749faa42eed7c49def6323af3412831cf1e6adb8,6fe9a1509497cac3937163bc676693c832e62fe2,9b9ae2db1ad85bb5d9aa0aab7772b8aea9bb32be,f8b1801a8fb7a247ea31be7260c44e333d069a8e,c1ef0944572b0a38dcc30f9555cc8b78913896c7,568d4de77ec6088683375ea8ad376972e03d3c95,06a00b53c3ea8d0ff655a0b925c26dcb275be1e7,b28495a423993aebba17b3e157ea75e10f5e7179,2ed2c213136a4e7eede7ec2f4761f4d23bb27562,a6d6f938878d5723e8dff5f81def5d2392b0a3b6,f0748ad59bdff939e9d3c2f535fc8e046ec3a305,833a971877521a3a906207fb37e84ccbc9f27f23,c3736810ac018b5aadb7d54c6f6c4c41d1c59344,28964711d7941d466e54261a7581241a97e66a1e,c42b8c43bd8725ca5f479ba02124f9bdb2e9670b,fe39f9ca216b22ca75bf1f065b3a6bdd5fcfd491,8f083f6342ab8d193d5dc0ae2205bad4b1d7bab9,077a3f1892da9a3f493c321f905825a02b82968b,305e49c0b81b9db7872c2ff2717dbe54b92c8f3b,a20bfc07535f5e6d7d27fafdec826ed8de07ee61,bbece3e6680dd7a7a9454b1f55db125619f8e639,ba51494bd7d9f5552c91918ea01f3c9e02152149,5e148c1dca80849b7ddd9b51574cab821fab7a60,67d80d414b5d1e9b8cad34ce56f984c6c51de00d,2d1e420e54226cd68ab647d416db84f5fceee2af,3c91a7c01ea16f5fc9239b21636d4127faacaf31,21593942a16d2788103501ee1e2921fef90cedba,34630c2ef952944108b702134db3b99cf2ef1d2a,ff68e7b9de5045c67d723933985da998f115efb8,44094dba2f96fcc6c252f9c42398b6740edb85a1,00a287e77d4917662b5f57ff99898b598c3fe996,b048ae37b20d06da7f9beb52dc7f50c9d2bb4fde,2c80b2419ead1870965686bfca004b2a7315c0a3,92a0640bcc6ad53326eec32db9cd8353f434e777,4da4c96349d205cf99a8aff0618315904f451935,f2305d1cee38e762aa2409adb9d01dc6751db740,ef4255c65bccc121da2f5943600e2bfd7c1c2ec4,ae17e6acb678406aa91a9029dd6a0857e5c90f2c,f7b7c39129d72330dcb4b37010f1f5b7f729f43e,f01c8411908099b369e7c0d83733ddb78bcaefaf,d2a2240a2cf9f00c8497c696155c9e0657a614fc,590c8786902fb712aa84e1e87351f0cf484380a5,e34116f7dea7c3f35da3a3ae43d14110d4c70fc1,2a339485214d53d5c37a390fc59a314413e192ab,7711ba610a7488361472f2a0bcefa52a573c653d,696b7b6f68d3dd75f870dcb5931dd6216640505c,bcab6185b9f7a02da1aea46893ce7a38aca43ca4,72e88a345251c138efa396094f0e0d5f145f40bb,7f1e420bb05add6439b6ae1028e841ad7780b481,3e26beb1edc839f05063aa957164b69fdf8afe56,094a353d879f36a3c46acb1fe91b56295abe388f,3444b23c9a7178cc475d9f72035a0b7530958bb7,2a5023508a2bc4ff3ba4f3a0ca16366d3df86db8,3f14a19d3e5ad546841bda2f8abbcb8029f79370,d198fc46cb6cec08fc91cd35d34c64e182e207b5,738a0a35de9c93d37368b6ea796372e757eff5d1,1cd8c249b1cba95a03488989ca6eb82232f88608,4b88fa8e3b56330086d17a01fb1f836d97dd04d0,471a5eb4e01279d5444dcc9f51f0c730e309a889,c85bef5494f4ca409b37791f96acaef97eabc7b2,81c8078735cf79755750e39e0a6ad2159ae61ead,665c1b396670d57d6c595bafeea3aa732f52170b,546455faca05d2827398cd0f2ab76ebe45de5b1e,01142f11d7f6e50b6b80b75ae9a611f8fc662d78,b637a3a022e7f959f07f9c60efb619621890499b,d3722861599383de61f0d09158917a8aa691553c,9e3f64733359a6ca802b5e913ffc4c6626746ad8,6f749cf43d6bfcad745e6639aa1b5dc09e570c27,33db5200e62fc14f07a000ca92afdbeb8f4dee0f,8d864559b7014df07a9fffd16e0654cdbafdc421,2b66f60a8844f45cfad54fb59703b4c332e34171,10191477aef35b233b08ccded1b8442ad763c156,cb959c2e6fb5911c74c07e23d00346902521faff,ae892610080ecf4711f1b105a6464ed06ad639d7,554ae218cacff3de526f7f89f8f1543613e615ed,61f9bc35e97e554dc79f282dcc6f8a89b1a1a3e1,853f8b2202fc70820e23a7cfc4287c30f7dfaa46,01ae235676fd3e5d3197e0cd2edd0c8c2e06907f,ad2ac98858f5c422ddf016b4941a503090b73792,2f28c5596ff22f288c64a297c30b7d33a7efe284,27fb9086aaa079212cf225f194efd225e54c50a3,e0599bb231c48e7a039e1703c09f6c6ff9a62632,e9dc638a76649987bba77eca8c789ef49d6433c4,68bc5da3a23dd74a2fcc792f7f12223855644196,60919b497934d50e039c7a44962f101cb32f129e,0600287c638a5507710bd600e334e437675fe959,6df2eb5fd44a69d2f9e8f663c8a4972c3cbbbb21,5e0d5cd92eb51686d5299ab62f6ce3806af8b93d,be2c1c751df2f669920b3826ad495603fee09463,b1a72a86e5b6af44300a19aebec096df00000e2a,50b6978e681268a2ca80d62e8a7d274f65120719,22eb1e099fa15b018ad81c0bdff24462190b7afd,e9ee0a0be3513d2949cbd1b120f1b0e90d896a93,f5de329076217765e1127c424c52837a572f0f50,a9db41f1e5715fed88916e4cb2a11178af2bd10a,6421f2c36bc406e30f732086588aeefd9ff96fc6,2099e35d826b5336d0aa5e1717dc6339dec27cf4,c785fa4435a9abd48c8e338b1935cd5569900542,de9880375118fc0718080b97bd61090353e32fef,fba3da47c6c762c7e260f89bba56bdead6c42ba7,ed520548be3ee7ec66e4dd909c0e61978960d7a7,59c33d69abd815c2ce7b1dd4345f6c99b4391570,fbf68af60533634bd627ca24a9a6b57d4208df89,6a56ed24abc94c040a1c41a7890cb5fa44e06664,2f33c970066529c482f37a6a77a11b01bb7fdccd,6ea0050990e5786bf369dc68b0971f433e8c9069,c3ec62878eb04316a545fdb98553f5d71002bb07,16881556b915c6916a488334328d586951d76ff3,0e4188749bacc70a7d472f05053a90a1d0ee620a,8512d7ac8f47e053ccc02f042cc0607f29d6c3fc,7f3a5eb9abbf23c97b22ac93c287ec7e228f0ae3,943da88ddacfbad9b5d730ed61c59cb31529e27e,702f79ec8cfbcf1f077977f595b6aadbc186abd3,c6aba5cd8dbd71f7393b1b52ba401c20e09341c8,4718029fe07e813a2e61ece0ea9bd6d3db3d0bac,90844c2027e078fcc1ff6b8d3df911a77bac2ed3,0978f6ce16085662bca71344e135cad6a507ca49,3da54dcf9f87336887f592c98c0088372da876e6,96aa2bbf740e1af0e814fe6d07250fe06af9d510,b1f85792d7a7aa90bc2b200d3d2db0c97875fc32,9813eb9048a413d8cde171b9e2fd558da1e3a46f,5ce9353d58cd5ee2679dc510561ff35914329daa,4e28962115ee9479d465ba00a1db6028d2badb60,57107c331093212fa5bc0d8fc865b43755ff3f12,7ff393085e3b1538a1c14f3ffcffa92a6b4a6c73,8120fb8b774ae89bba6a3d186e4b7723a84ed3d2,54dccaaad1a768d2028bdd7ecb238fe0e5415bd6,971d7baa8a050489fe3f45db09669076d2c61b4b,d29473154267150c65be268cf070941573a58ffc,411fa298ae03b9420a722ed347428c27ee423c29,a8cb061a5063fdab6cd5c1a92d7abe5feadc0c8a,527c68b6c3c9a77318768ad43b1558278dacf465,4293d4455c6481529846ff30ee7f50a19ff31bf1,379c1414a7088019cd71b98ea36353e65bd9e8f5,85c648e60318526bb63aa57dbf3c862805717606,971b8b9217d257dba56b7cdac22d71492fb6a7d5,62f21ae60dfaa4dc6f37972a03ca9acf33d0b8d1,43b4b343950aa11420fac1471c4d3a647541f2de,b108608b2918674762ed04b436604bffad4bd58b,6af886c2b961d5a4ed7772f81d6348b8634ab385,78535bbcd884a550ce399bc6c0ce8ca47017b45e,229eb93e72156f8d7175c3ae379087b8a46b60e9,b7b495a679e1ed166c6f99f1247398d3dec5dd4d,366d1332d18eece8de310aef2b9bb7af07d12e7d,5f3749dc49b9a7a8d68af715d51070c8903d1ddf,627fb9a25b1866f9fa30658ec7962f4cd31ab145,5075198a8b76034e5b5c36b8d783e276c6f11b56,2f1eb9be18338485bd807dd03ea602d41948cf6d,ee3b5f5a62f09a33031f5276351bb1877ba83b5a,9f3dcdb211ec3cecc9013f45e811bd0f633a7072,f62ffa74dc5eed4acd756d59cb891a3bf49f4eb0,4d57dee8d9e98e005a94fcd744aa3047a20e3a98,4808ed63e3717bd68a3e1fe0c5bcf63463016e0d,fab610a92770b9e5c3cbc8427c88fa770821e414,236febb14891bb2a46f273f69aef5cc7212982c6,f1bcd02aaf66b7eeaddc6173ded485938f8335b7,6cacd9c824d34c42f71977b23342dcf2403b47de,02289d1f5b986c96b0843110de46a143500f4c79,40418f5b3d5d69b4c38fefbbc46d353b84bc02ae,6f24c8b4efccea67d092062009f413cc789a052c,b1d9d34665ce1f26bc1b95a87ab085a6bb3530ad,559fcdf73611ccba421b988237b062ed84a5e287,98a942a37e4d19a3c85f03c3fcc01f907abe3ef2,4053d59a2c9745af6f84fbca70293cae81a05006,66bac7c415966d5531b9b1f020147b522740040b,a5f3040da528a76bf21187f647e15c24c82d980b,c0fa45dc922b2ee1fbf6d63782e50f8b46c162e5,76753438edfdbf29d3c12c6793ee5ab9663eedde,22a4cc66ec7dc79315a0f63d27d2ab003f7777f1,62d5ddffb8b56411a06b8288b6237e31ff3c711d,6556d18bed27361321c0a2df91a1a6e126db2b36,e0e8620deda3a3b67df3a99a1f7b9951db533d33,74f95238064736efc2e83d349a712b8140f566e8,1fd2d3a83d2f3b656e2fcfe6a3399255320f5459,e87c52d7dc87eb53a11e91e2b27f55abbc03cc85,49edb0b60641bd52de8dddb80b687197c35b6f1e,9695dba4d98dcadab0fd972ed9b5b20d3323781f,33eef1f9b12f4063fb7c93c01f4b184f0e1e4ee7,5cdef8050bb607ca65845f79a35c95f3cae518e0,f832444eaa72854e53515b253914221095c92419,13055bb58a2ca715666b5f19a8ce4b507e921886,20674089bd3306c2b2b9bef14647e9c41c6499c8,aec7aefdd5a0beea97fe69de99815f350afaf717,91563115c42448df25ac313b4be6049e0f65d11f,a75adf542dc2e3c8c0ff80a976d96cc53d5598ba,a7e19e9f068422a4d6ff58ecc1559c0f5627612c,8d2d91d5055e27ee3c2bed9444241d4ee5bd6dbb,314d3579fc29303cbeed06286e951ae31a2ed556,5d97ff43fa4b34f88279ef6e944fd1874cfa5c0e,74ab27ae4717aed64f7aa12a1ea5dcc772582961,cf6a97c8edea0f589a46eb3b862ef36455c18ec9,067d96242c10b0ec3c24f1461d71d450d9d72fc5,d1aaeff832bd6b0ef20f1f38c156622b0939ac7e,9b280db2b12bd6fb201ebc967af98a1320ca14cd,eba76dd0526f13fd297eaea1cc0d6228f88571b8,46b52d92d38fbbda8255542e888d23f0359b3081,038230bbeaa0828d92b1740874b753308afb162b,816ab7ffcce3ae3b73fe5fbb0cf1f363a9efcfff,edbddec98a5e2ea120ea0217656cbc0fadd838cd,a6766d62eed085ed4ac65e7ecb81876b0205f11c,0ae45bd2cf17b5d9dcc39f4f4590a214329e57c6,54aae023ea2f4ee864c4ef3ce98ad387c166cb52,5acd7a7b83643e3c4f8dc96955906b67ea14eb8e,9432a550e190d0530971363b55918ce85c045d58,bce88f2e2bf76c3f979902aaa60598a0487f1509,f6c741ee73d12001867ae9a750165320871cc340,78f23a462e3f4d4c3be14d4ea2a83877093543c5,fcaea2107583d5afd1d2cf43e7d85d32ea1248c7,3d3c904ac588dc79441b0d9c29bd79b6744358c7,4add05c625395fec0a2eda897f3f3dec67f760bd,8bef28ccbeaa95f39020c4c954ba9bee9ee5c0a9,a73869b879537feb38206e95e3ebbadf755fb406,578ce51fc3178e9a6a1602337ee6626426739b5f,8184287ec0c49498f61a587290a0117806282d64,deec6fc4ba954e698c7e928d9d2cbb2724a40b43,fd125b506e5f69cd2d70d011745c73bb35f8bfb8,798a4d76117736af4bafb662ecaacf66f0c45be4,69d40dd17a37b87ea0d9ab6aac62703819652470,4f9c19d94334a8ae546c0e9e0aaae699f16efad5,ac89cfc6c705d65fa0e8a359d0a83e0a08a261ed,1d010d918bdc0d0eb07220f75ead869100093f1d,5198e47e36c8bceb2842570a7e3f4ec7fd8748e0,ddab39dbdc65259d388133c8a99f9ab028c0e879,a285500d3680b13c2c5795d99c51404764b7df39,1d70437017f8158469f0d91186ccfb177bdb15dd,812736bd416afb2f02c894259aaa8b74f88f9c3f,cddffbed58d6cf218eb0266455b0ae5c8bc806a3,481741c65b34f6090e319161eadfa4612f786736,a0d4cccd873a152308f0f917f636d17ed6d86100,9b87fb4a347a3ac3aef351440911b50899b5e444,e8da1d081a710fb13101bc265bc363d05049316f,16cb409fbf3004690ac9cc22a41e4d564f1e441d,1923c8a6117876ed9646ed0ea8a7f8f2f49123bf,27db63969a047b37e4cacbd5d1be12b75cdf8dd7,637645b6d6d534f65d56a5b6a8582507f8f89941,81fd3e274831ad5caab055f3066cf3751e96d4c2,d6ff4ed9673ab5a0cd0ec8fd4c1df23429755d17,06cbb6edc7f1c0964999224e64fdb21238ed2bcd,7f886cc4b0f57b41c7391a2e359b3db16281232a,9f47e21da3c24a06be2dde8435acd3b3a2d1aa72,be969205ad77a1ecaa8dfd98bcfe6257d3a07b0c,76df7144bae7df032872ce6a009b6bee110ef2e8,09625785114812ff5b3565d357426e7af2e537d3,c79df5f0fccf50ec0c18d580af898b68021d49e4,d8f06aa4f163efae1c2938662c5e816e25a42b64,e03b9205206455c56174029ccc35d27a0e43b61a,8817e896db8619b278e679b1c62bbec316a12f0a,a1ee4e04ed8b5410a10b49b854fa17420eea19fc,3cfdf000a2506431a9176e47aeadb1db67d7357d,86643710c438d759e902012bd98c90a9996f070b,f1cb5d8f71cc09bd03a3fc6a67a1803bc2265016,6a6a17717ac141abdd0b6f661f766010837ff212,a764c035b23b0a278afa3710542ce850923804e1,f8967668371d7b2fe86362f898745d1710ab9abe,a33e6230a00bde7fda922ccf94a49da79f0bff5c,e865ab4c3a52fac811b39f24b4572610b0e59a7e,d0bf7acc188e3a0b701c58f48a196bc2d8ded78b,1b393c80aad885242259470682078971d29a83a1,9a7a97175ef8d78e03d878b29ee5d48d24186016,ccc843f98319c4dc3e5a6654f4c20a238969e284,91481a5fae82c1995f41256dfdb08c0f278348c5,aa43441ac98ddd6cf5fcb6b6109775a4ec91ee33,4c8e802dd36a951f6925bb8bcf4c9ea043235f81,e8e53d13cde14e49512f220373c6ef2f9352e1db,fe0048bcecff7c5c9af3fa64be991da072fb1ec1,32fa0ecaf991bb0f8ecca00675a31808976fbef4,3ca3c7a60609c3dd861f4335bc8118a83f0a0551,90eabdd6b4cb82333039c102808beebc9df0a3d7,283c213a0c6ffb942860649f703b4cf8862e4f5f,8bea5dd41e86662f33771e442650d774af1a3d4b,6e4e3b85800d8f12fabe4527e4c13ec5002d9a02,e74797d41150a8b333a104c245d69a700da0401a,8c562995d7307608746f3a86d9354d06443b0c36,9274f17c527a2e785206282bd05fe7f4ccc7a01d,0103964250203de699636e16921fec85562f0b17,16f5863847120e1990e3bcb14948d78a04936df0,7974f39522b36a525cdfd730a5c989d78308e88f,e0de75224b17627c9087f5cad5180c43cf8fffe5,7c21b371051de1de1ca7891802b48a51a8d2197f,dc1e0a6bb3391a0fc1dc1b031abb454b0f1f4dd7,0c6287894b88ebf70c22f4c65a83e8ff2ab99315,3994626cb110c51bb87776f71fc886ad15c0c4ff,abfd975571b3fd59209717b7ec76e2740aa97507,66b471e5160235499f94848a8eed6084c86497df,e8b0fc88e340b1b288e9e31ae8f3d5b7847ab686,6ee4ee960e41ae5053cbce3cf1336d20e57be942,45bf47ee05bde9acb4c64b1c39ea0009cb405c7d,e148afd506194474790e974cad61118610935f93,f73fc7d566fc275c067398b083de92fccbf8a1b3,0c9b622a742063d1496cb47ff9b18db2480fbe31,bb39ec161058e23c3fd41b3fcc9f9c47adb20779,c92a035614a1c9866ca2daba28ae283974b68219,41a6c5e967abc1588e2fa9bbb301704555b31b7b,a76085e463af334c83a13341f3349e6ee29d396c,a76038e1d1eb5a07a2cab78044e793f947247457,b6aaa06f83f64b1f574f0ba41ac8566c2b5d325b,dbba2d2746022e583890e6ddda9d081eea30d40e,ca29df1aa9c58b951d8e2dbaa7b98a4e56563f3e,e2eadc51a3516e7945d559531ebe4bb7d9a26bf7,534383f6860ddc205294134f53d981ed1002dbb5,288871059448cddfb241a8a8be22854b5e71b640,907e8402ab8ac165fe0a35cc81d180db03df8330,3a095f5ed5b1b715f5697aaac3d1274ca4674251,ee89b7c9ec683320f2fa32cca9b46340a77b074f,1fce5121f3b239994a241d91508f928ca2052988,bf412455494aa6401c89ff331f89ce9dc1eff77f,1dd80d596d0f11601c6c834df19cc1916bf9ea6b,7cd082ba5fdff0517a53e8d711ef654c252b5b51,83604b709c0e8383329d3fc67c37f380a6279404,8c67a4370be13ff0fe91ca86f4107680037d1657,573f2c20d757f2bac27c023d421a81e028c5ecd8,0ba7ef98b39d7d34ecc34f36cb230f5f9c9f0f2e,d3782401347e6887bbf2d9fc421c2c658beaac6f,34ebeb15ed8e3ab334edcfd953bfc328c7b52b5b,1c7626715d14138249a4a7fe0e9fea786ec00959,b29b81ae7b610091241f2f22e53ae2948e114a61,09587d0c1b6dd5e8de98b1e5af284c7a51523d01,6a00f9f40367640fb0ba40f8b705ba93da7de93a,4556cb35d1c96f4d775a2ae993b0476453d232a6,70908b1449289321e48f58b71266fc3e4884071a,743d7c50d0b74afe5709a7f976af2cf3259ada49,9e7895575ed1f29e0493d1f6a8e1704786ff1ac3,a19deace45acd25050ecfe0c8f31db1255982876,60b0bc55354360e257aa58cab02629465f1f28f9,dadc10658ccc475d2f016d5c360d1172d1d66842,29cfa3b2252eb8305ebd322ce1ca55ab5092de69,59f293711a806f74b8ebfc175f64fd1f505af73b,ae457a18adb106ee3c91d3f6fda679a16ba5264c,252707a873aace64a0154f099f1dab71e9c58426,5a680f014892d09c531e93ff6c058731f803b84c,ad72542e9e3eec2f4ca704690080534786c93dea,f27b55e9b2730ea8b4c8b5a81143ae618cbd31fe,2cdbdcd5c56251e49e7c56391a8adb04adc5912c,dbbf7e7f3bf1c565ff756c97e91ee5df1357b130,eaeb8b70fffcd163dcc3945ad999649b6d5e9227,4361e36ce0254e4cda21977745ec4bc619952253,ea8e3cfc37b068aefe4c0cb20e3fc081ef043bcc,26888342654bf4e8679de36aa069118cc4a52859,3b7842c30e21d72345fbc4708523a283848279b4,492754ecca850986a256273918bc4006fcd63bf7,2372a069268bb381d8248207ee7a0484811f5b27,a27bc236a06f2dde0c4f8521f1ce0d3e2f75856c,0e142c00cc432cf238e33c7274d2c08b396bb605,430f1910ed39628284a38dc8a7d44e0380c9cdd6,ec3a04da9b8f5f172ce3563ee17b17cae393eef3,f1b166d6b8013fe8e9c192dfe9e3908c5b379625,ea659cbc2065d5c0ccc0dc8804eb02efbc9bccb5,762057f46d321c99d1cd274a7e19eca5180ba746,dcf6063dc3669441e4c0a2fad206f21b253f2916,a05aa25aadd53a6e9857e511a82158c782c61678,591c1b0177b188bdb18572a0b3b20dd1d1ac076b,3ef0db24047a6e5108585a9be8f68bcba18e4903,49ad3b0d2c03a4bbfab9fbe779044357c1e0546c,a45e5e7ab643ada0dc7c122c405a3e84078a9e89,573b2554f4ed717c9d6f8ebed7e0fcb29021ff86,e7ec91eca8b4182e97a6cb88f50504285495df6c,25e832940cb6fa76e0c365762f66c466a1e6eef3,51ab0d759f6138a639453a429216f0907ac8dae8,60c95032fa92ee43565368feb999d9c66e1d9c64,76e3cfc38f770ac7fc6ef9cc2a1720eea5b4e99c,5d02c65425b2cb33d5c3b6ca07a13c35b4dac90a,b456833b03f54db6bea77cb2f4df20c856eba971,927e3fd455e895dea7a8af31eeb5bc82c6f7d24f,706443c354b0c9db48f7461a15f48086deb5a187,2307dc8f26b202a6eef263f2e2d7e6d2ec04a641,4c8249de3429731be1c98dbe8a75ab5d9ec6380f,f9b216f99a3dd7822d9f3f112aa1ebb7c8590f20,addd0e7dcfd08c9bcdc1a9d636d75941cf1c8530,61f01ded6193cd804b04960e151725e53c8cddc2,f382f2d6edcda2ea561d522194d61a8845b596b9,fc94770cdb70e26d869c8a75e2b9bd70f171e692,9e8d779f316db1895795a5fa191e4e50c27ffeb5,a730bf2b003c3715c19d4fa0a7c56407e3760f36,da5865139840a94a35177e27297296244787876d,e6b8aa07d7ebdab77f72838fb3a36035c4d75d19,c13517634fb6065309eda729db210ea2af3b1e32,8bd1f196393e22d49f8bd281da3d4cf3c0926891,41495627876fe3c013abdd8e9f650be3a3ccea98,2ce4f0baf561ba5ace64b9389c9f156f0c618909,d45076d9d6bb0c73c91b9a615679d3fc277e7cdb,9201047f31ec67e94b578ace4ac6537db69fd3c9,71c58c7b3d050d931f624c485f762f5fa1e30e51,25999ad8fff58ed787b8ec2999e5963052b1699f,3a34fc7be3402cb52a436935f31c3c4ccb5a2d86,def37052f159ff189b79860a51f66fb97f3904ab,03a961709b0a41630ae65f3723df5470bd34d58e,d153c75e84df79e2765ee566a40e2e7b4af1e39d,0d8156fee9625e8d85aa67f2667b7bf77e1dbfec,5562e3e440991e5d1270ea81925c403e1425da4e,598da1936e0f95aeadea62ed77cd1eaae45f43dc,b68512a96987120e021db04cd15865bc91e4e102,c3f27a2f1c2fe0f1db4594aaa5d111eaf50dc78a,98ec81896e01c501f7215dd2a39f535621b4c4f4,eed6effe27a384a2455c76d41811677aa2279ac9,e28b76a64e197166d26620b550ff959e22bd0435,d92bc0e7606b7e1d207e55fca54deebcbba569ff,7822a90e209cc3f1cf74c0eedd100b2ae0f4b523,94665a40d760b6cdc22b89278c201ace10a0b57f,1b2d7755aceb4592607340d8703410aab776be54,c42e64db82d1c0c40a4b470d46bc70e3fd4a2477,d5a50eee8aeab634b763e2b8e9c80f4936c50fcc,d2a1f9cb200b2b2b7ee5219c16e4250b037cb043,1ac2334b593e9ba9d9b3442fd1c1952e8fb1ec75,a0b637530cd7b81d5587907e0867075f9d7fd102,c26f9329b683ec0beebc131ecae9c120ba32627b,bc6ab39ea2f13d24b8a53a177901cbf3fc689143,14dc066d6ba599bc2ef8a34545920266f956adc8,4d6e3b4e1a4a9a0d7eb8933d83c154de1f612a8f,b11434a6f8f8f41730b7ec49c21bfa613bb99378,90e43e055b34073fb92f5fd7f89a6a4ef790bf5b,b2350d90ea29de8c1009c8d1babfbfd9a25df899,9b16fafc526d9ea57209fa6d48a364ccb72eb1d2,b923613eadbb455b35adae8facfb479b7f9f3629,b2a5334a7594238d83b84144e41cb0e37d8fc1c9,8eb2cea3494b684c5e5591e12b98511636ad1353,ef15d3d9ec80213697bb2acbfba3e6ca0f8fd487,37b5147b19c893de4555b0760cc8df1aa24b0f93,95dfccbb5e35bd5e97013e0336ee6a95ec6b04b4,d7f1e56191970344b538f551391f36907e9fb048,27a1acdc7d90a8aaa931f2d011fdd6f28695bafb,ceda27ae256cb00987c9face4adfa80a20477534,aff2a424312993642fcaeeb34814a43ac6973dcd,83ce54b8153d6eb47b392517e3092ae0f501dcee,fcb5531fbc90cab7e998ce8eab655182d165ac50,f5cf8956c5622b240dd8f2013a983afdf5b59014,6a485065ba42601a46eebed8ab85705bceef3f23,2ce3656ed3e43445a41168015466e8490bc39653,a19add9c886b7f64a2371633e16cf8ac2e9447fd,6dc47c71fbd26f85458ed5f923e60fa109f76bbd,e28238da9b5111fbceaf4bdc81528ef4cdfe26e2,a8352f3e99382c195ea69466e2f63be2ff723a9a,403292a13151dbc265748d2119f9d1bd52fb9d54,7bad1771390cbc297580a4d5bdea5b5281a9012e,b2ea782eb4cfd6fed9a85619390793815c204dda,1ab6fc9a4bf25638a2e2364f8d4679025fcd3613,f6b5c513bb73bc476a71769e094ea8401eab13eb,82a8640111169ad62aafce0e0cbeb2fd6864af44,af9c9a826e888fa0927a1969c93bb90dbaeba124,7cefe8a822589c09be7d80381a6ef9c4cc32e3aa,94c87243ca2a55d5374a22900b59bfbdda348d8a,4193563190b9a25de40bd6803f58e3529539bb18,776c39dc0a8b7563b0f511d19346e280a749e9ee,3385ce92a2ce8a7c6b47b02c689e8b28b8fc8362,be39828fca10b355e2cf9ee514736e87157748a0,d1f035f456df43bbd068ecda33d2ec08d9190b2b,fcae0e311db59f8c545d7b2f37f94a343c8ac206,e25594c48e207157dddad49d8dd246fe59537e57,3e94af163bdff38073de96da87ed074c167afdb2,cf5feb0dca15e1898739352de4bc0028b831d0f9,8363c48863a1d8ee33fe1cecbd184030f86da0e9,9859125c7b927677e77085dd99b4b4b83df65ee1,eb8325300e523a56d4a11c8f2dcb16f5892a5cf7,2606cef21fc2d8d3679d33c994d9d5fb04a68def,fa5575ea549cb3b9f6c70c3d6429db41fa46864b,b821b9d502b1cfea62fcf2fa36f439eac09739a3,557e82373484ddb4b48373d7e4931d7b234043bd,4db653998bc84211acce9ca2945d06dbd2feb90a,7475d22154dd441e70e8c256642e33a1e6a42dbc,b900be6142403533e6c6d7cc2ab78eca1676b797,db980a5d18d1de83a9ceccad8ce9e283d58484f9,c910ec814cb6bfb0627142dfa44e17ecafc9e49b,4e3c170ad4fc325c532c2075dece7459b9682f5e,7cef39657f0211ce337b25aae8c0cd7901b03718,8aee781950f2333140c7bace9bd9c36be86af4d2,1bbd16d1b7d8c7c48348d63a5bcba07e32ef9982,078aa5d04677fbbfb0818bcd0b004719c742c5e4,9dfda963a3df7c62be5ec5c94de0b149de590f2d,ec9c81e77e0f39f2a5748fadac320f6251959748,ad35fc82af76c5460dce612b2792398bcc9833d6,b6c4592513f8a8295093b82c5293c2570003c33d,46dcd4da760057b54e5f5694e8f75408c33fbb3d,dba189f4af385e887d479365612d398358d9f732,8d90cd3e64c8e2cd348f5f5d88714ee259f05527,4144f8d93a7f63d62ad13092c72a290b3a3f967f,5395e52539816eed706dbbd90d3ef5051857bd30,eed1fbe38aad67688da6bf7b142e146ca34a2fbd,a9698b6f6ef11184139ef9e53c3bed8b24c0942b,b82af25e63e562264c0cf2d3ce5077a272129480,90305b6032926a4e7d19d8cdedb183310d56edb7,6a94d2683bdf2ff9cec4aae2815d079b592c0650,bf17a84dd28433d810b4f83dec7bf08a1eb52c87,972a9df03189ef97cb7de63bbf9af1e56f74cd6e,fcadc801638ae44193e61aafa7ec1a65630159d0,63c8e458bba2831baaae76913d61ab0ccabc4b94,1148caaece7a1924ca70f4a6db73790bb02c8856,5604bd951ee6bada9d50bc86d8ec1dbdd84e6948,a16f35dcb18eedba213c9311a76babef6d529dff,e66378ee59998ae15f8a3b6afae4f657d17d37c3,2da28054d4ebb426bdf6fd3888df387c4cf6d0fc,19ad26afd850fa79b4bd599042a87c88abebdf14,75c16b61266043673223fdfed30c543e353d4b6c,7ef33cf4b2857437662c9aaf505d824e3fdca023,425707e936772a859aa4e0208fd671397f0b2808,2ed4071c1e02e8374aa8ca5235df314eed3dc7a8,55482bd87644bcc0d813b90b4c67187695d8ff55,8d441929a8c725273d101a0cc3138ce59f9c59e8,90b8b9d121a3d60c65022f3456d896f68a472795,7bd1ac4507647dcc1b07f0ee09acd8676f0960c5,6e1d7b4e57e0317e53947c0f33203c28325c0489,c6af4df9b91312d1feac6863b934ef14794b31a4,f32ef29253f6f347c568adf4686de4e10893bc6d,0e9ea11859fca6ff4a40536c22f8c25483344252,5012e45d0482034268a530ef31a3e33c2360e1d2,3d6c53ee74d148bba2a3da49d76792037b78eae7,de650dea55203e30699f786b59cc811498c9671d,6c065e69fd17b5fb5fd7384f4ca97317cafb11dd,d2c2ddb337c3bea49c1fb5b6ad7408fa128b2d53,815b17a43b059c1aba2023ce866200f6cf887f2d,3a07aadba2db6140876ab58ab55ec7b0a6cc6d93,c122e16bebcaa76a8e1740d7404c1eaf56082a9f,6c47f8f4d79d3cd571e5d6526dec0791d2b2c8f8,b1e65ca49fca83bd215b4c8e8427560bf9083cdf,f5d76c55932f8e5ca2c267fb9b0a1a6abc3936ce,77e350b6b8dc61de3cba519b0f4f79b25eea9f49,f19b390c685209851873339a9c9f9756b0bf81c1,0c62ac9f1624faffca6d6505b6564e8b9969d3c0,e9b394a5507b35cff1ea969ef7991ee0fe2c6d45,6eede0f71f0fa802f18aeb6217d3f82b9d5834a1,f7dcb68c5a0173048e3a1fb2cdd1a2c5c0f3b761,89605f47c23776c423698a5b4bc2493060e3c13c,65b442567218f772939978849f85c497f96c4dc7,99074a557895249d03538e5df9861fcd6ae9a6f0,899981f318cdafa2e2e4764f0bc5a26889091ebb,dd5c2ea6e92ec1af35393ffc8ab83cf81fb80eba,d13a8671274398f7bc01e2a9dfbc9fd4b2bee4b6,59811090e1269d403f67bbf74d6288d4103eebc9,2a196899bcac210138cc267bb47475075aa07cb0,b5a71086e840fd6080d2d376ed43d31918ed1d0a,edf5fce7e33aa26cebca17878b42971c8da91475,e9594227538ce6dc537f25cf7082b5853034282b,cc260eb7b2549e88bb6c2aa0480197ee5eaf5016,ceab50cafbfe9b4b8cce092994fd1bf888e9c476,efd92fba01224190b6b225f487ef3735aa9c58a0,dd13b4608886c540135bf83d2992107bc03fdeb0,a401898139b7e50d9b6e872de949b56e4fe0e24d,5afd809e88788ea53097471a7ee783826475d15a,35958a9b6b927d8ce9b1d0002ba942e14c6b8422,abb7aebaba5721512c3d16857c78781c60259e66,33ef88858ddb65eedff41e3a1108cd6baf563917,6407b5f4db68d24454b0fbaaad864727b5c61352,260368ea557daad41a5395c9d08bf1f2eadfa2fe,5e7330448dfdf3974ebf638dc8837c87bf0c2e5f,bb4d3fda25e858b0f9153a0861fd8336c6007ef2,a135940cf5184c7af0b2ca1a7c72f58a45dc4f3c,6757bf3832ddfe5cc0fd488e98b20d5245fbe8bd,85230758e453f88ee2b89665f774994db443d968,b8723226787a98cd1bb7a1020dc0e73029991df3,44dca29926bd8364d5b013cbc6820fde67cf3e75,55629aeb19b0e7cf968d33c9fc0f465baba8f82d,761f65cef8dbb17867efcb380db2b28d1454e701,32f4931fd24c18db383d9ce156dec1a65c83d98a,131c1e1b938c14cd5a3892d92d20f2950b13cc3a,e7218d09fbf59d858cc952569537d739e93401f5,a2d7503f714ee8ff856efd8d17548fbab928f0ec,3f24bd38864d884b37aa4c8da025c51a437452cd,84de6a00491c1f20c7fc988d01197f8ae012af62,d6e8375e64516fd5e2310c8baf4efdd4420c6e36,079905654dbb98e0838a18e3d25a86b03889c012,85c7368759f5fb53aa23e03c8cc27c2deb424b62,7d23c2e9d0f569d3560f774da097ebb443c8c737,6c67798272308aee107d13be45ca61f0a7e5c12a,832b566097608a1864baf649e03638603d610ce8,8595c927a87f661700dce8391bfab95cddd730ba,5135b586cb692ca40e08114cc25cab5f709fda76,e5957b1ef0a3bcb7d6d04a24525f0a8634e26ed6,f2a5bf17fc9192bcb7ba4c53800e6cbd726c382d,3695bb5da509d5ce98ff59c2b0a76da714b61578,f9a4631adfa3ac07fb46811aaa847691e6de6be1,645fe8a0c309f3c33297509b977ba76954edc05e,a93942cd272eb048590c7e0ad3a373067853c4da,5a60eac0c816b8d4c107d5d0f751ce487f70df61,92e5ede3478073799ed5df091349fb4b90635e92,8a0498622b029a9c1150347f45a2fa310099a2d0,018c1e5dfdcf49b3e7d5e3035ddb089b3cfc2897,fd94b6db913cf9c38ee03a179ecc180ef52db711,29495c9ba57dce83d6753ed19e301855ea37f035,9adcc891cf8bff2098fd9360ae1b4d5d508213c1,ad1c19864d20b4fb311f8e74ace511a58c40cdc8,9061fba9ff2599442b5fd214efaa2789c34a261b,cebb47fe9aa7298b8ff50bc2963266f78ce4830e,c1db756617aaa5ed0477ce48292b44e1bb997179,4846bd78fb0e7f1199ed3d5f52b5099bb183ccc8,ed7b0c5e68bd870faadb6fdb8b24969cb434b78b,5cbb36f218ebb40c708c29b342ecbf43e7ffc6ba,4b1978026a3c63f1de96e8e310b4535e2b2d4197,f097d1ea353382bdab42490a2cc91d239de82e24,3a11ee9a14ae2e43449db6acdfd9e1312cde68a5,83969d3ba38ec2321439c98a7da615ee66b0e228,6cbb3d982d3f547ad09a73aaf5939c6092ae3aab,63a2395e2c552f5b983406f20b88dd364458bf09,cb96acefc93200a2e035edb877edd8cd5721c5d9,a6c7ed5e61f961a022897dde1d47140998466a23,f51798e449aa229723742425342b84f41025791e,657b9a62033085763aef3004e928f56abb9bbc7b,b26703feaa97b31004bf833428a0a7cf8315e1fb,df3a0af7e0574f160e3934175b9ae4252269a1d0,136022a7b2f24e0005aa966f84042815d6d50187,e746cf96daffc2365178a934dcd1eb28ac955f4c,b0e1867b4c2658568d72cb1d023a5a010d483825,e024fdc5d7a5ff55e3ff96ed11ebd921fd582d78,9848349610219cd0d2dadc67b112fb09a8317e91,cc7d67d08cca783f2d0f439b24285a526e9185f5,f562a8d9fdaccdfd630db4792ec4e0ba3a8d6e58,62a57bf82ef45c28142baa6f07d3b9b8873b7d57,c43f671baa06671d2aa86653f3925b9dc8f74c4d,d1d0afe337c11f386fc189630265b6142f5f734a,13fb30c52ef398c3c8a82c262ea64bb83567fe55,e21186cac0739d0a8290759c551a3feceb1b4360,68253e2a738a32d47259137de23d67c5adc1d228,168016b865d3d1ea7de06f0be713ca4ce18b717c,7b09eee02a70122b34747137458412f1a29ae541,c8fee693450dd3cd085a662952b4239483e2e1d2,5a6d9ff5329a79ddc330a4e8b6a59c4805a19113,af1194de4d5a33681608e7e745249db774e3a22a,4f9acc10f092a6a59a8c213ca29c08227ee1ab61,b8920670f442575cc5e981066c1512377d2ac50f,2187bfaddd5734e223948e60857b502909e80c8b,efbf5eaa01649749fc7f8adee03b63db407ec2a3,965bba5ab477bcfe124c7981e47f53457e718928,b11366c95b2c9eb3611e71919692eae50cd0e7a5,dbbb91705f606be92e0cc9daeaefeaeb290ad643,444fe092da1e614163712d0710f6f38b2948ee3b,1a66cde35bd76cc076e25f8c2f71426f333117c2,93752573657acece7e917904e59078ab99cbef93,88cf633b973ba2002e8f392ad0748b614bf1f1c9,123f196d5d4bbbac76bf1b918a6a0e4dda0174ff,1fc54dd8bbdb83ad9a8f82e4a16d73a17178b655,9e9b38d0cfc08bbc3c9aa873ba41441b9ea0afb7,7dc2a617882931374ba3cf12955d657bc4631bb8,9a760db57350c5efcf0521ece91c4157d0fc1d36,a91e547832499249ef916470154a1a2b31421ee4,f8848dd1857855256d50e4855725fae3aa5b4d60,ad7cc0e69d28afc3091c8b9a1e90175533efa9a2,b934517871cf6fafd0313b4ab408886cc0c2df60,6cbbf9c52aad12dcaf3ff5e44cbe19f39a5b7018,920e1c8d1916b723d2aa60268f1c6a8b5527712c,188cac3bc6dc666167aacf47fedff1a81d378137,d12bf094aba2667fcacbc7d4c9ae6ac2c32b2e28,32261a0f6d6a7277bd48712f13a4480c14c75a73,02aac653d2599332b70af2cb3433e8f5d76e6400,3e5f6d322853f4615392217e462a59f1a9c59178,1b6982107f1ac4b4111e37be0a3649d155a2bc1e,bb51ac77dd8ba9ad3512f3552515f5ddcd051d11,e2ade64a1e34f6374b9f3a4f1ff802b4b9a4c803,a835d8b533fd7ebba6d375602a4b5c981ac465fb,b150480c60aff770924e4ffd3382132b189aba2d,41b8f6a42e7c43acf8295c26acdd861210ed98b5,567244007ecf2a289cc6761dfd53c4db97bf0ee9,45b1d592f5a4bf280c7f1a59394aac2cd8f4a541,dbd8259c48e3654620507cfcac4f532ba857aaab,e2a26ecece15f944eaa327c30143bb55a4528235,27aa4d4e3495db95e396cf32746ecd93020f484c,1c86a4bbebf6bce1f14f2e3e17ab132fb3ccb8db,c83e6c34a90cc86ce1c3f3aae1da39d618793335,5670a7543cb170889fee2f3e8e65ccfd96c0b18e,e142953c6d2b796e833e441773acd51325a7ed77,dd0711a27e85d15d45dc47e7b014c6bcc3fbf230,626e23d89fbb58d5eb3aa4ac9532fe8790d1d689,399d82e1da8ddef74297867282862598aa96fd97,d35be8a9eac21ee762b452df1ea879c9c5699f03,2c51abf40dcbdfdfad4532f571e1f095dff9c8aa,2b48afe151a41943520040852a7d075968ff1bf6,3d805b8a9a2e9803f58ae40ce286b274877f2b78,a1ea1dd98e7c76d656a232e822d3d7c47063a11a,86547d35d78ffd26e1d0b63187ebc8472beb204b,3ba9cf5b4ffe0a10dc0874f69e0d72e5c77f7358,3fa77a4f627e5ce993c88be7849e27b64e7ae80a,be401422fd786e0c14b27340eef512f70d1f668d,49ddf159b26fc34b5f9a0385d1e82edeb75e894f,9fc2b9062da63731b113043f5550b6734ae0eea1,c75bb80b140536d16e31f140a111a14c18ae7ad2,a7d1f7d7712b7f8845a59937fc9e22e67a7fa5ca,35a57bac94046da556fe8af48b1e791d23df9c0f,e050a019a278827a3ae9c0a32cdcb2dde00ce50d,f0e31628ad7d584507612b2d7c4ea017532cea78,49fb1b4c292e3fe305a470b3a2c4dd52f6d46733,cd8ddffe426f37743c0d17ecfa990b5b9ddf442a,f18524f2fe32fdbb798b38a19d9e9bbc24fef3e4,e62cf5b9e7f98f8beaef2ab288574aced94b15ec,57935a895cd02101ae2e26701579133fb23f75e2,ae12a79bf75e2019cba48e94d54b1f5c2fe07f92,a1064ad8fdf5b5941c86eb5d94009a264e9f8cbf,6d3e3d06e2bc18dc15000093869e821a050d9b60,92cc78e723496ec16475848d6339bd8ddbcad9cd,0eee70ac816afaebbc567e00a5c18a6ee46873e1,3f7bf0fd70b339a43889898efa59af4fec33ea84,e748e4c7ab79a4dcacee4f106f53c5699d55dda1,7da9b4a98858e6d82f297b12757b32e62c8491d7,c40f518de4c9ee3c4e6bafd2ec909dc4ca286b24,a0366d7d28f806b3bf825d6613040e38d3bdd64f,342524c31234981a48e52659d07ff2e52cbd81b4,e67670fa70b7f92724ad4c55f5fedbb3b4231615,c5cdfbd9c03c0d443e5a4f4a7eafd5ea1c2b0e21,cda8971baaeb240bb7c5075faa96dd4be02d923a,2d680afab7ce6d66ee736c93761c82141229ab67,96f43001588a2a88d10cf2e2a8d5e8561e98a774,8fac3d62ce2a37cfc11f16ed5d47761c6cfd57d2,12c4290ffe114161fca1a0c5ecdcac5cfd7f87a2,3d2c96ebbfb8ba47349db24d327fb1b577ab12e8,92e60d210759a6250e1820f891c8aade6214ad20,3db1415a449212d8c3ab5a9085106c9f11acaa0d,95f94a279c1807554ec2c865ca045aa29bd9e5b7,1b08b89b7b552beecc90672f8ed0b1a858169658,3c2703787cff417098cd01d1c51b4b5cf70f2677,a714e2ff35e78233486f4549d646980ead04c4a5,19cee9b8415bce777f012d5ec7634497f0cd53e3,d221f42a578316c99fc74674b037e54725bfbdbc,b051e7667c5051b3ae9dd511ad235aea19f2c0d5,9e3483fbeb8743afdb32df31c859753adfc96039,36afcbf7fea3dd51e292b20594ef994f683d26b0,314f632377306065e939fb1b17593168bca3982b,827fe2bd83a9ee5d77b49cf4eb8cdc3ce0369859,822022186611aa62d08c8a328f69f37bad2dd38f,57466587c5470ed174144263608febae128895af,a2789d611f74b71fefbf8a3bc0c66f3f3ec3eaa3,df80d4e6120edd441361bcf9e2e64045ec042c2c,931bda56331fc2fbd376ce925c4c9923c92498bc,77f53ebde3c14b1e26734fc0a57629e5149743f7,aa5517d44228f2909b25744ed2fb90770d45dfe6,e942c00f8259a6d9505d1ed849b36399e9def989,71df6b83c64d331a3a7347f762e80755088639e2,d3abd339b7cf9b3c7e70679ee65a4732b56ca37d,f2bd099afba70273fb8ef60dd42226feda3808bc,3cf8ae8433acbc20e09eb6bee6c6e1e1000e6b9c,a0c87be0fc75cb242378c1029e5fc58e7dd41a18,c9461b73139c742a7a86af045212e08dea83c72b,3b43bd027c51f7914bc8fe7f938a7a21d58c1d85,e57ef24e37be92ca117302735b9e3584254483d9,a27cb35fa83d995a33f90474c2481d367cf6b14b,c21bf747fb3d5750ce62ef49ad5334528e2880ba,e7e4044bf053846dbc1fa692b9d559225e385f06,ef53f9bc25aad1cef20f3cd7e7e248dd5d172e25,47789734923810f9363f0ef384c2aca27171dde8,f6a8b045c2f52740186feca3d50c3211c74c775c,7da8c774be6670d6cfe3dd9b707d4e47c0a4870b,42b052eb83682e0bc5dcbb2c8d47e045c462dcfa,f3f9c68ddbea571e5cc95625a7a14fee620c09b8,0ba4cee279b0bd8b13dfa27ff9a32b6b80397d79,69c78385718462de06ac5af39e5b1c2829582bc0,170c112301ab3bcdba04a12657ae61dd275496cc,1a19fe1f033a7d4571f62a4506cf3a60d37e3080,84be45f55d92a379c237d76f7b2db9e55e0603d7,1b439134083d3f032eab1ed5ec5c016bf4be84db,16bd996e74560b716938e825ad216ff57b9a51aa,2a44ffe51bf56f86ad3043e9f578e268b860e4dc,247423400f0d0686f2eaaf5de7d95a99b258419e,9d8fd6d55e486d7234c597a89823e0dcafd91331,7488f1e3f886d215ca392e47bb7c2e5754c18985,a5702d89e8703ed2e5c4bdcd246ff9421fd551d7,170051672181f66a9296bb6f8dab13bfe0a03de4,cc27576339115108f045222df45a8acb3d91723e,a1a2549cf10e38b25c8f277a41dc3ba409a7a1b1,96d4bd19ac815bf860541e51249fef93ebe41c76,c5f4a6acd0d48a567e2d11bb0041c92a2a8db897,487ca08cf31ab89695d703d45cc7861868251c94,c4899b5dc080d09fdb5ba48fcecdf1f9cdbdb5e3,7a34677b2ab134fab30a19c6bb6249425e802daf,977ca19dc013324096e5ef2ac6d9e2ccff824d42,e0eff8bd89aa0aa3d631a197f33863241c6b13c2,230142e183d986fc9a4b1f8f32b42816bef6be26,f00a932cc6fec80533ad821192d4be8266446839,42d91c02bdf7c57fb2df8887d92e0fa298c4d8ef,a1abe51f2a760d47c2a12641f7b7fcf9c634d4ec,1e83d415c3a2aa7b66c191bf40781d40e37e5179,bba1076e12d2c689b405b12f16120c1a46f9b69a,8ad7decaa39dac87fab7f37f75b7da0aea49b2a1,7854152304110571f6c1a950f3828b4aceded90b,851af5033fb80d4e19c4a7b5c44d50a36f456374,14466ee9d99918072db8982765e621c2de309a9d,b9a8e6832f8db6bee1abeb9e5e958de8821d949e,af04a523bb4881f106908e231b94561d889f2d81,e2905b8fad1750fed539e32f40cd69619beeae39,5605cebd462b2011437b05d12b320c3b6544736a,ea7b9c73f3ba29a464b2cdacc83d73129f4f8d6a,e1f993c363a05c12f7d54d9da46e7133431be624,28e7dd77dedae2b592eb3ecf7d3188b23718f637,81b22cc5d1673cee927fc645edcf8a90fd8a7f8b,c0893e5c160e21a40086e573dd870ccfce6e53c7,babcb631f8f24998899b6fc2112025a077e281aa,adf9f98f7c182131fe5f83dac16411645897f123,e0fef23d77e43c36d6d6ad474a21e5d1235742c5,30e0df384d5961c5525c70f2878963f04ec9bafd,4430422489633ac2fcd7c8833267ecf9cfbb9361,e19f60503b81a4752596a845e9dba035d4510550,721e988da2298e426c5ebc78205b2917c7169816,56006aa002ea57a67ff1d7b7c69c4261b6bcfe84,4e959de2c73a6a87b96dfac61334628437afeedf,3eee2d8ff34834d7f17f7970019db5e5ab0f5e1d,4c6338207f4b13eee54c34e67502630efc4d2459,5d7e3ca24005a3b76d307c879d76d05e99ae59b8,1d73dab2b0e61165ec2100a21dfd4071fffb2145,a6ddea87b7eb020c03692d383d9592dea2be0cef,d410deb7ae8f405e9451bd10db24a65ec5f30a33,4510945465e4e8cd483c64d316d1d43005ffb585,d7d65fe0d7b62c61f4751b896eb6ab9271d03a0c,7affd789045f9bf2a141cb96c50c08cc484e0100,430bcac389c29a5ceca7759cfca69454aa31abf9,b6b2785b66023ad48242b2a7bc55e445ccd48238,e1288897f3639a08330dea060b23283d9e455558,4b659175d9043c58f5fc78f3ef159a09167d45ca,32f8dc7ef5916443ececb9742d4ddf5ee8abeed6,0b6942de8ac5b69d48a07cca22539945cbe5d201,baf950bf76b7becc2a13fdd4d2814a744ee9b52e,1bb4003984c399f8a9d881ec1d1a231d907c41b2,6c5f9537b36d95ea91686af22b34c2087634ec80,ee0ad3ff86723cc14eac57aa8f5f625976b557fb,ab581c5c301090d6c68c24437af404c0a5962990,29bae2297fa3cebc09fd9d18a823a683aa67daed,f2d6b4d530b0e7f7429bbb1a7c6459f23ce36b24,cd8aa3f0e0716b44cf14ee24b4463f1c12b77de7,a641860fa84fb2686b1360723b13625f6ac1866e,51fdbb5524512dc3279d0cca38d44b38160b8111,f364bb6b112e7765544195e4d16da1f5943f415d,a74a35a16e236463207780120735d0501f922800,cd6d048588584e4a641de16abc7b857eba961e32,9cfe6e97a0688bd6321e4a42603e0a6ed0cb3815,459dc68ab9a7ff969a121ab5e22e18efe41b9854,00a5d30300e91ebe54ab99d4b64922d5e6e39850,69761839c0c2094d9ae69ae2d0283eb06d761df6,0b45cd95f745a2cfc485062e1bdc171984d68568,3cea1706e9208fb739b0482519fe48420ca520ea,4793447be120d6d3d9fa2e53d50b45b4b00ba2f5,aaa6f0d9c5ea729efccfb200f4ee0125cfa6c847,e77ec69de4f3db4d89f2e9287672d46cd35c949e,a9dca3268982c53b363346f2ccbc716b7d695183,8b08486fa1ffa3f84aa6715bebe98895dd83a0ee,4e8ef448eda713f0b54d8ff02b2c195c6f66dccb,5598ffc210c387da7e4e166aea1c018bf6b3f185,55deefbab5a5f3f203587cfdb1f065251d3321f4,e54197e9d2b5c595cf77d884fec32f0639dafb8e,ec28b7586c4b74823555f196772743fe9bfa3dde,789031a6e638a733e34cfda80ec8c355e2fdea63,821c22a38f8c172e3a6eca20e28027d86f854876,8ef0f590250b9d1f374dfee8409827fcb3020d4d,dfb8794d4d2cad05b61dc07402610bde5febf506,ea417fbaaf750b7e1fdf1dd1150416785501e270,e8fcc5343beea4180e7e1f83bef6e27e19dde242,fb9c7183716e375d2c35ef7ffe4e6d1400d62993,ed50a1941b9ecaa3269d4744fcc00f62261ca218,3e75ba52f32d1e826b9dce0c406f22628a1ebf0d,048385fd7f3ff8573ef72b00fbd02c20c21e0710,bedd4edc727d8f31b9eef0a40403b811656f5c04,09b435cdab4e310bb7d0f4d6e4aa0fad3e916ad2,e9ec4a8bb3c08c399fc5f674e07e9876b5f9411c,c577ac5ce9329a112fbc31e3360092f445752615,6bbb10e64d1f3c5e613e9242b3598c30d41888cc,70b0cb99d435314ec92cbf65749bd899e5d4bd48,22243058345dc952492a1846fb13c2f7357616c8,18eec3055e0b05bad8583a87dcd70da07c9fef40,3cae3e7e4861aefea93bf7598444b5a292b141b1,33dfb6cb4e38fbb9f960c900f3c57a8aa7faffc0,ae47cc2c88688f9daaeec061d870db8f88bedd52,64feb6a5cd3bda525fc0dedccd8d7900abe88fe9,7f41bb4718f238a86ab07aeef677d27c16a43c5a,9c10167b6fd114d4996debe4ce117b3df3d38a53,6e84ee580668f9df9fe5cd9219fb2f1858fe5d98,f79448a9ffff84ffeb2242e7ec442477ad6a022c,7e3bdd501c189f7446bf34600add137a2be25cbe,87ec3d6fad48ec2179019ba0789c8616ecb47e5c,71e0c12c88dea98b02812f8b9c6b15b766486332,0e05e908d54113f40a6d4ce0870e2fb9f87a5d6f,f1f84a292c9478a02bb2ea40b4c368fa15047e21,c7a0c0bbb4984f935eec3b933c1a00db7b511052,67864b662a9ab677d2653500daed0b40a49b28ac,d3ccd10674a7c3d3e4aab9025f98d7f71299b5cc,d06852e6e9b50422f9a7173119f7d64d1755011e,def475f889d886c05f8de0b3c85b4e6ae4f58e35,63199a096610f3d7b1d1dc07d1715357dccf11b1,c8b2a36bb1671e6347fe7ecb7312856321b608ea,b8933dd267c554ca4f5441f23f14a822ea6ecde7,b49c3fe4f8e3396aec1469fa072cd105a5db2965,3f25438d35d772669aa2ada696c23d51f14c004a,4d676cd6fa2995248eb969a7861168c20a78c175,811c68377596fdebf8bfcee8e8ce773df42593f7,dd7320ec137055b4d1992b5a0b65d4068a86d1c5,ece59f25341cc47a1f3c38919844ca5b0904af2e,22f1289b2a1a04c81e9421ed2a1d36216f0fb73e,a221f2af79ac6f13b4b74cab79037bda1430327a,8f7e61eef68f532103387b9d88d23dfdaaeb3cad,586a7d30abb173acab88226edeb9a2c4549caeda,3635f7cd6fa703a23ff6b93b5264b527b1846c81,95e5eeb2262ed56d2c617ac5e45a626b7a4bb3a3,3882066f235ad7d31ae6f90780c4b6fd6c7bb9ff,40f23030dc4600301936f826949704112feb440f,708aaa7b97f598f0c378578e491a6e16f5a4bda7,ecf2ad3e53c1ca9ce9486ba1adbd82c117a8473d,ccbdfa91505dfde79e981b12030205933e1b20b4,bf8746ed101c4603ea005db72ef9743ee8cf3a11,d7d4b446c147aa5bbbf485b4665ec9309b14fee2,a9cc89ff46ec68f37a1a0ffcf636d7a9a4cfba99,9e228ff35571d28049571bd55f265993f62a0c57,5adde504a973b765c68268a8f9a9910e13851b30,99b01f66343d9d28c1231953d186a4e5f34b3210,66ff7a928c665e8524160da6004bbd98e0889e0b,30cb20bccd1e2ad966d107c43da4e799463d0bf1,2b0317f400596561c986147c61c9ed7248c4a7e9,7909f00c834b31579aa4a9cb50c5cd719c379732,c1ecfc323ae3c259aa3c085dc7bdb2abb5b0f3e7,64319dc019b03af26fff3b35bb3cb2853e540909,0e46041717a2d5fd81d4a5881c50a2fcce8aad3e,839849085b397690e4337e22fa6f51ef1bd88b5b,e41bfa04951efd43e7b89c16594e994702d33f5a,0ea0b69a30d32333ffa6d336bb3c0ef7aebf8f5a,0d3ec87492b9d2918608839746c34836ba19d3c0,488c389b9b8e6bff675fd486d601efe17f3b52d4,4848327300b0580f23eed91842ea767e0cc60227,8cd10d88cc81868bce6f03f481b0bc83946d6ace,12bde4e9030c2c366b1cfcb62bf163ef77a24632,3ad8b4199c6293ef911ceb53ade968eb336c3478,466561f09fdccac4c599aaa1a337153773f3c99c,b797bbf5dc08ecf002c05c73ec1aec4adfd7195d,6663d5ca63d7ef3498c936bc35a749ccf66a2384,644ffa8e7ae3740c4997ac235a6675002eec4911,e40f997a40868536d6f49024e07f928052c4da23,e82c98bfce885e79fd7f9f10cd8d6c060bb1f90d,4143912b7287ad135e56b079a426b25277a22836,8f3cce556d7c3e3acd3205eb747ed58a5f9236e3,3855625b8da2d403825b5fb27a55ad65fd7cfa88,a807144ead497385572b4af461f240422a517ef8,2a4ca98e852939dc2337b66e0c88b9ddab682e8d,652f21b656cf37ad7cd5c627cf9fece13a86ab8f,4750840e89293d286db914f853154f2dcbb10b96,665670ae015eeb151e39336214cf7c15746b0608,e40996cd2c1a0719f324c68ab31cf7048761ac26,144ee6d51d302376a19099ba98af595c143b80d6,bb407aa135c73da8da59dd9a8122016625b08ef0,289fdc72c5e692069d120e45031bee68b3ca3f20,f720ea3a21cf0d65cd4289b9037f72790252c608,b53034705fda8db007d80a2a866a8e60b4ab3aac,be54d40660a006800d6e55c8cf5f0cc5d48aa84b,24acfb806428a1f6d2136210070022dc20fce15d,60cff917ba595ec388dddd080296b4dd10ad2c42,513ba3c733a23a945c002f5d5b673bcffa06e095,7c64bce04eed17eb0b594a970e38c56d79bae60b,094345871385d9deb3a9138f4aaa287c1f5600cb,46fa168d43ecd2f07bb101ba322d64d22e30d237,219fedfea6ee033ec68d4cd19447595c531e9d61,27476a915b81f5fce5486831db41a0cc3e669ad5,5d104c9115301beba82a7918ae61903cbd6f94ff,647f211aa5622ea9ff21c354cad5d0eff46fc499,a52b3522dc88a5d35c5084523ea5260a1dc737bb,c6effbd676cb27a2b733c3c0d6b467ae6c17f6f5,a3f441b590804111ee5f5912eb78622fb1de0fff,c38cc828e8885d50ee2d71b235c403ee98bd1591,c6d936dc25f443c76983068bf0718b9bf8cc2f81,8ae016fb85a071be24cf1b9de24dbf9cda432df4,c1e2f557f124dd6d00ac869446da0e9ad2ff74c9,5a123d33bab953b780933a6c310fc6217ff3e92a,d24548f8d8a26e19cd306b2f58ea5f2a62b6ae8c,484c178c1591359fbeef7cd3d9ae2092dbd89a9d,071ae41d2485ae3200aadc10757c741f71148acd,3bb2586269c876856a834fb0d72a09928ff9d16b,0515be62b4f9e3b7b9b82c90128489afecb6767a,8696ca652d6f9686f26fa4627b070fe1da589077,bc72021039c8b01e5a76ebbaf5a2285787c6e7e1,a31f37b5e560433aea4eed2162d2dd19c35d7549,ecfff40f960ff65a27ea4cc6f72e21dc9e36b651,fefa163a354885c289f9672673cd65dee2960df6,2005e3c0941051eed2f5d224f493059b47c40e8e,d74d41c5d217d32d2e81e0c65334cb7ac61d2b39,519a102379bf41de2a988f9c0aac508a5d384a51,b4ff9b71d318be9463d054b4c8cc998aadc8affd,c94531645a31d8bfb9cce98e6c8ac7c32e9e7eb7,52147baa0495218ea06c588d1f849106f480c4f3,9b8af14f47176d0c97a7b3b07e70631e8bbc044c,da2649fadefac495f3da024bf955aa889a0e5108,93438ef1a5f157d2acda458c15f5e074f9ce9866,33fb8874799a1c90f79175f108dd21702d696472,60cde554fda8facdd2f7d79db327d628a7dddb69,bebe53ef9f82bab6c8a6396f4c96d53d73db796f,ad69c6e1b5462769798f96d71d4327a5d6eab3b8,c925c1aaa6fbd3091c7917603fcf49cf7faba2f3,3e21d24098ec9822d0b6bac12cfd9492e8521840,a778fb2eaa4c793cd7f6f3c6d4a864dbe308184e,dd09bf64b39e402109394dd0f4d32cc97c2352bb,022d2804a9500d50cf68e02d398af269ea731291,c33f47a707add75d246ab1efb5e63a8f21c9ff24,5cc4096f41544ea8ff8948aa7e6058ae37bcf12c,1f7636612542d76c4a9163de1f126f9d654fa6cf,627fd6bce120c83fd3446f01e44f3cb147df8de3,3770b55ce135c7d2868b6e5bfdc95b17bd97ed1a,3b3a0a660cfd8427674a6d689172b4bc4672ae3e,48556ab039b1b2a6507377ba1f7148655a0e804b,e555eddeda10f75c367d6e1b0bb3dcee6b5a3083,11712658b0ee16f5df5ec56840161afcc1863613,2039509cfb7940fe9a912c776ec1644cc6d76882,a0b78ad1f7859efbd51f3267fc93fafbc9d7de32,8743f72f1134750b0522330904f57d7ebd535eab,84b60d3f001c642e252659e84923d21924da90e3,8b138aa0597d7c12f0a5c5f43564c5818a4f295e,a47a1c093a31e2352d44f94a37698c1e69cc5e23,ca0384172482ab6488ec7efa643c68c96a796671,9daabb2123594cee642baf50ea3c0cc5e7f7ab6e,8cd6606970c8fedda95a3411d684dbd57379b46d,f670ebbb280f5bf5cb198f12498e57ba1dc5bf0e,6ff566350cbc2ecf8615cae6cc6792939a288ec8,3d55ac9d0967620c1a2c196e2aca66cc62a95d9c,c117c0abf576dc47f01257751b8c10109b5c9c6c,e6cbdba0bd6bba9c4dac1333ce0405a14389e3a9,d38dbcac8f21d79c666649301216ec274ad838b7,8eea58f64901b97890fc5eb4b37427a55036b539,9b4366e4f6d565b0a1b2b2d105e350b0744b8d7c,95d7bdc3da9cd08954dc6fb12f8d6b2ac890a7d4,b891cef5d2ffd8af876eff736ec15045eb02ed92,b247302871aa4d46bee7e0d516a96cb8102732df,1a4b97a62a6e6569c3b8146e80d489ef22347df4,80c8575636a7b2e41f9081f78878d6399cea84ed,ad1812f90aa26c0ead768ab1ed32287fb9dccd67,15c95e0ac7f66c4e21033d9e01c1328e00ea2545,c22b6c10b7a29b5375e95102e43ec60fdef32b60,f6cd75add97afbc45461db9befd4d47325a8384c,aedacd916089f2392d89dcc9d5a6c0e2e95fc53a,0f89852908219e54e76a72bb21e1847305166d52,4d62764fa34b7c0fb8a4699e689e3ac8a846ba94,c6b059ede6d90f87e4507c0cc4e258ac8b4461e5,601c8f9c8b23db6102663ecee9b1a697b410bc4b,c67bcf003295d9ba9f56cf06450050e528c3f305,2eb3f5f0b84f60daf562376b0bcf0dd12776aca1,ed748a65b49f64d53e96adc2dd485e34f550af3d,9ea1f6de197d554fefa42bfb2b29b76918460408,0d256f517f57f80933f3e6305e38df55d8277d11,f410d8a77c0e23be19ee87c33fc160b738320a4d,87e49314892e33419c0104dae47ab463bc6e6b91,be0c92c65d684fe637575bc9187273c5883252ce,9d893b5d0d040194bbbb2ec220e03ec5f88f759f,2f1ccd6f2a1451c13f16851c10ea8435254130c0,f800e405958125dd1b05c79dd06617b0860e3d44,d5a538b5908065ecf83b6f5e74625a5eb85393b3,08dca09c7ee43e2b73fd98c319fdf54934a082e3,0b7a771ca945dc531060e0597c8f1e69774a6451,8382c6f5860949eebe1e6e6aefd156c8dae83fad,553cee72eb0349e50f1430f28900fa47c036759a,8acf2e3ff31df8b8396ad0f416df9e1ac221a9b5,389646adeed406d305c0dc7d13c7133ca176963a,322befbf5603040e68207d847ce87f5dab7917fe,c482bafdafe17ba5e23e292e1127e6f103444ce8,535107a700c98bb89e23332f2465f5b896fe6e1c,1930aaa340a808e6ec530093d7463b157646646c,188fc9c11281018efcdb567895f6137a5862552f,76474c85bd7b449a233d409727a53e71869f3c7b,bbedb958f61b03c8af63ca52af882115d051ec71,fce34eb4bf9a70ac0b8a9a5417f0f7b327b8bb37,edbb865260e4033930f266b2f453524a68c48ec9,5c792c438db1a5dca3ee6539ecf5b1c84e52e56f,06f35ae04f229e4cdd54de4bac67e785c043a1ae,62cc594ca469388c8bb45cadd24e73b21437230f,7133ad7ecc46700618193adff85cef84682355b0,251af216ce7c63204152c8cacfffaeab899c8c82,34f1a3ee280a5d2e1e9aff4f2f39c1b9e97c771e,f721210638e919e910d340b4187b2154df8e835c,d97d34ee9c538f4d9d9f0cb4ac1b2fbec6c91deb,3dc64dd67ef64da854e08093e229719ab1e3d49f,c7776d899bba809811549d2dd99b37b80fa361c9,78025d90b3ee3aec45bb100d2bb01e3d931391fc,a20e8b9a3d1c2bda0b5d62d50435a8647bcd7105,c994b5efe8809ce84b3ba52046c32fc37909a65e,78c0c267a5c62e1bb773813d24d12717256d2ca5,1e62913183eaf9906c5ebaf98241a7e14e45dca8,f47ca0c5d102655f5b336f04594f2cc15b9bbe96,92f148e667620fbdc439e5baa13c36f8a66302cc,2cc319bb8e2d21c61e051f77d8d31f0704275289,79d1fcd40d6ee362a0340751051edade7b124027,0261a025de8b59a41b3c43cd07c30d81a8e59567,486f3a0c7f7884895a0e9742a1a3ede419f208a7,e14692f59483e83b1ac55e9741916c93d5699582,21b135a6ecc49cfa6ed65ab0e26bd14aa04cde38,299f942d291fbeb2c3b6e6e653ae57ede9b7e525,70850835597032f7fb37777bf6fe44eea3b0d16a,d3cc97655125c9e8bfd6577c29ad61e3f4ed87f3,125bd9d5e91d67849303f33f47daed55130208f5,a6e0e1fe59ddc7349d9aae062fa264cc215dec7c,28a3223b6b017dec23f867c8ceead32d2b22bd72,d3111517d5cfd1d044e619766e37c3312ebe12fb,fd1f7b2ef8989c9da4fc58adcf90d29b0df6d8c5,2a83972db8c644948b29e3eb745f2796dd868af8,6ffa258abbf7f27a213cf96fac2b94a27e591dfa,e4d5de8d05d4ac260ac9d9c451d176486d88dbd0,2443fd0ad738f0f3232c779e9d2c9d7ff1072ce3,ee97c0ca03cf35ddc2ebb7c7590d57cd7d407e14,b8f8a1dd1f869bd4a09e571a766ccbd2d641193d,699db16fe4d81890f6f9a0ebf525624f34f35245,dde19c01441be3aec285967d6a9aa279332597f1,b49d58a9fa9bab90e1b0501584b0f0d58f01b0dc,69e775630ab21b0a88a13bc5a502a4a96584ec85,681a00a76fef57322c70428202c0dd3e9b68d556,2949d0b5488f58f8fe9cae976a9c3ec00efd30d5,1a410bae128760633dd53f721c7a4865f1d80ab0,82dd70e72f3ab33b1b8737f743e1cdd009d9c8a1,9440b17eea324558acec52a25a1d9fd020ea0408,ffdb789a49f3f5874863bd35bc477a974fc2e267,ff673eadac997e39822148a313b9d343ca9c40f4,22a1acd610072a1c3b57e0a8d60affe0aa8b4aac,13346a42bccca70bd5bacfb1a16021efdaff2879,4096d9b74f2349f9b9b8e3103c02c0be11c70926,50040a2cab9975aff6974bf462a0e2635d9b84ca,1be741681648796d41bfc5f06da5ef26d4581541,24760621984e934604baaf60f7937f0222dddd14,49d66b8f2018386d7512a5abff875efe82ec1a88,35e52b90f5763f65bfb6953d4b4bd0973753ff2a,a9f3906dd552a0a2e467f3c0dc0b40f9f55b306e,dd586da7093bac753ea54a5a7a1ce72a64ca919f,fd0f72303beb9dab2c170cf89ab57e45d7a7514c,2df57e117b52f4cc72b00837141df6ad18405cbe,3b455c1cf2ed22fa5a645aebce67fd1066970e8f,cf4d02ef92340976b686df6b58ceef8965fcb77b,63f91a768c34e0a7cba88de066b9bef0629bbcb1,63642b13c8876671ba96ee0747dbd8119aa4b78d,67f89afe99faebe50c6177a2112aa5c56f676de9,d2edd6fd2f0bd37367b396d23c8c45f9a28c6f64,bcf77c70fdee6bb18be5dda3978659cc8cfe6618,224a7a8a5448442da597dbbad120d46e7b24fac0,fbe64536d1b6bd12b233ba65976f2faa89239782,c96641f901daa34aab14f6ccf88e860039dbbaa7,4f7c2890299bf18f9ae0c274f1eed967005f2799,803a6fea24d5dda205849a092392c555f9d39338,5e6e24ec086b5d71352012f55b713d264f60feb4,e8a03ac8bc1319da1cfac4e3b753066bc83d23dc,ba559329292b7e06efb9cc1b22d86055ddd41a87,f7e4c0f28229269a4e59aeba7fab6243b9eb0e2b,ede47ffea9fab9f2bca9c7bcdfb9a5c6c1f63b7a,dec6255a190cdfb47f7b82167ef7839e317f3bde,a37430c245d8ad18303c18db03d3d98a3061be66,fff60f9f67aafedd5369c1f8297ad56235a6ae02,6ff403139875c45e257ae3f4b291dd6f8254d1f8,0680ea46c85c1482460989a78989cda79f1dc89c,1a26c0ccfea520bed7717b1f72aa5fec6ffe464b,df2488ea6e9f0036a73b18a9375b0e3da1e8777f,16b14c574ee9d97310968fdbb6bbd484ce1dae71,da4980c4c0fcfbc1e588064fc638c63d7a201066,a5f1600275c7a82972a180d1072733d55955e1e8,595402cac7e3e60ba923834b2b5ebdb21f7e0a74,089e7ca6c8a1cfb24f80383afdd26ccea01ad2b6,84f0b94549750466a5f84fc63b9130f865e6b4ef,3a85a5a9cf7e66c8ffecb22e1abd10f3b5376693,11b743fd6ab270a5c34f65ad1a133892d53ed3fa,8e66041b7902f31a3d741ebeaf8b321c2990d171,a3f221e189506777dd25308f67ed457ad121352e,6f5c6ac4107526e2d0856c715208ce4fac011fc5,94cb1c3a49c870888ebcec5c84bba9e42140d4d8,922893ddbb7276d85159ea0ef63f7ebe8f11c2df,c97fa0a05da6fe5fa6e630b4054509974a624bd0,3f4c41b45ffacda2defa96b3fe6df84f3c62e448,e318348372f0017a23830a65f217fe50ec5c5316,267b99a8aadd1517b6afcdc81d4cde4f568e5903,6aa1f3686e3e557bb1d58b1195ef2080416272f9,3892bb265e492f693c20aff1c369c5f186cf0c8a,c48a8ad31fa9b549be358497a7641481c1d98581,3c19adda78114804ebcc8d923b155b43f229b99f,e0c41ebc5a882278c58d56311e9180bc6720c301,ea18d11d410b6b6cb8f98f54cfb9fc1479c474b2,bc7b113e09d921871c1ecb3c5ad108ae7e8ab010,c2173185e7996689cab3b5b41caaf89760b78d73,d911e462b2a85b7160400ce36755003400584282,c4061e49e61398ea21466f63d6b1430efa3b7627,edabca144788a9651c22e624301346aa95b1d9dc,db23f54f8ce5bf8f519d0a7673476210fd747054,0e39e7c12de0812c6daa343796c4d2fd148b1b32,e81cff0408c5008784229ffd1bc1cac39be8854a,5b64e5b9579cadd9baac768a773823d71914f3b2,8b00598cab3618b66c8b68663750d1fffa4ee85b,59128241adc5ca60b513cb47f0316df6d1adbf76,0f07c966b62445ab8bdef939ce15f460c9beae80,9584348c407935d8e306cc9750195c10a4aa4518,ce742b5b4d7f9f750a40581d0219fe2f6d704f78,d50ef3381fa11144a75b300c21c2605ada94b6d3,fc9719f5f989b7785e7d8ea06f82042e49f6229a,bb2e626fc39410627cada94e17d469e8102fe136,23e514621d6e5b0963912debe801603b75f62089,f88ee7b2d8053a1599facaeb0c065c216e58ef43,287ef8e79aac426249c59181a07f217ebe95986b,879f48d2151cc48a54cc11242d0aa07150bf5e8d,38d2f3d58cdfe477b60f3abf4dfe61ab76ec6cc1,f9ecc12e5bac5414286325ae2f940de555304fc8,6f942996a5870c36a5178a27c21cf248c2d3e894,5e9cf637d36db400f9fc7926af8b51b5ab9b8215,b1cec6de2aa6845ad4b891617fab6b134f8ac046,84186db35f1879b102759102797abbc4f9b90e75,b3e64d70e7b712b675d69a3cd57ad089af5c5ccf,da37fabc42ce12bf7bbb5f9ea75a5eec7a8b7b79,545978b290f97ceb0de431e1d7bbc5f11c7cd19a,9f19f582c414a2543d1db7621d1e1fd3db60ec47,84e2613ca87a621d53dca817806f6c66332ecbc2,cf21365a21993c145e9fb7b99f83dfe54b9faa1d,064172d65a4bc04e8205a0c5b560516e70180b83,bf29f2051c6408567e61d428e10b348bd9870861,5486182f568f0151894a6223e8a4255a522b2376,31dff18a61e5ba7bbf0be67c466f0b481c262836,3defa344709ecac3fca36af91829cf48c30f6d22,b521ac967f6ce6e802521d9ec385d34536abc9ac,1fafcbc12557e8cbebf0d50168f1a6c174c511ad,44cda176749d2e50e9b7de9184d475b81f224fa8,acf5675a909452433618b11daa267433a1beac01,b18c10d0d8930b3e49e2e9f4eca8f9b4b09677e9,af1eb33a7502c017a4fa2c7c739b6a3cff6e962e,f4da88726c208fb12331e2bb4ebd8998977fd79b,9f3a50315b1c2fc5c3ab09eaa8b2f5b1c40f7fcc,da47c509dfdaa4bdb4d92a4935c4071191341338,b054febbc8e2a927629eb888105e2a6e0a4a84d9,90e0b426ef479cdd8879cc95b7dadb8d4790d45a,04b28ed5879408ddf5a07015057768b76b2af9f6,a02848632571f0d3cfc676bb8bb38161d4ce1e0e,b5fa73b82c05ae51ff1c0b51f50de32c7a4491f4,7080bcc16000b5f14ea81b0fad40a8ab0b5f9677,526de20d9a1850e6913ae15e599ce8af03fd6666,49ce3f5d2a0e65fd340897a684d73ae370e6e624,beca14334c4a38174c0dd6d628d81e4367ac4969,589fb20386b63be2f90b0fed86868be88d2b878c,0b6faeba68f1cc4083cc753173e8167d4c64e3e0,0ca260e08ced39b0ec1f111b159ada45060dce44,afe2e80673d93a936d245e9adbd6b7ef2f71476e,5fab6cc5e00e52e60bf6155968e9c950d5a4079b,63a8fe07ee7226016f9e2edcd829c03236829584,ade7af52347f580b26312bad7b6a1f1f01f9df22,d53af12a6dab99b71d8598aa82608e24c488b15e,81157e9846ffbca01d1c3e9f49a218d15f51ab96,bc1c93c05fa4d1d595b33a5cae9ed112cae503de,68668c649e5aed88bac022a11a4e78bb3adb3a41,032cbc54a77be957e307acfdf0fcc2636664d173,3f1d62af8e91db86d04cf42c094e17e64eabd258,63879e74cda7c7d2ea7be1680e6308aa7862c87c,1f178d381fe9f66905cdb409c1986dacac061831,c9b88a1cd0f02bddbc5a74c662a2c6ee299bb4a5,6e9521d99a8f1c6002f4b5f0dd55211f2229662d,6e5860cb8753189d62529ab327e07f6b83d0e629,ef1cb852a8fe0d0fab065f2b24eecab37b7bf48c,bc727f9fb220c61518b916307d182a02e5586265,b9668a88c69abcd7061bfb5a4baf74d83db13be9,d98d0c5e62b6fc704ff39364bdc20f66e0dd64d9,6652fa79199d9f0d0c1d433b1c7481571bae9f5c,ddac127347b4dca6ef0c0156bd60f27904431488,5a61f51b3c9cfa8bd2122da0e8747bff97e279f2,4a1db1dc797edb2d8f5aa89ec3b8fe9e8b2137c3,3c34c8b86b456574518ce6565d5ea23d65c63402,e5de38c42d7e767a8625b4042c57ad64bdc941e1,2ed2ca5cf0611267f1f0d58f164625cdfbb6f858,98ef2773e01cb66bfa25c72f6cd84034f6eec22a,ba773e3385d908ad2ecab8c6e50371b19a3c1adb,d72eaaf734e8cc074acbb9ae43bcf25154476ea5,a398da4c72b5a65018ff8f4c1b70ed574a46a95d,439faf0da88cb10015eede0b7b8c6119ad740358,429d2cdf12f628ba3c6ace311d5a590facc4dbcc,29916bc6f64e0a7d0c745df657ad3eb7baaaea01,248082347fc619a7c4381218e01b96ef32545594,6b2e4fa4133a496c1c3f89e3c71fffbdd7c192fb,271f69db12263731e2efb601e27862b7d97a0b8e,2db4cae7aa05c1dbd754744c608ff9c11818fe92,72081c803ee5ea2007ee77a1bdae0f2a02e94c8f,6fd5b86cff2c5e04292da1e4239b93f34c839cf6,dbcab9cc2919b923595e087a9c4aac133390443c,2c89ddf62b1156ac23c85bf5d34c8cbc98d9875b,af40ae2c9192d5c3ad8370d8ca7799e6015d6a23,3a2342fec4e810872748e3ac2613e552dd2f2fc7,f39cfc75fcb7da60b832e745ba7d442e039aae19,ccf631eabd3f52111825846b4911ee6dc918726a,692754b4228c0c97b08b2857362e7321eac7d936,f249987133a617dd1d86cced6e16be1dd36f7205,9eda172a485371faa535561c5428b5d5d256b96d,f2c5bb2bfdd30aaf65514c79899dc4d5dc1eee3c,5649ce150b66e35934033879931cbed15f911aa1,f1e32bb187b6ffaffed39eb94e75d0b26be2c989,34ae77bd3b0c157043dd666e65667cb2c7116039,e1e9a6728f7601f9994be89374720edcf408826c,82f025e9e7505259228cd1b1a1b18e81c9806a82,1f91fe4b11d06cba30801be7852cf0b0be7a3b21,b81b818a7569b762f653584deba78bb0fca2a81d,24fcd05e8cbc84c6cc8281c4914bd560a36fcbdc,aa3f29eec8ef6cf9280699e260ee4f700e13588a,49cb7b256476409924c581145a760b863b9e755d,5c090fce2ce9a099ad52ea4aadf7abbefdeb67f3,3539b4a6f342a641418d0761942352c158128aae,53e7006d56d7e111ba6629d0296806cd02e91f5f,790a58be52aa745633f5c23464a774d774200fa6,78793878611786c74714f3ec66551cb9050b4077,0f8ecb73e73c3a5ed9ba6ce7fce91e7d40c611a5,6bead20fc34cbb19d66c74047a3c23dd9d6d378f,340499dd3a7b22bebf01644f857254d1dff2f814,54eb8de6581fa93531ac048f356261ef565d7a53,34445a912abc41bb8c95281e51388fd9ecb0f241,90e7b2be56ec428191cf6a68581840468b74a054,2626b85984b08a8e1a3d9da1ea07d72da43049d2,a08c937bebbe84aa66173b7484caf0246817ef34,01dbc63735030485dccf5960470de6aa12e6d28a,3bc6340424b6c43a67a1879a4648f1542ecf1d29,e6a3aa345000b3738ee681bbb516d6d1c0ac7e33,57aead9a1487bf0d0f60110780e5b73408bd23d8,e81b062e2d295ad64a692dde3cf6649282049d3e,be56b641d708f31fb418f5d2f6133e3d97613f88,c7880e7bd12117dda3958a7792e31e6145ae69ef,f87a66f1e69891839a5e039a0b36084d21423761,bcb7c069fbf2f13ab209b17384b854b3d9f6e2c2,621699acca8f4f7683795ff8757c247fac6bc57a,c9b407508aee0ac699f5cb6b4a73638776572eb2,36fe4cf43d2945a7123f77bb602af6c4d94dbe97,01d97bea00960c131451ec6f58ee7593a36ab0e6,16c18e845f04fca60341937bcb9117a40784053e,8591f1218c9990918424536446c8751a0edbadae,b2861bacddec80d8fb1a7f84eb30848a4668574f,7d41f5eb92f5d837bd51a6434367122d7e329f67,2ae98a7363e1bef7c369eac8846d622a703b9d26,5a5abe2419afd2f124f821f76c9229f9a7de1a9f,8802c7d489d067ec1ba67b497fa29571701263d9,9063c3c0ed0bd09880b9e6689934b5bf070c85c7,e7f6da4cb09fcfa957cad8bf160a8a22d05ddac5,8a7743b566bffc2bc27033cb208fee09a9a7223b,3121ee136700feef1f966195c5913f4ed8ba4e0e,e3c5d016e0c1f139711edbec8123d9e6b830a5e3,6f7c1b5b4e67c8ab7e59321c457ac6d2fdc55069,10b201c50699cba4a8a2a553f77bf5531dd6516c,e4600f5e3843028ea8c08772860d931a7f57dcd0,818b6e698305326f1d4e5d3b2538a1504d05a7bb,bbb564437d88a8843f1769ce773c79c6ae0ed3c3,e754937ad3a5b4dc97336d476db90141c64c71cb,2ab16a5a8f0374692494351da9bb6b3d54d995fe,50f76a2ffb54c6825f5c1e81816e4e0ae4e77363,56fe6cadc8a6ff57658a3c6cb3dae4b6c83c54c5,23fa8c80b6a1c0892be85eac8e0e73b758621855,8606f13b243891ad0a468fc4d70b6d655f491120,fc7ed302e7c804143223502510288ffe4697d03e,b641687da22a1d868cf4ed0ac05f4c1514e2c9af,272db1b872f59e6a8b5a1f0a2106a77e01dbb318,c6e054dbb94b811cb91bea2f6c75d5ba672bf74c,121e793c37ad31d488da53a7c1ae67e81414362a,e569863a1a8efcd537e440e92ef16da80cebbe22,ee4d77b119cefa866eba5786f34fda261f37bac7,ced7e40c43b3b40ce4bfe37e28b4a8c78d82c041,a0df7c27afd1247988ec3aa3755d0e47b62e03d8,efc4ab792820526df0f7c448323ed09622f5394c,a6d4374f1078ec113f57fa4bbf74f47418bb0c4d,c293d0b7299101e93228925ad239f2472c316c02,4ba064d8942f2fbba8b447951c1ba0bf163572ec,6597f02ebce8d1db39cf44bd6a1a6763532561f9,d25d094d579adceea87cbe96bf0fd64a111eded6,83f383e0041161d8193e392b2c200cfb0d120eb2,3d5a100f7969531e54198bb3721de2f00738d3a8,87a3bfe99d2504740152fd6cd662c35239429c58,4b179ce4fa92d06dc0a4bc44efa58e3665834e3d,4b9e1ab30a5921fa7daa7dc991e044f59cf48313,24972d986167814ccd7d02a4b7da3798463296e5,eeae32669e88af0ae699b0a9bf41551cd9f7759f,605740fd0ad213bc577e3439a6e65c0d478e14d3,791328ccb551ce8c79956271d535eaf6beb9c569,026781b9a36d1afbdf06c0213bf87d8d8e03dbd6,7f30a8765152d85371074c1648cf22a844d612f9,881ca2c52f58c11d44de6ef4f8feb8bee18cb258,a1bdf11d993f03f0d2c4d0f3955b5d9435ee1e38,649438efa63c3534d61cfdcb8481ba41729c85ad,82c52ed12780f83701c05e26d8144a357e3c6131,268a148d3a6e3722781532ba093e539f72453261,bc798695fe74403d2d3e1f5b38ebad4e46c24211,aa296af787968ba25e586b6af2f22f63a842768b,c605da6ab31e678a9f8e23da7b89b4420ade58d8,118e093c974d3b3407976d602a93192f668e815c,3e14d47b92df79b31acba350d748a465b2cd9989,bd606c6b77d18fed794725aa5f8365dede23e882,35f2fb1e8d77df3b8e894b6ab5481aae51106c92,ae93f8de918b71ad9ceda00f1e05b7554aed4cb7,73895d3cbca2ccc3a93516495837a002e6bb7f41,d6c3c74b468f443deb81d9782c781eeb00a1c63a,b5b7cd54eb4acf37cd3d4108df73f8a54986e96e,ab5c5a7e9a20520ae472b30df8b321571317d705,787454d5b2e8c6f8e7c909fcd1a423ed33404977,ca0323d4ca7519d49c9b8c5fcc39feb6b6bdacac,1606d4e28d1809086629c44f4a6cc190417ed9f3,b00454bb0ec8aaf70496b3f441de0547f7f71cf0,1853d1ddd8916104f4087533ba3a861f55fac9fc,ad61db2ff592ee455738b159dc415970e76adca1,569b35dfc4add6006eeb47c7b03815eac6797ad9,7266981c6c55c521ac70f06dc2c287fbba16725c,eb046b07d07fec12b144ebe3fa00b586c6c169b6,7887f4670039897c66ca0f3d904714121e25b98c,0be3fe9ab4b9ccc01ed2bb88b679123bdff2f340,e695edff98f7092adc79ff2a21795941b1593b52,f30a41359d8be3766d6617dcd9363f04da73fd23,f83223c8b2b44437e4b0f1ed5b5eb89268219420,b88b8efbcec52425337044a8ea652d1d738cb6de,541bd66a6ce4d57737709ce9076adb389d172a8e,880eb3658ae80f73662773ca45ad51806a6b9832,4f4beb6225f8c4e907ad0068dc7e35dc1306406b,52f0ec579ed810035db0886b266fecb1934038d2,da8ccd64efd0c6763e414939bb2420c2fe66c660,16c4e0300cf3dd04411b72bb0547e8f80ad72575,b2f31c4112e69e75e29c29f4472a2730547c6004,c342a5f47373ab522ed67ba1f4e95f9a208dc83f,7d6158d5f49b19dc80558318e974d70a6c7b9d32,5583781f4720cd90c579993352fd528649498163,a387accf810bc6c32d07cfe2e9fd7a131cf8e5d0,3c4a1087f33a319b48b99ab6256c48e33f7eda25,2c72b62a0e153f1888e19c988631d0275b0f34f7,d9a67bb16d321cb6ccdae1d1f3132afa8c0d3bbc,ac0c187b56accbcc5f8a72ed9bcabf1fe340f100,946fc370e93ae5e7245ddad0171d006248bc9366,f5dbd38b7eea68cdcc714330eba4e7fb28c95f5b,88a42c3ee0c2c0c53acdb99e2972ab24ecc9faac,507e9eb20aa8129472e348398258bded6c5eb4ba,f4f6a16796a4b3fbbecfcbe9f77d62f6ecc9e54a,1c1dbaf77645efb1c0e6599d0cc3b6d354646f5f,409de5ac96692fea0314aefe5a9c880ab8983599,7747e1f6c8b51cb9c7d04e3a581663d25e1e99bf,e1d56a99445063bfeb640a3c6e0c41688076b65e,c453bac7adfca20397628a8e981c9e92281bfa04,cf79ca16b49445df2332539777dd879f6aad5b36,50986967f52041db50ec176d31342fcb3df7b305,5845bb90951932e8a6863acc0bdda42d3342e434,0b3238bcd37b605701e958099ddf6cd7e4772cbd,69ce966691078a4b344d6691798916b52476ec46,dc4689ba1bf6dbdd5d6cbdb2e5bccaa849b3346e,b361b41a86c1385540e4f85d43263ec4d0716ce9,1e89579766d31975cd605c3f551e58ae6f512c23,12d7d271d6648061fd0c5ced3769578047b0f024,1b2d29ea1a6c28a8828c2dd4acf81054f177db42,7a228bccfc85f23b97ef2d38620463364e24993c,5771245d74a7115ec8a8744c6c91506d40904285,b440f57739efb5d68f18adaf6d71bf0aa126a8b7,4208fc79c702c8c571a8824a7d606774cadf98b8,e6a68b28b6de64dbbf0cf9eb8f859891308f9fb3,880d0333b0b5804ed0e58b71c29447402ae3bad4,408e388af3e48f51925fa2502a3b21a23478418e,9ee13f2937e57b63c014a3764d96606e8218eb1e,167c7bc5656cb7012290bb4d2e683e9f554dab27,2eae62a6e89673af2a083e3f7500c91393ee3f1b,a4121d2201bd3bee71d7425f75f8ae29dc3cf92e,ef796906e9faba606b8a6280c1dc97a88846c71d,cd93050d7e071642ccfce2410d5b8a12161937d4,bbeb98aeefa8d22dad0bcd1ee62c09b91ff205a4,27be091c443b47d9d8a57f21c508fbd678d887f4,f48282d7b34e2d9d276c9e6c2e5ad81dd7a88509,d03963afe9ecd26a7b1cd149ad0ce9a07490aab9,c4a77a832ffda91ba094b260656a19a826df9806,ec206cf4905cdee0764333d3c5ba7fa3adacf095,eaf9a9f1b986c1d2ccbb84972f1ffb3303bfff84,baa81d5275a9cf1137339738fdfe8becf2af779a,5eb5fdabadb5d025613443b09f4b5cafab1cdf9d,c49ac16a195a306d0a60c289658150c4ac24561b,dd1565c667e5bbb60975ea887c7380297286a151,93d38629aa446397d36112cfe853cf00d013e854,952f4bae17dc5a12142ddb7ba7009aee1d7bc604,d83004dee1cc329b640e68e075240354eaef97ad,5fe4ab49bc3c0d58d48ca793677a2ce72c8f85f4,3c08ad4af5be43950c86eeefca448cea9f1c0dae,9a983632f93361100fdb50361f86337760cfacfe,ff4744e0ed1c64879a672e58849875b6189f895a,3724e00169d4780e538a585eb91712512819c35e,995309c20901f2c0e92ebb1ac967c73b00902445,cd9ed54d35fc4573b4adafde00979b15473749e5,81471859075f0835a88bf09bc3d49df5b6fe6c7e,0104edce45a3671d32109db527a2064514336485,f86a9bd5c026c7a10a165a8225bcf83e17c47b25,40cbda6e7e30dc29ddd7bbeeb9f50325c42a8cdb,9a1083c98eef9645ea5c5313496deb321c73ca1f,bb2e2f83e9087ecbd5f5f652c877e694e00660ae,543b341203f415a4886c1452015ca4c70d4556da,ada576e559748a528e2f663345cb20f2c517fbd5,6ab2cd3ce994399872036947cc4c0543818874c8,dfdc4a4d78d0584a1a9d2a69681a52581be4eea5,39c3d5d035a49280859339b4814a27cfc50ec97f,4933d739388bd958c3e3ad2bc6d11f44b7bb0738,a2a85dc7af9390d1fddd43880a544492f9849cdb,d87a6c89d46d8eabad17c67f4d0f8c987f78e3a0,00d8d53c4e4804eb3722f114eda489e94b4e0495,baf9681684c1aabddc3b06c7d994e3f9a9b2acb1,3071ae231ae0bfcd22494ff07164e2f8b821e6ad,f3401c3f5393ec512d2ec14b8f70e453bd7c9b3b,b35c1182441e95912f2930684a419421c8da9e65,dc16426790e06df8a08c9af64d6bfe6df5d51c63,30c8930c30c68ccad17d87f364718b0f94ea843d,1061965ea597e8ae4c7fb6ce04f88887a62d247e,baee5b9fd4b1217b7facb2f7814eb5df55671ecc,e3b6d70f93e2f7831897296d218f32247f13adc7,b679f8bc06f52a3e00d282582703beaf0acb0b98,3fddae4a40d3ed8e2cba9e5256715b14d9a97040,4b2a924ea038f4304e05a4ecd3ed2dff703e44dd,aac37e31795e3dffabe1cb3745e99d6b75d79f8f,49395f2b00b01e65331ba4ce11749df8291cb26f,749688b3b0938d0c59b31d58adf5e64ec276c179,b8db469c48dbce4cd9128ab2843435839145d623,6a9376cb9e3802c9e7efb8f09bcde88829e3942e,7f3ed9e85c45f126b1aea6e69481ce973e8bdf7e,c527437594d7cba7bf028ae69ba0e2058ffeff8f,55002d19056049236f7c61d984657b54b778325c,2de0bcb8d0fc180b1e1b85769ef55b58b5f50b06,79d739baa60261b18826b202799b82d71fa1f294,02b7cc0e56f8a597df74b821f5413d00a3dd7f3e,09accffd2878899c633c8a65155789a84c68b703,962b36a6e843c3d2d7d0e42cd7d9b03cf8db8b44,3121f3f8a08ff1fbca9d2d3c7416faf3d7cc1523,07677f421412915db1e5453d8b483d2fc8306e42,1d48cd7eba33c5059cf840c42073c3a0b624ead9,59c88f4c7927cfbe4b9e4515bc6a2ddf08dfabaf,6b47a03cc97643fdbdf30dad9fb20e7e21ea6d91,033a2ae2e77427bfeb6d20b76c2e762490b446c3,4084da63abcbfcab5ffe1fa83bb2b50f445ad6ef,cd72a8910e3d0430bcca3d02b783b366cd0a78e0,93365f7e38e8c2fb63dda8e50a570b654560191a,9681378d37b4c5653f586785dce888ea03f74ab2,e3f4bad1646c9b16fdd672707c0145fdaa356d38,60e77de115c2ad9fd823ba9684f1b991f8ac3b39,7163a893e9ea8e98731da28347a61854965deb74,dbf6527508b6de8799239fa025fe74221b91d829,f7bfa0e426c6dd8d5ea9adb7fd042d5e33634b16,170c05592b56e987c2d72c660f066c349ccc85e8,82ac4299540a0cec37c545787ebf0dc4c1fe303b,fbcd90f2860903ed0bd7fcac0fe51f7202156a14,3c57eb42f91348c5f066f70d7f7700b843dfbeda,db137d0528f1228abdf90068aac290359cb4009c,020ca55e257c3b3f354211dbeb9f992730578d99,88ffc9e22822e13511a7de1eff2d6723505f51fa,19fe377455f4ef904b4f71034fc714f51bab1b1c,a8b4c0772c18bc98b934815aedb0256fad88f1d3,637c34571e50d78cc1c9368f0ee44128f06a2bc3,74625648cfd30f1244ca56410a0d5a5a87982c83,4c330f2799c68105aeacaeb442365ad6f8da8da6,1fecb46c52c98e1d55ec875987770738237ee1ae,a9316b1953b31f452d32f6d6fb4a52ea81a05104,01246e4d30d7933b6e08b1ce2bcad9121352304c,5f42443db3ff3a04b64361597c650fee9849cba6,1ffef6ed41fb47c1e7dac5a0fc2120c3ce96e303,f65e4f23853f38d6e39221e9d70abb9867c07052,4867d48e99731b11af3d405c621d1f2e945ba95e,03fc5d23235c1b6b7184b9278aae7ebc4546c2c1,04a077707c334705b9ca639642a2db03b6b154a8,42f447257dee02eae4fa1aa194f0bfd387004858,9648463eb544afcb9f6d65c17682ee05a4cc6c1f,7595dd3624f048163ca3b575333d0e0b86d14c92,79f6ee538dc8d81f876c7f32baaf594f5fc9d1cb,7bbd33bcd6fd57b01619449c2f5c9fdf217c2e02,3db060e47afd90db26f7b5cd8ae1584438169a23,fadf43a33b4bf3c5cd4d73f086d8de0c9c02aa6c,6aa49038a5b9a2316e609b3bccee9bc6acca4e2b,47c21fd1bc4700da1e233cc1c8ede88773105057,feb79e0068b27c9c22358fcf6ce84282e9390b3b,981ec64666491aacab8ec00d0f631ac371f31812,c4fc5fc916c4eca14831a70d75dda09df96778e8,5605566e427158a4300941f4279b41000985fcdd,8ae28b48463fab579e6194b76c238c5d7779e0ba,71ba76532b7bfd39f9f861cbb8f87ff949796ee8,5eda6e027d305b1708b7f938745ee454a1e58342,11b0b9dc57556caca09bf46bba722979ded5fcc5,ca6fe96360edd68e1a9822a614c507fbf9681aee,5c564ea940001ecad02db8b2dd9320ffa42a93b4,1d1e070ad2fbf3c5b2cfbd41b307d59fc67e40c1,f3e03f048376a63ec50862c54579104b7685480e,b514e979bdf7fd53556ba1d58dd5915bb1308f53,e3b93b07c6a6968cbc0b7c8b1d22353faff60614,2e441609bebd024a9cb9d0eb2c3d6885f4f0b092,05d6e20accbf8ea92b1d17949a5d41d583887c6d,3e06242fd8302a9098a30cfe457357ee3a1927c0,b32573d1ebb4c7a33708efe3a6e275bf2fdbd4a1,2044868c10fa1a330c98b21af704abf5a6631816,d06dd2b0ea1487fd0cc91c5d489c843a2152a375,bac4ca19e7298e0395e7d3d7e7fc370fce1fe769,698d432ccea80b6740fc9b7980c19d973b03ab0a,de03a1b894799e2f9133cbbad05c3f6f46af1423,2055ef4e886888a361bc6fbdd90980a174d29d84,62495c964abcfcc8f12038bd90db3f66a60c15c0,529b64790bb5637ccedb0d10926f9827c905c007,277a3be9b06258b5b439b4ad363d98786985e8d1,97f159e4b2c861df559966142a50682130e8a1f2,560d597c85da4521779cb2dde6d5ea344aaab412,122251f71d6bc2395be342a4f5b1df4353852991,b45aee980f15f4df903989529bd8c178ca1647ed,83b5047931866e5ea58811596b64a633dbed9480,5b27fa93753a42dccf78082c99c580952f87d728,8fa3c57c1bb005d27664e66544a4005758f43dfe,ff3b4adc2773934710b014df680d96897948118d,506634f261efed31de36b3766393d1386fe2bdd4,3f0853692c9397088fee4217a5d8466e3e24f6b4,178687531909624efa0328c8a2cd7ec87f5499e6,d575aa5240840b008186da794007e06097cd3850,2d5c1d43cff48050beccc906049cfb7ebac83c6c,4d5479741d6a7165b1592abe890330207dc4795a,064adbf3f8aa7e1f7f1f85b31d2eeb8988a481ac,18c6e13f45298162520fe8d20f3397b1037c35dc,4cc5cf4d0edcd8b18562af0d41b89b027b1bee74,4cb97dcdb34f5912ff29019b5c9b5ffc20b90db6,f3e667da42bc0994dc51aa92de55a70ca819ef09,24315a7f28237e3dacaa2e5352220fc15f260764,5e0dcfb49b7a970ce61b26ec468b662904218236,4443e83b75b36946e8a35fd0dfebbb93c396c1fb,93ae6261ccaef7c84096785c28d5f2569c1ec60e,3ce07ef6fa90d13b7e6c965bfc489226575b548d,a81715d6ea0651bad3436d09effcd4471e8f2abb,d9317e5df522c6ff359c8650e7a2d542d306dd96,7cd044eae742f33e905dc01ced9a8cb1e31f0adb,ae465fa8dc85ea69180527c3fc1e03b25ecab082,e53620ebdb89140ee851e89d2f3fbdf9ca49a162,6f7481fd24bce9fb1d2481b5f7be3cbe11e0ce5e,1351746a46807cecd8064e873c41c615f9af6ec9,8aa9ac99a6a2796e77a5157aa45b327699eecd83,a5caf91f74d7eb8e4863d155887ae09f60e13c34,881eb0fab5bea2ca1cc283d2aa76d75a1904458e,5298e25c8420f43587d174c6d549f688f514a04a,f8dbb09a46c4b48d6ed0db3656aa6474a1ef2ada,27a2a042799566a069ae6d4772ff77405491e794,2c527cfc01eb10f254fab67623eda3d8180b8fd4,d44cae14f597ddd55b803ca1f8591e816a655de8,4f82fade82a92bb32768602a1098388bebb3b2dc,ac6dc582bed106bcdc44b5ebc16adfd17a6c67ba,f80f1112d4faa565ac5a1266875bb9f22056f980,d7581aa1eefbbe22851baf8e9f8db92e4f99d085,28c4c58b345a72e85026f83d1e49b86a9ab18183,e4bd58d66abe436e1d660baeafcdea25c42c2c54,b4eabbe5ceef3ec4542f3654d7a8ee601200dc5a,d7a486f225448fbaec7e31208a5ce66de71d8a62,462c201ce6a4229e562a351da130491d53eddfc9,c98e160c197b9cc53c41ab131ee8bf5a80164e5b,546de9f7e74d80800d8c0641ab5865965c9bf87a,0bf0f26dd57a32756012e677279f53c7ce81a850,2ba04dbd137012def9d723e90cec51dae6788bee,e073d5f7f79db76d758b96927c9287868a14227d,26855a29c8d0a726653f455704fd2917e89876e2,ddc2259e5eb53d48375865a4ff2a442472a2c042,ed8a05d6979982855e04383141350e0e2068d711,43721f21c4f5da7f8b16745cc9ffbc49df070838,bc0d2293a1a89f2a352fafdb0924a30ede104322,8a48d1bbbcc9a5084d93333460fcddcb7871f69e,2575cbc439e7e7a047ef0eec5c5843988b3cdd0d,629c87efc8c8ca951d624c5ae392348a2a93e6a1,53bf5dc6efa13c3b73e6645f4da47544898f1b0c,060a7185ab508b377b3d989768531e47e5187a71,eae74aaee07f8dc1ce1e2317bcfad967701ab218,63e8633262df27bbf20f1c164f2a5a8f5a9e9360,3ed5a4a022db3e68b6c84c0f749dfd9971c70f79,a71cc7158570729c256fc7573b7d556ceada1843,c96ef4902bf78e208033b9226f2475bc97caef82,fe62b3ace8c237d8bd1800beb5969e5cb540723f,57f6ed804ea377783098a2ba25646fcc81c370db,ac3425a14d1cf2fd82482cf0d1118b6d4ce39bef,1ee9a39fe2dbd16979b0ae54c6f5ae79f56af8b5,421d67556aae3632415b8d1d585a63be325ae0bb,d9903e6e16852a5f4a21e4cd73fe1db2f71c65c1,e406cbd9c8143219c368fe15a1b80b1338f16c5f,a736a4bba7c7151ad58edb776c51eca69e787cdd,ae927b06896c08a1df957e44e18e4a1da2bfc01b,7a29d8f54d45907913381878f0ee1d06bb1000bb,1e0f6f9f6465cf23899c470dd6d27aac003cdf55,81464433366a9557971399113c5a772f6639f650,852aee489c39868fad7af9061eef8c2bdfe72c07,11200cfaf63413b745a7186718c42e90d9fc98df,1dbde8a79d846dad16169366a06a12dad949917c,ea102d792f2d757d78cb32c884fada058050b317,5e05630713d4bd9fb63ed493dcea80aa83027135,462d0eb07c1be2cad06675bad91e4acfece448e2,ccb1985953b0dc1af1ce31a48a12245e2f99fcf4,af482fde235da37ceec7c58bba42fdfa8c3d4be6,79ed0db6247eed326ea5193a073de03bc826f0c6,906571fa253d0571d779475a69ec3709d9e42f76,a512273976991cad7ad139a3c3ae49097704eb75,728fb7c58c0851de7ce64e7208d16081cb96ef45,a75e453c3081f6ba4318bca58806a1be48c924d7,bf57750436afbfbfb6d0ce08245b5bea0242af21,42c9eb4096ebaa8bd165e8cbdf55277939f418b8,6ac14de9864d08c047b77aadde576778d3803349,64e7dcbc8129b40cc0e1b18122248e7eac4ffe8f,bccc0b195e3727c26db7b18e340896cea6ba82d9,5c890b59e3d68fa8aaa90f826e3cc2fd105d5c94,4e8b1cb97ace5bdfce5bc6db5d7b340456d0494d,91946b78d52af2f88709756ddd130f3b9a2ae851,9cc30829faae560f603a19065591176650a0babe,b8bf295cd18560aade6743aec14d308b1f09b096,3cf7890352fe2febc337c886d51ceb8129f3a92b,a2939e4187f2bb18e00270d44d2977dfc86650b9,3447512e2941ed5504b3308e407a30011262bc90,37c3e86c7fb4ae0c78f63a70310b06b7ce0e39c3,e7f9626592d82d098c554806cdc5466535cb4d8d,7c5847bc70613f8a06bb4249e020bd259fef8c13,37ed03667fab8f0a6c2c4fd97b8bb879b6d787cf,2dcb15f88f6a7dbda19922411b12800bb7d27464,587af1c78eaac3dd94bea5850f1a6397728f9057,21cc89f1e337f55ddb48cae69c819de70f526e85,81d98f5ae246a64c8ca7ee47aeba1552f13c97d3,26a2ae92adc88bef97bfb9c05adf8ae53f470bbf,b367d7c905b476245094bb06bac226b4024e0bbf,f4b9d51aff032689bd9525366201b188b235f0b9,ab65c9889b567e6083596f60fedf5c4246d9e308,91284ba543ef8cb265d1a80cb005f7afa63e0498,472f9be9a6ad0046b97b8d1b1ec9a59c5cf4f926,13f58fe3432a0605a046d37b1b1a32d4dcd79737,0ae014a98f254bbbdc2387d45ea061c553cd74e3,fb821b8c9b45626ac54b26b7a87a5bf176bc6b73,cad21584e5f2383d2f66318d9ef0bd3dfc783ac9,f2d739b93af80dcba155ca836196e626369fb0be,1966ce7c1c94595bf4c7e9c8db6c3c34098a8f17,9da276b352d8d942d6967b8c4867d149b9ac944d,6a28ac53da5123900e10c8c157f8daad01479f53,f9b98092c4c709e605d4d5100cc1a14fff785253,f77b9fa4efffc8983eb392f7ced90b47451cd30b,4769ed948ac11a609bda4c3d489f3b15c1adbace,2c9870f85ab1d9f90f06563d94bf15e32f7b7b55,1bba83cebbc3a6584a2727cc0d4320bd8ea774af,5ea60b97b1551ff26cf0876caff335c988c3fbce,b804fc5164ecb8c5640da684456c248905dca9b5,c21a0f065463d346c9f8e1e982d280da644d6425,0e5da37533baf174b7451e64a1f6ef7b3e982761,ecc16278f087d7266fa3eed85ae6ad24d727f7e6,179fc5848b01d230a25349d614bfc5487f740284,4736cc2360d401731a9fa615b3020a60e2f35c77,dba69917a9664913f85bf54386c1a59aa32c09cb,1ab46c909af6280b56ef3888a4b3e39754b756c7,05f0ceeb26fd3a32c375af1f536525859ef53d5d,4103b3d180a332f4e7905aa72b48fb23103e3ae4,64141c8bddfbb818fe0083220649ff794a9a4639,2b7df4237b210644c13fdd56932dfdee62474cab,bcf320a76ea108831342ce607126ce8c57bebf9d,1dbcba47967b4e3b23476c9289018707f12a1325,325d29307f1ad7b476de9f1578bd73f471abd427,a15dfba97115ccde1cda3ad516a2bb64cbee3fa4,bf2a3566fa7e4c9ff400c9ded3cd83a61e4b6e3a,a907eb49c9c2961818bf610105c87c45cdec67cc,1f2203c304dce7d446d067a138a59f50dd0e3d97,59c77a48b5d4533ab71b5baddfa203186f39b0c2,0fb4fca957e02129140e8303f85a75f8f2b87572,9db42f5e67f25cab39013bd51b0967df70fa108f,cc552c081501670addab1f8c70fdad49a42b0571,821f3e326fb00a4c75ff000852a5152b7dab918d,76687a04e526f0e93ecd3acb819225080254f54d,2e6c3b060d2bc9d5eb14741b0f1f486a323cbff3,f41025f5dd7d1b7fb4367f0aceac021a7a1f8478,b2bc020fd7044c950fc707a16206aec2ec40033c,22de07446dc3b14f4dab989709912a20e7cc7110,a7fe49f38fd3378f24f326b91c90b460d98a4150,f4e955d04fb051456624d46e27a7f4648ab8840e,755d22123009817a35066fc465a6db94d6f7b8f1,4c434ceb08fcfb00a2429559de39de58db0729c4,5086cf7e7236e2abd8d613e4871916f6c60cd28a,594d4cc4f9cfd6c535c20be43f8ccd570a4d23b2,e35403c3b8364f7efdc40ce0af00eefec0226e24,948766a37ad62ce222986c1ea3f474c39f4d41b7,f88622a799cceca94f910ea70d606d10e91c53f5,4378319f874b31534ca92f3828aadecb463f7bb2,e1297e085928a274220a6d5d6da7d8e4f7a2dee2,81b7b80749ce3f65fe899655de51362367b76f67,77c86cafd08020fed213b65882ea4fd3ed411650,e4a0ce2fb5ad8b60b74d98cc92763302517516c1,11b341cc97b521fce9a74405eed2718cbc226e00,ee1916e919ac94a84e35549a8448f61beaeec513,2a46596eddd34d29d8d283a781c9e3f23e08c425,c79361c010621b76e379dfdd9a697f640aa70f85,c3b8b51cb5907c92fbd303d42e6c81e0f86afe91,316e127948efac638f6aa77b282ceb1b5c454372,c52794f94396901717f439233f6d3facc6c44e61,36b511f0572408c1976d1a7ad89dbaa3e76039e7,06fc6f1e6bba325a60098343a3c950f225d0f495,4100f750569162909dbcfae5d3be786ef2d10cb5,99851f22f543106be3cdda8bde9aa54d62ade4c0,b7322ae4c399b69dc11cf82aa76b96944cffde82,dd858f37aaae04757051ef92f915503935d1c779,1fccfd3ee1e48878337a4bf30351b4ae43b927c4,20f9b82543a0414c51c6cf1d57591ecb7d0bc67e,12176d36839702ab84473655e663bf641f3c8d24,ac150e58c81540661ec65cc9dad7926362806b15,9056ab80257b71fb8bcdf90be2f71e2fbbf912b9,7c609ee7c400fc257842d9b0742a8066070d2271,c68ddc5360cf4e1c7a543cfba9e469f21a434ec3,afea558fbe80b4b5688c38b85a622329df4b91eb,8971103a00e24b1f15333afa0e37c5db5415152b,564597a573d450d22cdf649e58e1e0cdcbaa0117,fb3c4ff75be75c367f4f4d505563475ef7accdb5,15398549a4db924a196c5b1405ab532a0e1f67f4,fea8050457728571c56dec8a1b651c0f45ea80ab,2641f65bb7cdd494eb8459daf45bc4f5b1e1e965,f0cc07fe68989577370032c06d9ab21c49158779,0efd3afb8c5e338a7d8c569fe834ed0a1acbd2f7,56d84c92833e87124fb24fe9f04a7a31a511997b,8132ccd42bdc21fd45a37e0e31742238b8085889,c87213085f5d1206bc0497aac77dea261d3be571,13e7f947ea8e1a03774318542f30a626b2795856,a8d496ade781502600a6bf75d509a202a8bd38a5,240739e71dc7f5b47073725d5981bcf757b8bed6,a90691435bbca123be9a9ce39c76bbccb7e70fcc,bf1c674672a48c159fb936e3d20593b7a8c1b734,e88248d453bbaf80cc0e48440d397edb74dadca5,7c3ab69c5076e762120051d4717b9ada1f945b4f,3b8fcfc6ebcc03cb56958b7286f3bf5e7fa4c8d0,b00e9543a72263cd8542b4d138c850f08f78499f,e7716dc05f4099a6488d4e8b25c6e89685b67896,8cdb3deebd6ca62a0fc5a543f62656202c8ca30e,8511b0fc7b82a9fc2919c9e8ba2c84f61190e225,f56587bddd2c7b983e9ead0a55dd74b4f8fef43a,9ee1821622f500efa9268ad130aeee8b08eecd3d,bba4edb6d0b921d0a36fb08f3809f8085d589578,1ba93085f73c8635dfa403a5b98f558dd4247a4f,88ab9576b159dc778ac34423683e9ed432e90dbb,139f2dfe84cf07d03e461e50097a426cd88a0797,2e65a5d458f7fc677442414dfee4058a39dd9b72,80750f7591998694e5849184ed63c17b6ea0bbdc,fd68d3bfbbf3ff8dd6f34287d18435578715883e,550397b98218b7b6b8e1def5bea34175c483c971,eaf24269bc7a77efbdbd0eb0458dcebb77e25dd3,0e9efd07efacd7d4184d5271f6450946e746dfee,7a1ef994b4579a63d4b5cfd9228da6a5ce543d1e,e76c5d96d8446fbbd6c338bc38dea54a95b0f12f,b0d61558e38f7e9ceb3918dbbaab13bc49496320,13fc4075f5a3ab3129f41f8812f0a7448bb2d4f6,1222456c13c21eaa8074279ce737b7e4992160fa,5c46b5116d5e75e4ef12a7ac325a331ace605b0b,0aa851b7f77dc9a0c4cbe808f6af11b4f8fbd56a,b3c1f294ba4b69f2d3bee53730c86af204e456b9,2e9556f2eb28769f913c9b8edb19f58938fa9abd,48eeaf00a4f9beb8313ebbf396f402aec9ef9ca5,f29ff58ab97e2dc4ab553f9d683a63fcb5d81c01,a4240a0c62243e757f56e3f13f19d7257ddf9333,e601156b8c379fce44d8c92e956b73d40806fcd6,e130557d9fce5ae426c040a72786012bfce407a1,2f9ed0576ec93815ae07a0571c3e3ee799b5dd8e,e412f6be55f9ba2b45c020a240ed467cce5ac28f,902c93f3c3c213fd0600db49371e64e1f214766b,9409ec634186e7453346e17e55d4f3c4c657295a,c3a3cfe80fa1cff78441a38392700f034a70a3ac,2e86cdb6209f56939ae97f8d0e9516e4b81abcf6,17b7782929e4288a4dd67f644500347ec12ef6d5,2d1fba1fa15eda788f6d133aaca8804d4d28ab3d,61397d40ae0c43083844e850d87c60ba74b34d28,7f03fb696693a06f919965fffd2ad169cb60ee17,51f5726343727453333843f8c3093e34bbbad678,ab66440e76ad5133aeedc48923df2b84285c6b51,fc6d6c123d5b76c26f8b0d6b984111ac7017d71b,1de3aba4e3ad86ed2dc533a0042aa696c0805293,5a9d4d44faf1c8042d112e87bf3c60812d025cb7,7b0578dc173f3eb5029ed3dfef964dab2c6a83bf,346962beaaa5e896c155680f220a57a2eee2e6fc,f6a0da71fcd83a32037b6129fbd1f923804f58dc,b6da7a799a116154240ff0f11d94397fabaabc09,6cc391dfa13640cb6297e84de772cc06343beb01,b828529b24e149ed4129cbbf89b34d95f068b8de,edc1c79cbb2925e9f0d1b929d8da01348eeedc35,e60a7d01a45353fe263b3b5fc55e8904fdb00d69,a478a33c3262087cc9fe277372760244f1e558d7,1e9e533e6c27e8665aba11cdf6542798295025a7,e7145f5f7c677cc55f3e9208d08640db49a75e0b,312cf246adc4dcfa1a9aef3968e203660f94df40,3302dae600c38211c87ed5f2f3ec05755cda05aa,a888a141a2bdb99afdb4a0e9e83fc69613c796d6,02704f85a925475c71663e5db5ddf1700c00ceef,a04d2b59f643d3fd329129fc373835a8261694a3,70d2f81e5eceec3ac7ecfd0c188bb1a8adca6284,04631040b8a4eff865e06031d0b83e7b464c1480,bfe5733624f4e7c0a929ed684628b88908d6f72b,485b31de21583caf6165581588015e130425d445,9b1861a1049aa0a646bbb2edbaa6280711bc31ab,5e00358f13ebdb36f70332431b8cbff7f6b04c0b commit 70ae0a2dc99eb1fa4a11452e8aa1b5e133389e21 Author: svenbarth Date: Fri Aug 31 19:16:48 2018 +0000 + add a comment to the destructor of tsymtable so that others (and maybe me a well) will hopefully see that the destructor of that class is not completely trivial! git-svn-id: trunk@39694 - M compiler/symbase.pas --- commit 800ce234991a53d652a31090a6bad7b2f40a7856 Author: florian Date: Wed Sep 12 20:33:18 2018 +0000 * fixed some issues to get correct values of section_count, works better than before but it is still not perfect for unknown reasons git-svn-id: trunk@39750 - M compiler/aasmdata.pas M compiler/cclasses.pas M compiler/cresstr.pas M compiler/nbas.pas M compiler/ncgbas.pas --- commit 64ad48e89ef7d164e9517d02ec9eb5a124bfd826 Author: florian Date: Thu Sep 13 20:20:40 2018 +0000 * forgotten part of r39750 git-svn-id: trunk@39752 - M compiler/x86_64/cgcpu.pas M compiler/x86_64/cpupi.pas --- commit a21397e356b523a0c3e5faf45014f104fd64b96e Author: florian Date: Sun Sep 16 13:09:36 2018 +0000 + based on a patch by Laksen, optimize (v>=x) and (v<=y) into (v-x)<(y-x) git-svn-id: trunk@39759 - M compiler/nadd.pas --- commit 49e7e5f5129a71a6ef81d712e0a04c650ce6533c Author: florian Date: Sun Sep 16 15:27:03 2018 +0000 * support aitconst_*bit_unaligned in the intel assembler writer, resolves #34222 git-svn-id: trunk@39761 - M compiler/x86/agx86int.pas --- commit 7855b3cf1b46021b2463fcf6987f9229c91d77e3 Author: florian Date: Sun Sep 16 19:15:30 2018 +0000 * relax formula for max. nodes to inline git-svn-id: trunk@39763 - M compiler/ncal.pas --- commit b4a7d6a82eea9ad71bec75571d7c051cdd68b141 Author: Károly Balogh Date: Thu Sep 27 07:04:04 2018 +0000 cleanup: remove ARMHF-related comments from RISC-V only codepath. no functional change. git-svn-id: trunk@39827 - M compiler/options.pas --- commit d5f0d8e30624ea69c18c50a4e200e39552bd1092 Author: svenbarth Date: Thu Sep 27 19:44:35 2018 +0000 * addendum for Mantis #34333: also complain about number of arguments with the maximum number of arguments for Copy ( = 3 ) is exceeded git-svn-id: trunk@39836 - M compiler/ninl.pas --- commit 352fb866ef19c845756840859c91088f9ed32740 Author: florian Date: Thu Sep 27 20:24:52 2018 +0000 * is_range_test returns false if "lower" bound is greater than "upper" bound git-svn-id: trunk@39837 - M .gitattributes M compiler/nadd.pas A tests/tbs/tb0652.pp --- commit c7a0022146dcba901802ed22e1b1e76652e20883 Author: florian Date: Fri Oct 5 20:56:56 2018 +0000 * fix building with LLVM=1, thanks to Karl-Michael Schindler for the hint git-svn-id: trunk@39861 - M compiler/llvm/llvmbase.pas --- commit 8943c0584edc3089df819481e646371ebeae03f7 Author: florian Date: Sun Oct 7 10:10:19 2018 +0000 + patch by J. Gareth Moreton to support BMI2 instructions + extended avx test generator with the newly added BMI2 instructions git-svn-id: trunk@39875 - M compiler/i386/i386att.inc M compiler/i386/i386atts.inc M compiler/i386/i386int.inc M compiler/i386/i386nop.inc M compiler/i386/i386op.inc M compiler/i386/i386prop.inc M compiler/i386/i386tab.inc M compiler/i8086/i8086att.inc M compiler/i8086/i8086atts.inc M compiler/i8086/i8086int.inc M compiler/i8086/i8086nop.inc M compiler/i8086/i8086op.inc M compiler/i8086/i8086prop.inc M compiler/i8086/i8086tab.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc M compiler/x86_64/x8664att.inc M compiler/x86_64/x8664int.inc M compiler/x86_64/x8664nop.inc M compiler/x86_64/x8664op.inc M compiler/x86_64/x8664pro.inc M compiler/x86_64/x8664tab.inc M tests/utils/avx/avxopcodes.pas --- commit 4860f3934a5b7ee9242a4b90717807f55730f8fa Author: yury Date: Fri Oct 12 14:38:14 2018 +0000 * Fixed overflow error when calling align() with corner case values such as align($7FFFFFFC, 4) for the longint variant. git-svn-id: trunk@39915 - M compiler/cutils.pas --- commit 68bcffc3e0c358a7dc84ff3a9dfe3f12ddd9f132 Author: pierre Date: Sat Oct 13 09:47:29 2018 +0000 Fix riscv64 compiler compilation with -dEXTDEBUG git-svn-id: trunk@39922 - M compiler/riscv64/hlcgcpu.pas --- commit aa89182bf5f55404265650497f976f741d7506df Author: pierre Date: Sat Oct 13 11:34:53 2018 +0000 Fix compilation with -dEXTDEBUG git-svn-id: trunk@39923 - M compiler/riscv/cgrv.pas M compiler/riscv64/hlcgcpu.pas --- commit 4c0a213f0d07ebf3ed1d8309fb4848bc445bd28d Author: pierre Date: Tue Oct 16 10:41:27 2018 +0000 Add -Tlinux and -Tembedded help lines for riscv32 and riscv64 compilers git-svn-id: trunk@39945 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 84b5129f1dc443351e7b914686bf70e9b81b99f6 Author: yury Date: Tue Oct 16 17:24:07 2018 +0000 * Fixed writing of method's RTTI for aarch64 by explicitly writing the $self parameter first. git-svn-id: trunk@39947 - M compiler/ncgrtti.pas --- commit c306f57ecbcd6098f8442cdb38c3a1e8ea2e13eb Author: yury Date: Wed Oct 17 08:52:57 2018 +0000 * Reverted r39947. According to Sven, the $self parameters is not required to be first parameter in RTTI. Appropriate tests will be fixed. git-svn-id: trunk@39952 - M compiler/ncgrtti.pas --- commit e60a5ebfe76d8935112337011c7919c134388f49 Author: yury Date: Wed Oct 17 13:18:45 2018 +0000 * Fixed overflow error for the qword version of align() when i=0. git-svn-id: trunk@39954 - M compiler/cutils.pas --- commit 692c287c3e3d006e54eb72fab484b00a2ad3a6f2 Author: yury Date: Wed Oct 17 18:46:04 2018 +0000 * Undef FPC_HAS_TYPE_EXTENDED for x86_64-android. git-svn-id: trunk@39961 - M compiler/options.pas --- commit 7eb9b23fa5224f9ae4f9db985f8f163a7753bd63 Author: yury Date: Wed Oct 17 18:56:29 2018 +0000 * Reverted r39961. git-svn-id: trunk@39962 - M compiler/options.pas --- commit 116f36fe56bb53c4ead4752335f07411e678aeb8 Author: florian Date: Sat Oct 20 10:17:34 2018 +0000 * avoid range check errors git-svn-id: trunk@39990 - M compiler/nadd.pas M compiler/powerpc/rappcgas.pas --- commit 9febce6ffbe18b5cc3a630bcdb5da3d690fb3dad Author: florian Date: Sun Oct 21 11:40:57 2018 +0000 * remove .NOTPARALLEL: from compiler Makefile, accelerates make fullcycle with -j a lot * few cleanups git-svn-id: trunk@40003 - M compiler/Makefile M compiler/Makefile.fpc --- commit af7dfbc970145b96fb3b1da40d80eee77dc6211f Author: florian Date: Sun Oct 21 12:14:26 2018 +0000 * typo git-svn-id: trunk@40004 - M compiler/Makefile M compiler/Makefile.fpc --- commit 6521918269eb70102aba2c4c5dcf03645b53a766 Author: florian Date: Sun Oct 21 13:16:57 2018 +0000 * fullinstall builds (and installs) utils now only once git-svn-id: trunk@40005 - M compiler/Makefile M compiler/Makefile.fpc --- commit 02e03cbd860dbbc9b32385d2a1132d3f6ee6c4d7 Author: florian Date: Sun Oct 21 13:35:44 2018 +0000 * use the built compiler to install files, so the version is set correctly git-svn-id: trunk@40006 - M compiler/Makefile M compiler/Makefile.fpc --- commit 88589fb99d4b12450a982445d52c9590a5893a31 Author: florian Date: Sun Oct 21 14:52:21 2018 +0000 * make install shall not make assumptions about FPC, if one was provided git-svn-id: trunk@40007 - M compiler/Makefile M compiler/Makefile.fpc --- commit f27fee55662aef795e91eb821cf76e7ee6c4c6cc Author: florian Date: Mon Oct 22 21:23:48 2018 +0000 + make use of the BFI instruction in tcgaarch64.a_load_ref_reg_unaligned git-svn-id: trunk@40015 - M compiler/aarch64/cgcpu.pas --- commit 379c2fe821cbbba289662d2db0acdafde41d29b8 Author: florian Date: Mon Oct 22 21:27:36 2018 +0000 * cleanup debug code git-svn-id: trunk@40016 - M compiler/aarch64/cgcpu.pas --- commit 0a5e6d29cb32b42dd488fd5b0c9f377e138f5d63 Author: florian Date: Tue Oct 23 20:41:27 2018 +0000 + implement assembler optimization Str/LdrAdd/Sub2Str/Ldr Postindex done git-svn-id: trunk@40017 - M compiler/aarch64/aoptcpu.pas M compiler/aarch64/cpubase.pas --- commit a47f153daed4b95925d299168baf916a65573f73 Author: Florian Klämpfl Date: Tue Oct 23 22:35:34 2018 +0200 * avoid to create a stack frame on aarch64 if possible M compiler/aarch64/cgcpu.pas M compiler/armgen/aoptarm.pas M compiler/globtype.pas M compiler/psub.pas M compiler/utils/ppuutils/ppudump.pp --- commit 112fb4613b0e0f014f12bc29da7ed2dcbe99a1d1 Author: florian Date: Wed Oct 24 17:38:51 2018 +0000 * take care of the fact that x and w registers overlap when carrying out the Str/LdrAdd/Sub2Str/Ldr Postindex optimization git-svn-id: trunk@40023 - M compiler/aarch64/aoptcpu.pas --- commit 2b459b30d20db31236b4fe1695865faa9f2976fe Author: yury Date: Sat Oct 27 11:32:22 2018 +0000 * Optimized generic implementations of tcg.a_op_const_ref() and tcg.a_op_reg_ref() for PIC and CPUs which need 2 or more instructions to load a symbol's value by reference. First the symbol's address is taken and then it is used to load the value and also store the result. It eliminates extra calculation of the symbol's address needed to store the result. x86 and other CPUs which can handle refs ops directly or more efficiently already have overloaded versions of these methods and are not affected by this change. git-svn-id: trunk@40050 - M compiler/cgobj.pas --- commit bf4eda478d267055cabd7621ffb48ad59be4553b Author: yury Date: Sat Oct 27 18:13:33 2018 +0000 * SetExecutionWeight(): Set execution weight also for nodes with special handling. Minor code cleanup/improvements. * Restore previous execution weight before exiting secondpass(). * It all improves register allocation for variables inside loops in some cases. git-svn-id: trunk@40059 - M compiler/optutils.pas M compiler/pass_2.pas --- commit 18a45d94a36cd61afd82e4313142190af31a74cb Author: florian Date: Sun Oct 28 16:21:06 2018 +0000 * version update git-svn-id: trunk@40068 - M compiler/ppcppc.lpi --- commit 011968e74b105e7fba13f10d1bf0c35931feff0b Author: Jonas Maebe Date: Thu Nov 1 20:39:41 2018 +0000 * replaced "is" test with faster field value test git-svn-id: trunk@40156 - M compiler/ncal.pas --- commit cdce68451adb2285d3333a059f6003e1b32d55d7 Author: florian Date: Thu Nov 1 20:49:15 2018 +0000 - x86 align does not use a register anymore, code removed git-svn-id: trunk@40157 - M compiler/x86/aasmcpu.pas --- commit 64e8557180e68379b17d2d1a32b584c57893ffbf Author: florian Date: Thu Nov 1 20:49:15 2018 +0000 + introduce tai_align_abstract.create_max which limits the maximal number of bytes being inserted for alignment git-svn-id: trunk@40158 - M compiler/aasmtai.pas --- commit a092da723abb7caca19994e66e60288060bf0c79 Author: florian Date: Thu Nov 1 20:49:17 2018 +0000 + new fields for more precise control of alignment + support of new alignment control values for GNU AS writer + support of new alignment control values for binary writer * better alignment settings on i386-win32 * improved inserted align directives for if nodes git-svn-id: trunk@40159 - M compiler/aasmtai.pas M compiler/aggas.pas M compiler/assemble.pas M compiler/globals.pas M compiler/ncgflw.pas M compiler/options.pas M compiler/scanner.pas M compiler/systems.pas M compiler/systems/i_aix.pas M compiler/systems/i_amiga.pas M compiler/systems/i_android.pas M compiler/systems/i_aros.pas M compiler/systems/i_atari.pas M compiler/systems/i_beos.pas M compiler/systems/i_bsd.pas M compiler/systems/i_embed.pas M compiler/systems/i_emx.pas M compiler/systems/i_gba.pas M compiler/systems/i_go32v2.pas M compiler/systems/i_haiku.pas M compiler/systems/i_jvm.pas M compiler/systems/i_linux.pas M compiler/systems/i_macos.pas M compiler/systems/i_morph.pas M compiler/systems/i_msdos.pas M compiler/systems/i_nativent.pas M compiler/systems/i_nds.pas M compiler/systems/i_nwl.pas M compiler/systems/i_nwm.pas M compiler/systems/i_os2.pas M compiler/systems/i_palmos.pas M compiler/systems/i_sunos.pas M compiler/systems/i_symbian.pas M compiler/systems/i_watcom.pas M compiler/systems/i_wdosx.pas M compiler/systems/i_wii.pas M compiler/systems/i_win.pas M compiler/systems/i_win16.pas --- commit 2a016889de1ba62b9791ff68ac039843a4ab899b Author: florian Date: Thu Nov 1 20:49:18 2018 +0000 * skip align directives after unconditional jumps git-svn-id: trunk@40160 - M compiler/aoptobj.pas M compiler/i386/aoptcpu.pas --- commit 59d5d6ec9536d2e2181d1407448835c5b64614fe Author: florian Date: Thu Nov 1 20:49:20 2018 +0000 + factored out TX86AsmOptimizer.PrePeepholeOptIMUL, used now by x86-64 and i386 * generalized and simplified the code git-svn-id: trunk@40162 - M compiler/aoptutils.pas M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 2a9ce2ed6cc1cbdb8623cccfbf19e4981fa793d5 Author: pierre Date: Thu Nov 1 23:04:18 2018 +0000 Disable three operand overload of MatchOpType for avr and jvm targets, which only have 2 operands max git-svn-id: trunk@40170 - M compiler/aoptutils.pas --- commit fa2d82f8795c06a3964e462d5ba55ad16df5e06e Author: yury Date: Fri Nov 2 16:55:33 2018 +0000 * Removed 'inline' from public methods of TFPObjectList and TFPHashObjectList since they use private fields and can not be inlined when called from other units. git-svn-id: trunk@40181 - M compiler/cclasses.pas --- commit 2dc64e5fae911dbf7cd67233c39eb6b919aeedad Author: yury Date: Fri Nov 2 18:21:26 2018 +0000 * Reverted r40181 because the "not inlined" notes are issued not due to access to private fields, but due to string conversion. It need to be fixed by overloaded versions of some methods. git-svn-id: trunk@40182 - M compiler/cclasses.pas --- commit 4357caaad882705021c49bab78882f65fe52a612 Author: yury Date: Fri Nov 2 18:44:29 2018 +0000 * Removed unused local vars. git-svn-id: trunk@40183 - M compiler/aarch64/aasmcpu.pas M compiler/aarch64/aoptcpu.pas M compiler/aarch64/cgcpu.pas M compiler/aarch64/ncpucnv.pas M compiler/aarch64/ncpuinl.pas M compiler/aarch64/racpugas.pas M compiler/aasmcnst.pas M compiler/i386/aoptcpu.pas M compiler/nadd.pas M compiler/ncgrtti.pas M compiler/ninl.pas M compiler/ogbase.pas M compiler/options.pas M compiler/pdecsub.pas M compiler/psub.pas M compiler/rgobj.pas M compiler/symdef.pas M compiler/x86/aasmcpu.pas M compiler/x86/agx86int.pas M compiler/x86/aoptx86.pas M compiler/x86/nx86inl.pas M compiler/x86/nx86mat.pas M compiler/x86/nx86set.pas M compiler/x86_64/cpupara.pas --- commit a0262525085fe0ea885f8571d336a366c4c750cc Author: yury Date: Fri Nov 2 18:47:34 2018 +0000 * Commented out unused "size" local var. git-svn-id: trunk@40184 - M compiler/x86_64/cpupara.pas --- commit 30d64cec68371f819a3460aba3d9776770d08977 Author: yury Date: Fri Nov 2 18:51:19 2018 +0000 * Removed unused local vars. git-svn-id: trunk@40185 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas --- commit 9b0ff05ee812e389651a5f0be280ca7837af3dc7 Author: florian Date: Fri Nov 2 21:32:29 2018 +0000 - get rid of MaxOps, it is redundant with max_operands * MatchOpType with three operands is only available of max_operands>2 git-svn-id: trunk@40190 - M compiler/aarch64/aoptcpub.pas M compiler/aoptobj.pas M compiler/aoptutils.pas M compiler/arm/aoptcpub.pas M compiler/avr/aoptcpub.pas M compiler/i386/aoptcpub.pas M compiler/i8086/aoptcpub.pas M compiler/jvm/aoptcpub.pas M compiler/m68k/aoptcpub.pas M compiler/mips/aoptcpub.pas M compiler/powerpc/aoptcpub.pas M compiler/powerpc64/aoptcpub.pas M compiler/riscv32/aoptcpub.pas M compiler/riscv64/aoptcpub.pas M compiler/sparcgen/aoptcpub.pas M compiler/x86_64/aoptcpub.pas --- commit 0e546d47ca72794e9d3edfd3f15435fc09d9cfa4 Author: pierre Date: Fri Nov 2 23:18:54 2018 +0000 Fix 3 operand version of MatchOpType git-svn-id: trunk@40196 - M compiler/aoptutils.pas --- commit 0a3c94bc72b244d10cc16c59d2656d31dd58e34e Author: yury Date: Sun Nov 4 19:50:09 2018 +0000 * Moved inline methods to the beginning in order to allow them to be actually inlined in this unit. git-svn-id: trunk@40219 - M compiler/ncgrtti.pas --- commit c9a7503bbb0728fcde9decb9201bd6a519ce2587 Author: yury Date: Mon Nov 5 13:59:59 2018 +0000 * Rearranged the code to place implementation of inline methods before their usage within this unit. git-svn-id: trunk@40220 - M compiler/cclasses.pas --- commit 8fba43609d2e6a3a8fc65690f06ffda024d36752 Author: yury Date: Mon Nov 5 14:00:51 2018 +0000 + Added overloaded version of stringdup() for ansistring to allow stringdup to be inlined. git-svn-id: trunk@40221 - M compiler/cutils.pas --- commit 95d18cd0525963be91fd1e6fc43864c7cde6cab9 Author: yury Date: Mon Nov 5 14:18:27 2018 +0000 * If a function can't be inline (contains an assembler block, etc) remove the po_inline flag from its procoptions. git-svn-id: trunk@40223 - M compiler/psub.pas --- commit c2c942374d35ac90b5af802a805082f596a19275 Author: yury Date: Mon Nov 5 14:33:39 2018 +0000 * Removed inline for methods which are too big. git-svn-id: trunk@40224 - M compiler/symdef.pas --- commit a7642b70c14ce826822d39f691b70adfce0a03ac Author: yury Date: Mon Nov 5 14:35:23 2018 +0000 * Removed inline for functions which access private variables and can't be inlined from outside. git-svn-id: trunk@40225 - M compiler/machoutils.pas --- commit f5ce7c572b7488e7b53763d88cef4a8e9451b891 Author: yury Date: Mon Nov 5 14:37:01 2018 +0000 * Removed inline for Unix2AmigaPath since it is not necessary and can't be inlined anyway due to ansistring conversion. git-svn-id: trunk@40226 - M compiler/cfileutl.pas --- commit 5f1933eecf874f23c756a3544621c0d26ad7737e Author: yury Date: Mon Nov 5 14:46:09 2018 +0000 * Addition to r40225: Forgot to remove inline in the implementation. git-svn-id: trunk@40227 - M compiler/machoutils.pas --- commit b11588693015a51d2cb70f4be4cca08cd3e4ffc5 Author: yury Date: Tue Nov 6 10:21:06 2018 +0000 * po_inline can't be removed from procoptions when the interface part is already parsed. It changes the interface's CRC and causes other units to recompile. git-svn-id: trunk@40238 - M compiler/psub.pas --- commit dd6039716512f6679aacf46e24a5313673a3eaef Author: yury Date: Wed Nov 7 12:20:30 2018 +0000 + Added the pio_inline_not_possible flag to timplprocoption. It is set if a function can't be inline (contains an assembler block, etc). When calling such functions, no note "Call to subroutine "?" marked as inline is not inlined" is emitted. git-svn-id: trunk@40254 - M compiler/ncal.pas M compiler/psub.pas M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp --- commit 5c5dc2ed500be380ad85a1eac08c08536f9d1b4a Author: yury Date: Wed Nov 7 12:57:23 2018 +0000 * Changed verbosity of ""???" not yet supported inside inline procedure/function" to note to be consistent with note "Call to subroutine "?" marked as inline is not inlined". git-svn-id: trunk@40255 - M compiler/msg/errorct.msg M compiler/msg/errord.msg M compiler/msg/errorda.msg M compiler/msg/errordu.msg M compiler/msg/errore.msg M compiler/msg/errores.msg M compiler/msg/errorf.msg M compiler/msg/errorfi.msg M compiler/msg/errorhe.msg M compiler/msg/errorheu.msg M compiler/msg/errorid.msg M compiler/msg/erroriu.msg M compiler/msg/errorn.msg M compiler/msg/errorpl.msg M compiler/msg/errorpli.msg M compiler/msg/errorpt.msg M compiler/msg/errorptu.msg M compiler/msg/errorr.msg M compiler/msg/errorru.msg M compiler/msg/errorues.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/psub.pas --- commit 9f16c34329410b03b01ae0f66c67e2f90c07b864 Author: florian Date: Wed Nov 7 22:02:58 2018 +0000 + initial work for tls-based threadvar support on arm-linux git-svn-id: trunk@40267 - M .gitattributes M compiler/aasmtai.pas M compiler/aggas.pas M compiler/arm/aoptcpu.pas M compiler/arm/cgcpu.pas M compiler/arm/cpunode.pas M compiler/arm/cpupi.pas A compiler/arm/narmld.pas M compiler/cgbase.pas M compiler/cgobj.pas M compiler/globtype.pas M compiler/ncgld.pas M compiler/nld.pas M compiler/procinfo.pas M compiler/psub.pas M compiler/systems/i_linux.pas M compiler/utils/ppuutils/ppudump.pp M rtl/arm/arm.inc --- commit c37c485eb78f7e827cf5b66578935fe32080de5e Author: florian Date: Wed Nov 7 22:03:00 2018 +0000 + check if initialization/finalization code uses implicitly thread vars git-svn-id: trunk@40269 - M compiler/psub.pas --- commit 0d50a63c7de23aea457bbbf9a979dd64870e5a4e Author: florian Date: Wed Nov 7 22:03:01 2018 +0000 + tsettings.tlsmodel git-svn-id: trunk@40271 - M compiler/globals.pas M compiler/globtype.pas M compiler/options.pas M compiler/scanner.pas --- commit 063415fa72d9b7e83e5f7fe814845eff10f94374 Author: florian Date: Wed Nov 7 22:03:02 2018 +0000 + i386-linux support for tls-based threadvars git-svn-id: trunk@40272 - M compiler/cgbase.pas M compiler/x86/agx86att.pas M compiler/x86/cgx86.pas M compiler/x86/nx86ld.pas M rtl/linux/i386/si_prc.inc M rtl/linux/system.pp --- commit 4d2d26c3183165ae27d2ced87d124f9d7bcc5f2c Author: florian Date: Wed Nov 7 22:03:04 2018 +0000 * define renamed into tls_threadvars git-svn-id: trunk@40274 - M compiler/systems/i_bsd.pas M compiler/systems/i_linux.pas --- commit e157939b4102eb0b52d0b93e05ba2f1f2021edfd Author: florian Date: Thu Nov 8 18:45:16 2018 +0000 * compilation on x86-64 and i8086 fixed git-svn-id: trunk@40275 - M compiler/x86/agx86att.pas M compiler/x86/cgx86.pas M compiler/x86/nx86ld.pas --- commit a40335de34e27666392983943ce18b4c672c4003 Author: florian Date: Thu Nov 8 19:57:30 2018 +0000 * non-linux arm targets fixed git-svn-id: trunk@40276 - M compiler/psub.pas --- commit 72416edcc465a6f9a9fea43c4219566750fb8db8 Author: florian Date: Sun Nov 11 17:32:20 2018 +0000 + support for tlsm_general on i386-linux git-svn-id: trunk@40281 - M compiler/i386/aoptcpu.pas M compiler/i386/cpupi.pas M compiler/x86/aasmcpu.pas M compiler/x86/agx86att.pas M compiler/x86/nx86ld.pas M rtl/inc/system.inc M rtl/inc/threadh.inc M rtl/linux/i386/si_prc.inc M rtl/linux/system.pp M rtl/unix/cthreads.pp --- commit e8ebc00b3b863f7072014f469f0f1096225f34ad Author: florian Date: Sun Nov 11 17:32:21 2018 +0000 * redundant code removed, work is meanwhile done by aasmcpu.optimize_ref git-svn-id: trunk@40282 - M compiler/i386/aoptcpu.pas --- commit 6a6ea6729f4d4fd60791e504fd15e72b1342dfb5 Author: florian Date: Wed Nov 14 18:05:35 2018 +0000 * i8086 compiler fixed, resolves #34552 git-svn-id: trunk@40316 - M compiler/x86/cgx86.pas --- commit 7c92412c74ca66345a3f5284e07596c3a138f078 Author: pierre Date: Thu Nov 15 16:57:57 2018 +0000 Avoid overflow error in riscv code generator git-svn-id: trunk@40318 - M compiler/riscv/nrvadd.pas --- commit 095bd6da7d845178545634c74cb3ee4b7b31bc17 Author: florian Date: Thu Nov 15 20:07:56 2018 +0000 * do not re-used gottpoff symbols as they are PC-relative git-svn-id: trunk@40321 - M compiler/arm/aasmcpu.pas --- commit 11851d274c8c040067b6e61577f2b1d7cd7052b6 Author: pierre Date: Fri Nov 16 10:24:27 2018 +0000 Fix riscv32 compilation error introduced in last commit git-svn-id: trunk@40323 - M compiler/riscv/nrvadd.pas --- commit 23570bed33014b272064e963180c76184ed51d1c Author: pierre Date: Fri Nov 16 13:26:56 2018 +0000 Use same parameter type for update_reference_offset override git-svn-id: trunk@40325 - M compiler/llvm/nllvmmem.pas --- commit 08d6ca72604e14563234849c61ecb13f071fb5f6 Author: florian Date: Sat Nov 17 15:08:22 2018 +0000 * better alignment on 386-linux git-svn-id: trunk@40338 - M compiler/systems/i_linux.pas --- commit 6dbde11f5a46550784eb4d288b765c4339cf3c4c Author: florian Date: Sat Nov 17 15:08:22 2018 +0000 * three operand shl for shifting by 2, 4 or 8 can be simulated by lea git-svn-id: trunk@40337 - M compiler/x86/cgx86.pas --- commit ae8304f65776c3bbccbe89f6eb2981462ca96e52 Author: florian Date: Sat Nov 17 15:08:23 2018 +0000 * set nf_write flag properly for vec. nodes of types with implicit dereferencing git-svn-id: trunk@40339 - M compiler/nld.pas M compiler/nmem.pas --- commit cefb38b6054db7f9978ed12b95c4c6a13cfebe16 Author: florian Date: Sat Nov 17 15:08:24 2018 +0000 * better alignment of while loop heads git-svn-id: trunk@40340 - M compiler/ncgflw.pas --- commit d1361ca6edf25dd49e7184b4312b3ed050a575fd Author: Jonas Maebe Date: Sat Nov 17 22:38:31 2018 +0000 * fixed adjustments of lower/upper bounds in range test optimization in case of strictly smaller/greater comparisons (mantis #34385) git-svn-id: trunk@40344 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw34385.pp --- commit 3b9f5a5e96f6871b119fa5dd6b68d64ac6bed3cd Author: Jonas Maebe Date: Sat Nov 17 22:38:36 2018 +0000 * moved finalization of code generator temps to a node, so it can be getcopy'd (needed for LLVM, where we need two copies of the finally code: one in case an exception occurs, and one in case none is raised) o also first finalize parameters and only then code generator temps, since in theory the former could create more of the latter git-svn-id: trunk@40345 - M compiler/hlcgobj.pas M compiler/i386/n386flw.pas M compiler/nbas.pas M compiler/ncgbas.pas M compiler/node.pas M compiler/nutils.pas M compiler/pass_2.pas M compiler/psub.pas M compiler/x86_64/nx64flw.pas --- commit 9d56387e7fadbea2e45f49738abc2e376379004f Author: florian Date: Sun Nov 18 10:11:13 2018 +0000 + new spilling heuristics which takes care of the usage weigth of a register, not yet activated, can be selected by passing SPILLING_NEW when compiling the compiler git-svn-id: trunk@40346 - M compiler/rgobj.pas --- commit ea69a5b372db2e43190cc502392b965f76290de1 Author: Jonas Maebe Date: Sun Nov 18 11:07:28 2018 +0000 * finalizetemps nodes should never be considered equal and have side effects git-svn-id: trunk@40348 - M compiler/nbas.pas M compiler/nutils.pas --- commit ccb8e8656020dd8b550dffddf6d2807bc7b8a2d4 Author: florian Date: Sun Nov 18 14:16:20 2018 +0000 * fixes arm git-svn-id: trunk@40350 - M compiler/rgobj.pas --- commit b96a8aee616b2437cb5c5b8c8e2d5851a11f56f1 Author: Jonas Maebe Date: Tue Nov 20 19:25:06 2018 +0000 * don't generate tempsfinalize nodes in except filter procdefs, as that would finalize the parent's temps twice (fix for r40345, mantis #34574) git-svn-id: trunk@40357 - M compiler/psub.pas --- commit ac37a54d794ec134ac49fe81710ba0b45b774831 Author: florian Date: Tue Nov 20 22:20:43 2018 +0000 + MovOpMov2MovOp optimization git-svn-id: trunk@40359 - M compiler/x86/aoptx86.pas --- commit 477d7be6515dc3e5e3ab5e01f63828d62caecfab Author: florian Date: Wed Nov 21 19:19:24 2018 +0000 * building on i386-linux fixed git-svn-id: trunk@40360 - M compiler/x86/aoptx86.pas --- commit c43cae9231a40132bb9c3f446463152edcc472cc Author: florian Date: Wed Nov 21 21:22:54 2018 +0000 * disable MovOpMov2MovOp optimization on x86-64 for now as it seems to break git-svn-id: trunk@40361 - M compiler/x86/aoptx86.pas --- commit 20fea3607cce1b6c0284c7b4c3c75594589cea99 Author: Jonas Maebe Date: Mon Nov 26 22:30:05 2018 +0000 * pass volatility information to llvm.memcpy git-svn-id: trunk@40376 - M compiler/llvm/hlcgllvm.pas --- commit 413a3599c1c35857c5be27e9c61721aa072524c9 Author: Jonas Maebe Date: Wed Nov 28 19:23:22 2018 +0000 * thlcgobj.g_unreachable() dummy implementation + llvm override git-svn-id: trunk@40382 - M compiler/hlcgobj.pas M compiler/llvm/aasmllvm.pas M compiler/llvm/hlcgllvm.pas --- commit 97b40dc16daccea9a2ae62cff12366c3aa197c39 Author: Jonas Maebe Date: Wed Nov 28 19:23:25 2018 +0000 * fixed dynamic array constants for llvm git-svn-id: trunk@40383 - M compiler/aasmcnst.pas M compiler/llvm/nllvmtcon.pas M compiler/ngtcon.pas --- commit 026d06cffbaf1658379a61f657415acd3f43e2c8 Author: Jonas Maebe Date: Wed Nov 28 19:23:31 2018 +0000 - reverted r39188, as this hack removes the type correctness of the instructions, which breaks the llvm code generator. Put such hacks in CPU-specific overrides git-svn-id: trunk@40385 - M compiler/ncginl.pas --- commit 50ab607676f8a7eb9abd6e499dde5362d32bbdaf Author: Jonas Maebe Date: Thu Nov 29 20:57:08 2018 +0000 + customint torddef type to create arbitraty bit-width integers o use this to handle non-power-of-two-sized parameters for llvm o no general support in the parser/code generator, so don't expose git-svn-id: trunk@40398 - M compiler/defcmp.pas M compiler/defutil.pas M compiler/htypechk.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvmdef.pas M compiler/ncgrtti.pas M compiler/psystem.pas M compiler/symconst.pas M compiler/symdef.pas M compiler/utils/ppuutils/ppudump.pp --- commit 758a8dd34a5dd016c6cc4447d609ddb1d6541556 Author: Jonas Maebe Date: Thu Nov 29 23:21:15 2018 +0000 * fixed dwarf debug info after r40398 (mantis #34622) git-svn-id: trunk@40421 - M compiler/dbgdwarf.pas --- commit b60cbf33296d21e8d207e6949dbb39717d0b2f25 Author: marco Date: Fri Nov 30 11:21:50 2018 +0000 * systematically capitalize first word of errormsg/sentence, patch by J. Gareth Moreton, mantis 34618 git-svn-id: trunk@40422 - M compiler/msg/errore.msg --- commit 67fe756642367b1a224c6dbaa05026fe61096bc1 Author: pierre Date: Sat Dec 1 16:18:58 2018 +0000 Regenerate msgid and msgtxt include files after commit 40422 git-svn-id: trunk@40425 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 6629e72d795b94e237dea897f8526617d6c5160d Author: Károly Balogh Date: Sun Dec 2 18:54:04 2018 +0000 m68k: reinstate the inc/dec tempregister type hack again in an isolated way (it was removed in r40385, as it was breaking llvm target) git-svn-id: trunk@40453 - M compiler/m68k/n68kinl.pas M compiler/ncginl.pas --- commit eeadf618b8320fc653e66ff4b24b58017c10c607 Author: florian Date: Sun Dec 2 22:56:12 2018 +0000 + abi tag for i386 * arm abi tag moved into pascal file git-svn-id: trunk@40454 - M .gitattributes M compiler/raatt.pas A rtl/linux/arm/abitag.inc M rtl/linux/arm/cprt0.as M rtl/linux/arm/gprt0.as M rtl/linux/arm/prt0.as M rtl/linux/arm/ucprt0.as A rtl/linux/i386/abitag.inc M rtl/linux/system.pp --- commit 2109612fa3bbc7feffcae2c52a7661e65eed250a Author: Jonas Maebe Date: Tue Dec 4 19:53:13 2018 +0000 - disable cs_opt_use_load_modify_store because for llvm because it is apparently buggy as far as type information is concerned, and it also results in tons of spilling git-svn-id: trunk@40463 - M compiler/globtype.pas --- commit b7da7cd654a752872057bd48ac17628665750aa1 Author: Jonas Maebe Date: Tue Dec 4 19:53:16 2018 +0000 * ensure the generic version of tcgshlshrnode gets used for llvm git-svn-id: trunk@40464 - M compiler/llvm/nllvmmat.pas --- commit 122d0d36d61c25a5a879591b2923e1f904896de1 Author: Jonas Maebe Date: Tue Dec 4 19:53:20 2018 +0000 + volatile() expression that marks an expression as volatile * disable matching volatile references in the assembler optimisers, so they can't be removed (more conservative than needed, but better than removing too many) o the CSE optimiser will ignore them by default, because they're an unknown inline node for it * also removed no longer used fpc_in_move_x and fpc_in_fillchar_x inline node identifiers from rtl/inc/innr.inc, and placed fpc_in_unaligned_x at the right place git-svn-id: trunk@40465 - M compiler/aoptobj.pas M compiler/arm/aoptcpu.pas M compiler/avr/aoptcpu.pas M compiler/compinnr.pas M compiler/m68k/aoptcpu.pas M compiler/ncginl.pas M compiler/ninl.pas M compiler/nutils.pas M compiler/pexpr.pas M compiler/psystem.pas M compiler/x86/aoptx86.pas M rtl/inc/innr.inc --- commit 3b7efb5123d3f0de813c8963ddbd0c8e027af90e Author: Jonas Maebe Date: Sat Dec 8 15:31:48 2018 +0000 * only free the temp holding the function result after we've loaded it into the function return register (so we won't load from an already freed temp once we emit lifetime info for temps on LLVM) git-svn-id: trunk@40501 - M compiler/hlcgobj.pas M compiler/ncgutil.pas --- commit 51502874aff7417cdd9050b3d0e24af48aebe176 Author: Jonas Maebe Date: Sat Dec 8 15:31:51 2018 +0000 * emit temp lifetime information for llvm o also allow freeing temps in the middle of a routine for llvm (we won't reuse them, but it results in better lifetime information) git-svn-id: trunk@40502 - M compiler/llvm/tgllvm.pas M compiler/tgobj.pas --- commit 32a51d7b6247b9d0a65a031f49beb5f42c69cadd Author: Jonas Maebe Date: Sat Dec 8 15:31:54 2018 +0000 * add nocapture and dereferenceable/dereferenceable_or_null decorators to parameters for llvm where appropriate git-svn-id: trunk@40503 - M compiler/llvm/llvmdef.pas --- commit 97bc58d2488f10ba7ae2590a029d41d60bbc7245 Author: Jonas Maebe Date: Sun Dec 16 20:44:09 2018 +0000 * fixed bug that caused the "sret" argument attribute to never be used (and a guaranteed internalerror on AArch64/llvm) git-svn-id: trunk@40565 - M compiler/llvm/llvmdef.pas --- commit 6e453a1477d6525becb22e90764547e63601385d Author: Jonas Maebe Date: Sun Dec 16 20:44:12 2018 +0000 * fixed paraloc def when changing the size to OS_32 git-svn-id: trunk@40566 - M compiler/aarch64/cpupara.pas --- commit 6b58185bda1b6d467f423d50a326857c5712f2a0 Author: Jonas Maebe Date: Sun Dec 16 20:44:15 2018 +0000 * fixed shifval for big endian (bits instead of bytes) git-svn-id: trunk@40567 - M compiler/aarch64/cpupara.pas --- commit ff002e266434a261eb65df57b1b9e2241cd1ee0f Author: Jonas Maebe Date: Sun Dec 16 20:44:18 2018 +0000 * set paralocations correctly for LLVM/AArch (must be register-type instead of parameter-type based) git-svn-id: trunk@40568 - M compiler/aarch64/cpupara.pas --- commit 93e39fb0cd4f769d46de1db0c6ae9b7898b7bcd3 Author: Jonas Maebe Date: Sun Dec 16 20:44:21 2018 +0000 * only coerce the type of the leftover bytes of a record if the location size doesn't match the number of remaining bytes o prevents a second "single" field of a record getting interpreted as a "cardinal" git-svn-id: trunk@40569 - M compiler/llvm/llvmdef.pas --- commit 820d2f7135d7160dc85370c27758e2f1f6f3eee6 Author: Jonas Maebe Date: Sun Dec 16 20:44:24 2018 +0000 * support OS_32/OS_64 in AArch64 cgsize2subreg() for MM registers (can happen for records with floating point fields with the LLVM code generator) git-svn-id: trunk@40570 - M compiler/aarch64/cpubase.pas --- commit 95171a1e2281d494c706108394bc0e695dfc1461 Author: Jonas Maebe Date: Sun Dec 16 20:44:28 2018 +0000 * initialise cgpara with valid data for the C-style "array of const" para (necessary for the LLVM backend) git-svn-id: trunk@40571 - M compiler/aarch64/cpupara.pas --- commit e69b4d2d9a9e1aba83c40a2b92ecda28c4625b44 Author: Jonas Maebe Date: Sun Dec 16 20:44:31 2018 +0000 * replaced some stray cpointerdef.create() calls with cpointerdef.getreusable() git-svn-id: trunk@40572 - M compiler/llvm/hlcgllvm.pas --- commit ac8411f3cf29f0361ee963ef0d08d84ff85a723d Author: Jonas Maebe Date: Sun Dec 16 20:44:35 2018 +0000 * pass dynamic array parameters of cdecl routines by value on AArch64 (like on onther platforms) o it was passed by reference as a side effect of the fact arrays in C are pointers, but a dynamic array already is a pointer git-svn-id: trunk@40573 - M compiler/aarch64/cpupara.pas --- commit 8845f4d1ce390679902873a611f9cf0e04e5b185 Author: Jonas Maebe Date: Sun Dec 16 20:44:38 2018 +0000 * fixed type consistency in handler for array parameters on platforms where these have to be passed on the caller side (i.e., AArch64) git-svn-id: trunk@40574 - M compiler/ncal.pas --- commit 2330164ee2e700dd8e651d7018d2836bd722afed Author: Jonas Maebe Date: Sun Dec 16 20:44:41 2018 +0000 + internal sqrt support for LLVM (faster on all platforms, necessary on platforms that don't have RTL support for it, as the the generic fpc_sqrt_real just calls runerror) git-svn-id: trunk@40575 - M compiler/llvm/nllvminl.pas M rtl/inc/llvmintr.inc --- commit 7cc7268635512a76eb3f3473e6ddfc454ecc2294 Author: Jonas Maebe Date: Sun Dec 16 20:59:58 2018 +0000 * fixed dynamic array constants for non-Darwin LLVM platforms git-svn-id: trunk@40578 - M compiler/llvm/nllvmtcon.pas --- commit c6bb85eae998ed42c242a3d5d7e24c2bf3231460 Author: Jonas Maebe Date: Thu Dec 20 21:22:40 2018 +0000 * support for compiling the objects unit methods that expect local procedure/ function pointers using {$modeswitch nestedprocvars} functionality, activate this for LLVM and also activate that modeswitch for a test that uses this o also convert the IDE units to use this functionality o requires extra typecasts because implicit type conversions from procvar(p: psometype) to procvar(p: pointer) are not supported; on the plus side, even those type conversions are checked for validity o note: requires {$modeswitch nestedprocvars} in all programs/units that rely on this functionality git-svn-id: trunk@40598 - M compiler/browcol.pas M packages/fv/src/app.pas M packages/fv/src/platform.inc M packages/fv/src/tabs.pas M packages/fv/src/views.pas M packages/ide/fpcodcmp.pas M packages/ide/fpcodtmp.pas M packages/ide/fpcompil.pas M packages/ide/fpdebug.pas M packages/ide/fphelp.pas M packages/ide/fpide.pas M packages/ide/fpini.pas M packages/ide/fpmfile.inc M packages/ide/fpmsrch.inc M packages/ide/fpmwnd.inc M packages/ide/fpswitch.pas M packages/ide/fpsymbol.pas M packages/ide/fptools.pas M packages/ide/fpviews.pas M packages/ide/globdir.inc M packages/ide/wcedit.pas M packages/ide/weditor.pas M packages/ide/whelp.pas M packages/ide/whtmlhlp.pas M packages/ide/whtmlscn.pas M packages/ide/wini.pas M packages/ide/wnghelp.pas M packages/ide/wresourc.pas M packages/ide/wutils.pas M packages/ide/wwinhelp.pas M packages/rtl-extra/src/inc/objects.pp M tests/tbs/tb0268.pp --- commit 3b4011760a1dde45618b9b48529c5827d4eb8849 Author: Jonas Maebe Date: Thu Dec 20 21:22:44 2018 +0000 * cleaned up blockaddress instruction (add type rather than hardcoding it in the assembler writer) * fixed taking the address of a label in a typed const for llvm (fixes tbs/tb0468a) git-svn-id: trunk@40599 - M compiler/llvm/aasmllvm.pas M compiler/llvm/agllvm.pas M compiler/llvm/nllvmld.pas M compiler/llvm/nllvmtcon.pas --- commit c55ffa8cc7574d94b38c7b5f7e7d41cb467e4578 Author: Jonas Maebe Date: Fri Dec 21 20:57:12 2018 +0000 * fixed <> comparisons with NaNs (use LLVM "unordered" comparison: succeed if either operand is a NaN) git-svn-id: trunk@40602 - M compiler/llvm/nllvmadd.pas --- commit 1cc995b471f0e708abb9113064877d9a01a1d477 Author: Jonas Maebe Date: Fri Dec 21 20:57:16 2018 +0000 * use ccallnode.createintern() instead of ccallcnode.createinternfromunit('SYSTEM') git-svn-id: trunk@40603 - M compiler/llvm/nllvminl.pas --- commit 4f72edcdd59d7976e26aace0e6c0a393b6c4186c Author: Jonas Maebe Date: Fri Dec 21 20:57:19 2018 +0000 + LLVM support for the FMA intrinsics git-svn-id: trunk@40604 - M compiler/llvm/nllvminl.pas M rtl/inc/llvmintr.inc --- commit f87304f5caf5f9e3afb96d339d12f90fe5dd9772 Author: Jonas Maebe Date: Fri Dec 21 20:57:22 2018 +0000 * fixed LLVM code generator not taking into account constalignmin/max settings for typed constants git-svn-id: trunk@40605 - M compiler/aasmcnst.pas M compiler/llvm/nllvmtcon.pas --- commit b1b559f2838fdbedfd399789c2a34405d0e74f91 Author: Jonas Maebe Date: Mon Dec 24 22:09:45 2018 +0000 * fixed used resulttype of char-to-shortstring typeconversion in case the shortstring type is smaler than 255 chars git-svn-id: trunk@40628 - M compiler/ncgcnv.pas --- commit dd290884306f9746c1a60a6b85f137d58bcfc759 Author: Jonas Maebe Date: Mon Dec 24 22:09:48 2018 +0000 * simplify all type conversions for formal constants even for LLVM and JVM (since these happen at compile time and don't result in generated code, they never need extra type conversions in the code) git-svn-id: trunk@40629 - M compiler/llvm/nllvmcnv.pas M compiler/ncnv.pas --- commit eb769e3859d33f1c93f4870d97be243718de50f5 Author: Jonas Maebe Date: Mon Dec 24 22:09:55 2018 +0000 * force pointer-based self parameters of inlined routines in temps for LLVM to ensure that their type gets updated git-svn-id: trunk@40631 - M compiler/llvm/nllvmcal.pas M compiler/ncal.pas --- commit f3d831b480dabc787b9126e3929c7fcb387a309b Author: Jonas Maebe Date: Mon Dec 24 22:09:58 2018 +0000 * fixed result cgsize of LLVM's second_nothing type conversion node (new size instead of original size, which can be different in case of going from void to something else) git-svn-id: trunk@40632 - M compiler/llvm/nllvmcnv.pas --- commit c9a7afe053a4feca5188dfaa57d2e42075eb48b9 Author: Jonas Maebe Date: Mon Dec 24 22:10:09 2018 +0000 * in constructors, free the temp holding self only after loading the function result, as self is the function result there (follow up to 40501) git-svn-id: trunk@40635 - M compiler/ncgutil.pas --- commit 70cadc76948864526b147e46052605cc7a69377b Author: Jonas Maebe Date: Mon Dec 24 22:21:40 2018 +0000 * fixed string constant length when going from utf-8 to single-byte code page (mantis #33666, patch by engkin) git-svn-id: trunk@40637 - M .gitattributes M compiler/ncon.pas A tests/webtbs/tw33666.pp --- commit f7549785407c1ac00df6addbf3c7346ef877debf Author: Jonas Maebe Date: Tue Dec 25 15:36:24 2018 +0000 * handle constructor function results that have been migrated to the parentfpstruct the same as regular function results (see r32687) git-svn-id: trunk@40641 - M compiler/hlcgobj.pas M compiler/jvm/symcpu.pas M compiler/nflw.pas M compiler/ngenutil.pas M compiler/symdef.pas --- commit b840db72284ec707b22636aff5d36d84ad95a228 Author: Jonas Maebe Date: Tue Dec 25 15:36:28 2018 +0000 * addition to r40631: also force inline self parameters that are already in a temp into a new temp for LLVM, so their type gets updated git-svn-id: trunk@40642 - M compiler/ncal.pas --- commit 7f5c2fa3aae4273980635a703db4fc4c8fa828c4 Author: florian Date: Thu Dec 27 18:31:55 2018 +0000 * (modified) patch by Gareth Moreton: Speed improvement in case blocks, resolves #0034762 This patch improves the compiler where "case" statements are concerned, using jump tables more often and creating more efficient machine code in some situations: * If a case block only contains one branch (not including the else block), the initial range check is removed, since this becomes wasted effort. * If the else block is empty, the else label is set to the end label - though this doesn't decrease the code size, it takes a bit of strain off the peephole optimizer. * On -O2 and above, some node analysis is now done on the branch labels. Most of the time this just redirects it to the end label for empty blocks, but if the block contains a goto statement, it will redirect it to its destination instead, thus increasing performance by not having multiple jumps (this won't get picked up by the peephole optimiser if the label addresses are in a jump table). * Some checks now use what I call the 'true count' rather than the 'label count'. The true count includes each individual value in a range - for example, 0..2 counts as 3. This increases the chance that a jump table will be utilised in situations where it is more efficient than a linear list. * For jump tables, if the case block almost covers the entire range (32 entries or fewer from full coverage), the initial range check is removed and the gaps included in the jump table (pointing to the else label). git-svn-id: trunk@40676 - M .gitattributes M compiler/ncgset.pas M compiler/nset.pas M compiler/x86/nx86set.pas M compiler/x86_64/nx64set.pas A tests/bench/bcase.pp --- commit a7c347fe567eead26455fa6be3c579a227673362 Author: florian Date: Thu Dec 27 20:54:14 2018 +0000 * pass used tls model to the assembler git-svn-id: trunk@40677 - M compiler/arm/agarmgas.pas --- commit ce81e509075e2a186a2d9d854d1bddb891cea6f9 Author: florian Date: Thu Dec 27 22:07:30 2018 +0000 * better code alignment for x86_64-win64 and x86_64-linux git-svn-id: trunk@40679 - M compiler/systems/i_linux.pas M compiler/systems/i_win.pas --- commit 9c03c298567dabc027818e995fef06682e91a226 Author: florian Date: Thu Dec 27 23:14:38 2018 +0000 * not all targets support the tls-model switch, use it only if section thread vars are used git-svn-id: trunk@40680 - M compiler/arm/agarmgas.pas --- commit 9a797b9f494d723f8b8b2286fc5db0338f63d98e Author: Jonas Maebe Date: Fri Dec 28 12:06:46 2018 +0000 * changed maxjumpalign:10 to 16 * changed (max)jumalign for Darwin/x86_64 from 0 to 16 git-svn-id: trunk@40681 - M compiler/systems/i_bsd.pas M compiler/systems/i_linux.pas M compiler/systems/i_win.pas --- commit dee105654693cf7a8da064d3a2530d9436b07fdf Author: Jonas Maebe Date: Fri Dec 28 13:22:50 2018 +0000 * fixed wrong change of jumpalignmax from 10 to 16 in previous commit o renamed jumpalignmax and coalescealignmax to jumpalignskipmax/ coalescealignskipmax to better reflex the meaning of these setting (and the difference in meaning to e.g. constalignmax) git-svn-id: trunk@40682 - M compiler/globals.pas M compiler/ncgflw.pas M compiler/scanner.pas M compiler/systems.pas M compiler/systems/i_aix.pas M compiler/systems/i_amiga.pas M compiler/systems/i_android.pas M compiler/systems/i_aros.pas M compiler/systems/i_atari.pas M compiler/systems/i_beos.pas M compiler/systems/i_bsd.pas M compiler/systems/i_embed.pas M compiler/systems/i_emx.pas M compiler/systems/i_gba.pas M compiler/systems/i_go32v2.pas M compiler/systems/i_haiku.pas M compiler/systems/i_jvm.pas M compiler/systems/i_linux.pas M compiler/systems/i_macos.pas M compiler/systems/i_morph.pas M compiler/systems/i_msdos.pas M compiler/systems/i_nativent.pas M compiler/systems/i_nds.pas M compiler/systems/i_nwl.pas M compiler/systems/i_nwm.pas M compiler/systems/i_os2.pas M compiler/systems/i_palmos.pas M compiler/systems/i_sunos.pas M compiler/systems/i_symbian.pas M compiler/systems/i_watcom.pas M compiler/systems/i_wdosx.pas M compiler/systems/i_wii.pas M compiler/systems/i_win.pas M compiler/systems/i_win16.pas --- commit df598f186829a7074edfe4c4024c89e07abb2668 Author: Jonas Maebe Date: Fri Dec 28 19:01:11 2018 +0000 * update alignment values for Darwin git-svn-id: trunk@40684 - M compiler/systems/i_bsd.pas --- commit f6e32ae90e7aa852390174ebb5b8aca0392bcf25 Author: florian Date: Fri Dec 28 20:56:43 2018 +0000 * (modified) path by Gareth Moreton to fix case handling git-svn-id: trunk@40686 - M compiler/ncgset.pas M compiler/x86/nx86set.pas --- commit bd4b7a6bc420196d0e846b5f058033101219c2cd Author: florian Date: Sat Dec 29 21:53:52 2018 +0000 * more case fixes git-svn-id: trunk@40706 - M compiler/ncgset.pas M compiler/x86/nx86set.pas --- commit a2cee252e85a2e04b1e13a04d48060a3d8135889 Author: florian Date: Tue Jan 1 01:11:13 2019 +0000 * when optimizing range checks in case nodes, unsigned comparisions must be used, resolves #34782 git-svn-id: trunk@40721 - M compiler/ncgset.pas M compiler/x86/nx86set.pas --- commit 4d03f3a65e9da5a7d9bd71c0b9d0a1090cd4bea0 Author: Jonas Maebe Date: Tue Jan 1 16:22:31 2019 +0000 * fixed LLVM memory leaks git-svn-id: trunk@40732 - M compiler/aasmcnst.pas M compiler/hlcgobj.pas M compiler/llvm/hlcgllvm.pas M compiler/ncgmat.pas M compiler/symcreat.pas --- commit a72a12eef6133dacfa6d0a93ca8de63a71e92da7 Author: Jonas Maebe Date: Tue Jan 1 16:55:41 2019 +0000 * don't emit 0-sized parameters for LLVM: clang doesn't either, and some LLVM backends (like the AArch64 one) trigger internal errors when encountering them git-svn-id: trunk@40736 - M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvmdef.pas M compiler/parabase.pas --- commit e7c4fccf41056a5695f6aaf39c4b12df95af44a2 Author: florian Date: Tue Jan 1 23:16:07 2019 +0000 * patch by Simon Ameis: adds mcu STM32F091* to compiler unit t_embed.pas; thus internal error 200902011 is not raised anymore, resolves #34570 git-svn-id: trunk@40742 - M compiler/systems/t_embed.pas --- commit 2ba239ea6d1474f2a6699f725480bbebfecfa005 Author: florian Date: Wed Jan 2 16:14:18 2019 +0000 * more robust fix of #27543 git-svn-id: trunk@40746 - M compiler/pstatmnt.pas --- commit 10ab893de389cd0dc689ee4b038fd07487f5b0c5 Author: florian Date: Thu Jan 3 17:38:27 2019 +0000 * improved explanation for warning 9034 git-svn-id: trunk@40749 - M compiler/msg/errore.msg --- commit 1d7486748a27010e304589d415c961435d3e0812 Author: Károly Balogh Date: Fri Jan 4 01:35:36 2019 +0000 tabs to spaces cleanup. no functional change git-svn-id: trunk@40752 - M compiler/aasmtai.pas --- commit 51e68eb302c8f7fbaf95a04162bf79e3c6de3161 Author: Jonas Maebe Date: Sun Jan 6 20:35:56 2019 +0000 * fixed several places where the interface crc could change: o unsetting po_inline while parsing the implementation for various reasons (interprocedural goto/label, accessing a local in a parent frame, having nested procedures) o instead handle this via the pio_inline_not_possible flag o noreturn can no longer be specified only in the implementation git-svn-id: trunk@40789 - M compiler/nflw.pas M compiler/nld.pas M compiler/pexpr.pas M compiler/pparautl.pas M compiler/pstatmnt.pas M compiler/psub.pas M compiler/rautils.pas M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp --- commit 1b16ff3629c51a305b9808e751456f7eff1a5df8 Author: pierre Date: Thu Jan 10 14:40:05 2019 +0000 Change default debugging format for x86_64-haiku to dwarf-2, as stabs is normally disabled on 64-bit systems git-svn-id: trunk@40835 - M compiler/systems/i_haiku.pas --- commit b223d1c3048a22c1d2bdb3e8d933414e2843a737 Author: florian Date: Sat Jan 12 14:44:54 2019 +0000 * modified patch by Gareth Moreton to make ie unique, resolves #34849 git-svn-id: trunk@40849 - M compiler/x86/cpubase.pas --- commit 644c47e1213118690d78d593a1c217335215fb1b Author: florian Date: Sun Jan 13 10:32:00 2019 +0000 * when deciding about the case code generation in case of size optimization, the number of labels is relevant, not the covered range, resolves #34818 git-svn-id: trunk@40851 - M .gitattributes M compiler/ncgset.pas A tests/webtbs/tw34818.pp --- commit 6c82b2d1daacf29cabe1d6c22be050f12cfa3303 Author: florian Date: Sat Jan 19 19:37:48 2019 +0000 * -tls-dialect is not a as option, removed it, resolves #34901 git-svn-id: trunk@40920 - M compiler/arm/agarmgas.pas --- commit 925531b99c1ffcb99a838a3991005eee827bfa9b Author: florian Date: Sat Jan 19 21:23:36 2019 +0000 * constrained generics are also compatible with formaldefs, resolves #34893 git-svn-id: trunk@40921 - M .gitattributes M compiler/defcmp.pas A tests/webtbs/tw34893.pp --- commit 94d7a02fae1d06a40fc9313f7e42323f97d577c7 Author: florian Date: Sun Jan 20 14:16:38 2019 +0000 * modified patch by Gareth Moreton to pool TmpUsedRegs in the assembler optimizers, resolves #34679 git-svn-id: trunk@40938 - M compiler/aopt.pas M compiler/aoptobj.pas M compiler/arm/aoptcpu.pas M compiler/avr/aoptcpu.pas M compiler/sparcgen/aoptcpu.pas M compiler/x86/aoptx86.pas --- commit 75a89d21159b3c4106596993f938b77e43ee048d Author: florian Date: Sun Jan 20 17:00:43 2019 +0000 * fix and enable MovOpMov2MovOp optimization on x86-64 git-svn-id: trunk@40941 - M compiler/x86/aoptx86.pas --- commit 4f0da5fcc3d4c0dc053cd88b1b00775b22eac668 Author: florian Date: Sun Jan 20 18:50:12 2019 +0000 + patch by Marģers to support the x86 assembler instructions blsi, blsr, blsmsk, adcx, adox, movbe, pclmulqdq, resolves #34815 and #34799 + avxopcodes tests also movbe and pclmulqdq git-svn-id: trunk@40951 - M compiler/i386/i386att.inc M compiler/i386/i386atts.inc M compiler/i386/i386int.inc M compiler/i386/i386nop.inc M compiler/i386/i386op.inc M compiler/i386/i386prop.inc M compiler/i386/i386tab.inc M compiler/i8086/i8086att.inc M compiler/i8086/i8086atts.inc M compiler/i8086/i8086int.inc M compiler/i8086/i8086nop.inc M compiler/i8086/i8086op.inc M compiler/i8086/i8086prop.inc M compiler/i8086/i8086tab.inc M compiler/x86/aasmcpu.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc M compiler/x86_64/x8664att.inc M compiler/x86_64/x8664int.inc M compiler/x86_64/x8664nop.inc M compiler/x86_64/x8664op.inc M compiler/x86_64/x8664pro.inc M compiler/x86_64/x8664tab.inc M tests/utils/avx/avxopcodes.pas --- commit 4fb7b5d3ffe403756478930a33574f41d05af580 Author: florian Date: Mon Jan 21 21:57:07 2019 +0000 * fix MovOpMov2MovOp optimization if no -Cpcoreavx2 is used git-svn-id: trunk@40979 - M compiler/x86/aoptx86.pas --- commit 8d3d5276d74979c670c7571d10d698ba09e5c9e4 Author: florian Date: Tue Jan 22 21:58:05 2019 +0000 * open arrays and arrays of consts might be only stack tainting if they are passed by value git-svn-id: trunk@41008 - M compiler/symdef.pas --- commit cfd0790f89641b4c7b98a24314448ea5ce6543df Author: florian Date: Wed Jan 23 21:02:14 2019 +0000 * avoid assembler errors for the MovOpMov2MovOp optimziation in case the size of the instruction gets changed and the first one contains a constant, resolves #34933 git-svn-id: trunk@41021 - M compiler/x86/aoptx86.pas --- commit 24f6cc0da52e0c9f0c5285c7961e5b66b6c88891 Author: florian Date: Thu Jan 24 19:38:32 2019 +0000 * factored out OptPass1FSTP, used by x86-64 now as well git-svn-id: trunk@41059 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 6cb6517411066233d517a2d97d1e0dbdaa1255f3 Author: florian Date: Thu Jan 24 19:53:51 2019 +0000 * better recognization of procedure exit code git-svn-id: trunk@41060 - M compiler/x86/aoptx86.pas --- commit c7bb028d35b0db4355ebbb7d97cfa3962db938a7 Author: florian Date: Thu Jan 24 20:10:29 2019 +0000 * factored out OptPass1FLD, used bx x86-64 now as well - removed unused function git-svn-id: trunk@41061 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 597a23d278f2c870dbf0a5d7fadb83908b365ce0 Author: florian Date: Sun Jan 27 09:37:25 2019 +0000 + tls support for x86_64-linux (not yet enabled by default) git-svn-id: trunk@41081 - M compiler/cgbase.pas M compiler/systems/i_linux.pas M compiler/x86/agx86att.pas M compiler/x86/cgx86.pas M compiler/x86/nx86ld.pas M compiler/x86_64/cpunode.pas M rtl/linux/si_impl.inc M rtl/linux/system.pp M rtl/linux/x86_64/si_prc.inc --- commit 6c888949992e530b72e641603d5200b2d3f57b9b Author: florian Date: Tue Jan 29 20:16:12 2019 +0000 * do not call the internal assembler if -s is passed git-svn-id: trunk@41126 - M compiler/options.pas --- commit a186f484427dd09971c4b5c335b3a7e807eee796 Author: florian Date: Tue Jan 29 20:17:47 2019 +0000 * cosmetics git-svn-id: trunk@41127 - M compiler/arm/narmld.pas M compiler/arm/raarmgas.pas --- commit 4db5478acc409c6070e38152b0d24b7693c4df9d Author: florian Date: Tue Jan 29 20:38:51 2019 +0000 + support msr regf,reg32 on arm in the internal assembler git-svn-id: trunk@41128 - M compiler/arm/armins.dat M compiler/arm/armnop.inc M compiler/arm/armtab.inc --- commit acbf7d15c494c68b0f8209ccb0d041c8dba351f6 Author: florian Date: Tue Jan 29 20:40:39 2019 +0000 * do not load always the references into a register in g_concatcopy git-svn-id: trunk@41129 - M compiler/arm/cgcpu.pas --- commit afd4599d26c0462c59d0e9ce9fae76a47c6d333f Author: florian Date: Tue Jan 29 20:40:40 2019 +0000 * correctly handle LDRD in TAoptBaseCpu.RegModifiedByInstruction git-svn-id: trunk@41130 - M compiler/arm/aoptcpub.pas --- commit 2f40f818907756d1dc844bf3a5c9899986a3aeaf Author: florian Date: Tue Jan 29 20:40:41 2019 +0000 + sanity check git-svn-id: trunk@41131 - M compiler/arm/agarmgas.pas --- commit 04d295f1865d6c011d131ea4ccfb7dd1928ca758 Author: Jonas Maebe Date: Tue Jan 29 21:39:09 2019 +0000 * first step towards supporting 32 bit targets with the LLVM code generator: use the generic code in more cases when cpuhighleveltarget is defined git-svn-id: trunk@41133 - M compiler/cgutils.pas M compiler/fpcdefs.inc M compiler/hlcg2ll.pas M compiler/hlcgobj.pas M compiler/nadd.pas M compiler/ncgadd.pas M compiler/ncgbas.pas M compiler/ncgcal.pas M compiler/ncgcnv.pas M compiler/ncgcon.pas M compiler/ncginl.pas M compiler/ncgld.pas M compiler/ncgmat.pas M compiler/ncgset.pas M compiler/ncgutil.pas M compiler/ninl.pas M compiler/nmat.pas M compiler/parabase.pas --- commit 4869d0ace9883ec2e0a4aa9bcf0cb63070df81e9 Author: Jonas Maebe Date: Tue Jan 29 21:39:12 2019 +0000 * perform extension of parameters to 32 bit for Darwin in the paraloc instead of in the cgpara (cgpara should always correspond to the real parameter) git-svn-id: trunk@41134 - M compiler/i386/cpupara.pas --- commit 9c3e9e80a3e9aea5136c0adfc5bc8b41b3fa689e Author: Jonas Maebe Date: Tue Jan 29 21:39:16 2019 +0000 * fixed type correctness of and simplified the threadvar loading size optimisation git-svn-id: trunk@41135 - M compiler/ncgld.pas --- commit 2d01fe76f6debe1369ae3a345fed259282e0cc10 Author: Jonas Maebe Date: Tue Jan 29 21:39:23 2019 +0000 * initialse the cgpara for the C-style varargs on ARM (needed for LLVM) git-svn-id: trunk@41137 - M compiler/arm/cpupara.pas --- commit e52cf555ab862662622817397df755cce1466621 Author: Jonas Maebe Date: Tue Jan 29 21:39:26 2019 +0000 * fix loading of constants in registers in the LLVM CG if the constant does not fit in ptrsinttype git-svn-id: trunk@41138 - M compiler/llvm/hlcgllvm.pas --- commit 2b6076a719f4671b7bb838bb3ba8bba19f1018d2 Author: florian Date: Tue Jan 29 22:06:32 2019 +0000 * compilation fixed git-svn-id: trunk@41139 - M compiler/arm/cgcpu.pas --- commit 503ea604f33b5a7dd72d7a6417f9a38774f19263 Author: Jonas Maebe Date: Sun Feb 3 21:00:17 2019 +0000 + nolinline modifier to specify that a routine must never be inlined git-svn-id: trunk@41198 - M compiler/llvm/agllvm.pas M compiler/pdecsub.pas M compiler/psub.pas M compiler/symconst.pas M compiler/symsym.pas M compiler/tokens.pas M compiler/utils/ppuutils/ppudump.pp --- commit f9668f8c037b6202cd558fc173ca1c4256a1c6e0 Author: Jonas Maebe Date: Sun Feb 3 21:00:28 2019 +0000 * let de LLVM parameter manager merge multiple paralocs used to represent a single ordinal, as such splitting is handled by LLVM itself (and handling such split locations is currently not supported by our LLVM code generator) git-svn-id: trunk@41199 - M compiler/llvm/llvmpara.pas --- commit ab51e8637c2a8879c3745dba029b57590c279630 Author: Jonas Maebe Date: Sun Feb 3 21:00:36 2019 +0000 * set default Mac OS X target version to 10.6 for LLVM (earlier versions did not include libunwind in libSystem, causing linking errors when compiling on later versions) git-svn-id: trunk@41200 - M compiler/options.pas --- commit 8c362eac67df688f6c1fc7361f0d5c06a78c02ab Author: Jonas Maebe Date: Sun Feb 3 21:00:41 2019 +0000 * always emit UAL when using LLVM (clang does not and will not support pre-UAL) git-svn-id: trunk@41201 - M compiler/arm/agarmgas.pas --- commit da0deae9aee929f3ccda08afdff56bc931a19e52 Author: Jonas Maebe Date: Sun Feb 3 21:00:46 2019 +0000 * removed unnecessary replacements of the paraloc def with arraydefs on ARM git-svn-id: trunk@41202 - M compiler/arm/cpupara.pas --- commit 7a65e1f393fb3ef10fb4ac15865703a39123a8a7 Author: Jonas Maebe Date: Sun Feb 3 21:00:51 2019 +0000 * fixed ARM paraloc defs (for LLVM) git-svn-id: trunk@41203 - M compiler/arm/cpupara.pas --- commit 353be907c76801e05832396087c5b653b301d7d7 Author: Jonas Maebe Date: Sun Feb 3 21:00:57 2019 +0000 * update the stack alignment field of parameters when doing so for paralocs git-svn-id: trunk@41204 - M compiler/arm/cpupara.pas --- commit 7af95cbf063d4634f3e566419cca85ae6823b16c Author: Jonas Maebe Date: Sun Feb 3 21:01:02 2019 +0000 * LLVM does not support 128 bits arithmetic on 32 bit platforms, which we need for overflow checking -> use RTL built-ins git-svn-id: trunk@41205 - M compiler/nadd.pas --- commit 1abea6451c7faeb0754df984102edb34066df709 Author: Jonas Maebe Date: Sun Feb 3 21:01:08 2019 +0000 * fixed thlcgobj.g_rangecheck() for cpuhighleveltarget when targetting a cpu32bitalu git-svn-id: trunk@41206 - M compiler/hlcgobj.pas --- commit 13ce27cc1d4a7b148e4236d1a9c2d7d0d2f04071 Author: Jonas Maebe Date: Sun Feb 3 21:01:13 2019 +0000 * fixed the default external assembler for llvm when using -s git-svn-id: trunk@41207 - M compiler/options.pas --- commit d4e059bd41b62841560790c0051c9c437243cad5 Author: pierre Date: Tue Feb 12 07:19:04 2019 +0000 Fix bug report #35065 using provided patch by J. Gareth Moreton git-svn-id: trunk@41310 - M compiler/aasmtai.pas --- commit e3546cf5af9cb17fd98cba5fa50f54ad16e14c9e Author: florian Date: Fri Feb 15 18:57:20 2019 +0000 * properly quote pathes for objcopy calls, resolves #35072 git-svn-id: trunk@41324 - M compiler/systems/t_embed.pas --- commit 9a3ddf650c1c150039b2f63fd84300eaa4f1ac81 Author: yury Date: Wed Feb 20 10:13:18 2019 +0000 * ppudump: Use buffered write when outputting to json or xml. It improves the output speed a lot. git-svn-id: trunk@41393 - M compiler/utils/ppuutils/ppudump.pp M compiler/utils/ppuutils/ppujson.pp M compiler/utils/ppuutils/ppuout.pp M compiler/utils/ppuutils/ppuxml.pp --- commit fa4596a08f2027787c19db2978208781828760de Author: yury Date: Wed Feb 20 10:24:48 2019 +0000 * ppudump: Fixed warnings with -O3. git-svn-id: trunk@41394 - M compiler/utils/ppuutils/ppudump.pp --- commit 3e8c7f66b71cf633a74971b60150d67690b43959 Author: yury Date: Wed Feb 20 20:00:06 2019 +0000 * arm: Fixed crash while loading double constants with PIC enabled. This is the regression after r41129. The crash has occurred due to usage of a rare code path. It will be fixed in the next commit. git-svn-id: trunk@41404 - M compiler/arm/cgcpu.pas --- commit 3a43ffd57bc989d3e5facb1edfefc49cbc0f18d8 Author: yury Date: Wed Feb 20 20:06:32 2019 +0000 * arm: Include pi_needs_got to current_procinfo.flags when the GOT register is accessed. It forces proper initialization of the GOT register at the beginning of a procedure. This fixes storing of a double constant to a field in a packed record and other rare copy operations when PIC is enabled. git-svn-id: trunk@41405 - M compiler/arm/cgcpu.pas --- commit 382d5060a04504cacc56a365f02100a65108ad19 Author: yury Date: Fri Feb 22 17:59:54 2019 +0000 * aarch64: According to ARM64 ABI, function's arguments and the result are not required to be sign/zero extended to a full register size. Obey this rule for all targets except iOS where sign/zero extension is required. git-svn-id: trunk@41412 - M .gitattributes M compiler/aarch64/cpupara.pas A tests/test/taarch64abi.pp --- commit af36913469cc49f412cb38dabfe52400bce229f9 Author: Jonas Maebe Date: Sat Feb 23 15:08:29 2019 +0000 * don't use cg64.a_load64_loc_cgpara() for 64 bit records passed in non-integer registers git-svn-id: trunk@41416 - M compiler/hlcg2ll.pas --- commit 1a559f5c608c31d1b5e11e99076f5b8b9da19dc2 Author: Jonas Maebe Date: Sat Feb 23 15:42:39 2019 +0000 * move the homogenous float aggregate determination function to a common unit for ARM and AArch64 git-svn-id: trunk@41419 - M .gitattributes M compiler/Makefile M compiler/Makefile.fpc M compiler/aarch64/cpupara.pas M compiler/arm/cpupara.pas A compiler/armgen/armpara.pas M compiler/ppcaarch64.lpi M compiler/ppcarm.lpi M packages/ide/fpmake.pp --- commit 8b9e90dc7a9c45eb6d0458daec566d8064e1ef52 Author: Jonas Maebe Date: Sat Feb 23 15:42:45 2019 +0000 * keep track of whether a routine has a C-style variadic parameter in the procoptions even when it's through an array-of-const parameter * always call create_varargs_paraloc_info() instead of create_paraloc_info() in the former case, even when no varargs parameters are specified (because on some platforms even some non-variadic parameters need to be passed differently, such as on ARM with gnueabihf) git-svn-id: trunk@41420 - M compiler/aarch64/cpupara.pas M compiler/arm/cpupara.pas M compiler/avr/cpupara.pas M compiler/defutil.pas M compiler/i386/cpupara.pas M compiler/i8086/cpupara.pas M compiler/jvm/cpupara.pas M compiler/m68k/cpupara.pas M compiler/mips/cpupara.pas M compiler/ncal.pas M compiler/paramgr.pas M compiler/pdecsub.pas M compiler/powerpc/cpupara.pas M compiler/powerpc64/cpupara.pas M compiler/riscv32/cpupara.pas M compiler/riscv64/cpupara.pas M compiler/sparcgen/sppara.pas M compiler/symconst.pas M compiler/symdef.pas M compiler/utils/ppuutils/ppudump.pp M compiler/x86_64/cpupara.pas --- commit 4e5f48a25ed461106a250314f5210f160aee1199 Author: Jonas Maebe Date: Sat Feb 23 15:42:48 2019 +0000 * add support for HFA parameter passing for ARM hardfloat (fixes test/cg/tcalext6) git-svn-id: trunk@41421 - M compiler/arm/cpupara.pas --- commit bc77aad3d935e43807cbf349ad3b355508a961ee Author: Jonas Maebe Date: Sun Feb 24 19:58:44 2019 +0000 * give an error when trying to call through to a C varargs routine with a high level code generator o we cannot create a high-level stub in that case git-svn-id: trunk@41443 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/psub.pas --- commit e829596750b6e556b5104bf2308be97cb4b1db98 Author: Jonas Maebe Date: Sun Feb 24 19:58:47 2019 +0000 * type left-over parts of parameters as arrays of "stack slot alignment" if they're an exact multiple of the ialignment size on LLVM. This prevents both overalignment (e.g. remainder of 8 individual bytes on ARM would be aligned to 8 bytes instead of 4 if typed as int64) and underalignment (e.g. 32 bytes remainder of a record that needs to be aligned to 8 bytes would be aligned to 1 or 4 bytes if types as array of resp. bytes or longints) git-svn-id: trunk@41444 - M compiler/llvm/llvmdef.pas --- commit a87a7270d5fa1ea935e2a5e0fd411061e3215263 Author: Jonas Maebe Date: Sun Feb 24 19:58:51 2019 +0000 * remove double "nocapture" attributes * also add "noalias nocapture" to sret parameters git-svn-id: trunk@41445 - M compiler/llvm/llvmdef.pas --- commit 607126346997c1c34a825017a7c00d68c4cf72ed Author: Jonas Maebe Date: Sun Feb 24 19:58:54 2019 +0000 * use ` instead of ^ as replacement character in LLVM asmnodes, as ^ can appear in ARM inline assembly git-svn-id: trunk@41446 - M compiler/llvm/agllvm.pas M compiler/llvm/nllvmbas.pas --- commit bead1f81802eaf2f58a58bc4181e29575080d492 Author: Jonas Maebe Date: Sun Feb 24 19:58:57 2019 +0000 * properly set 8 byte parameter alignment for first parameter on ARM if applicable git-svn-id: trunk@41447 - M compiler/arm/cpupara.pas --- commit 08791712d710acf57282b09f0846b1c8d27b9c5b Author: Jonas Maebe Date: Sun Feb 24 19:59:00 2019 +0000 * also specify the byval alignment at the callee side git-svn-id: trunk@41448 - M compiler/llvm/llvmdef.pas --- commit 7c4e7d6bd3d7df2117ee4a76929746ab68079fc9 Author: Jonas Maebe Date: Sun Feb 24 19:59:03 2019 +0000 * support OS_32/OS_64 in cgsize2subreg for ARM MM registers to handle records passed in MM registers git-svn-id: trunk@41449 - M compiler/arm/cpubase.pas --- commit 57ee0dd00afa7c2fc0eda107222e45ef257b1f0a Author: pierre Date: Sun Feb 24 22:20:35 2019 +0000 Fix fullcycle/fullinstall by adding missing armgen directory -Fu option if PPC_TARGET is armeb git-svn-id: trunk@41455 - M compiler/Makefile M compiler/Makefile.fpc --- commit a277a5f8db6a078f981748c1f73b8cb43ff36f83 Author: yury Date: Mon Feb 25 11:22:49 2019 +0000 * Removed unused local vars. git-svn-id: trunk@41457 - M compiler/arm/narmld.pas M compiler/i386/aoptcpu.pas M compiler/pdecvar.pas M compiler/rgobj.pas --- commit 9f88cae771bc3bc99e02047cb1719aefc64480d2 Author: yury Date: Mon Feb 25 11:27:54 2019 +0000 * Removed inline, since inherited is not supported. git-svn-id: trunk@41458 - M compiler/cclasses.pas --- commit e5c2d13671435042f61ac84d9634dea94f00af57 Author: yury Date: Mon Feb 25 13:35:40 2019 +0000 * Do not set pi_needs_got in current_procinfo.flags at the node level, since the GOT usage can only be estimated there. Instead set the pi_needs_got flag at places where the GOT register is accessed during the code generation. This eliminates generation of the unneeded initialization of the GOT register and fixes linker errors when the _GLOBAL_OFFSET_TABLE_ symbol is referenced but no actual GOT references are present. git-svn-id: trunk@41460 - M compiler/i386/cgcpu.pas M compiler/i386/hlcgcpu.pas M compiler/nbas.pas M compiler/ncal.pas M compiler/ncgrtti.pas M compiler/ncnv.pas M compiler/ncon.pas M compiler/nflw.pas M compiler/nld.pas M compiler/nmem.pas M compiler/psub.pas M compiler/x86/nx86ld.pas M compiler/x86/nx86set.pas --- commit 4da16992df594235915d715c8bc83f53e87a1f56 Author: yury Date: Mon Feb 25 14:43:46 2019 +0000 * i386: Minor PIC initialization improvement if the GOT register is forced to EBX. git-svn-id: trunk@41462 - M compiler/i386/cgcpu.pas --- commit 039aee956804015b1a6c3b07c203a4bf3bbcc49e Author: yury Date: Mon Feb 25 15:05:26 2019 +0000 * i386 PIC: Do not force EBX as a GOT register if tf_section_threadvars is not set. Actually forcing EBX here is a bad idea anyway. git-svn-id: trunk@41463 - M compiler/i386/cpupi.pas --- commit a04e4971fc3ef9b3bf5adf3dbc2a3b97de28b287 Author: yury Date: Mon Feb 25 15:48:41 2019 +0000 * i386: Do not request GOT for every function call. GOT is requested only for external calls in thlcgcpu.a_call_name(). Local calls are always PC relative. git-svn-id: trunk@41464 - M compiler/x86/cgx86.pas --- commit c7834af3545959d7c104078eefb568243cc71876 Author: Jonas Maebe Date: Mon Feb 25 21:02:14 2019 +0000 * track va_uses_float_reg also for varargs functions without varargs parameters (see e.g. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=23070 ) git-svn-id: trunk@41472 - M compiler/powerpc/cpupara.pas M compiler/powerpc64/cpupara.pas --- commit 075e3da334bfc9788c2de0fde5eea479afe9616f Author: florian Date: Wed Feb 27 22:13:54 2019 +0000 * better alignment values git-svn-id: trunk@41521 - M compiler/systems/i_linux.pas --- commit f78e2072a193a49660ff8cd07273cb6c45b03779 Author: Jonas Maebe Date: Thu Feb 28 20:45:34 2019 +0000 * fix for r41416: 64 bit values on 32 bit platforms can of course also be passed in memory git-svn-id: trunk@41526 - M compiler/hlcg2ll.pas --- commit 62cef8eb2b66c464df6ae66827e090476bffb657 Author: Jonas Maebe Date: Sat Mar 2 09:37:49 2019 +0000 * initialize function result for variadic functions (fixup for r41420) git-svn-id: trunk@41544 - M compiler/sparcgen/sppara.pas --- commit 973741c9197c2b3217ba10f5058b7a2c3377d1d6 Author: pierre Date: Tue Mar 5 22:01:09 2019 +0000 Fix tmoddiv4.pp test failure with -O1 option for powerpc64 as suggested by Jonas git-svn-id: trunk@41610 - M compiler/powerpc64/nppcmat.pas --- commit b0535d8d0fda36ec637e31343fabe552e8cce954 Author: yury Date: Thu Mar 7 10:36:05 2019 +0000 * ppudump: Fixed a warning regarding text clipping. git-svn-id: trunk@41628 - M compiler/utils/ppuutils/ppudump.pp --- commit d65737393352eabc8aff52f9c7b6545d09c578c8 Author: florian Date: Sun Mar 10 10:48:50 2019 +0000 * patch by J. Gareth Moreton which avoids that the optimizer causes reads of invalid memory, resolves #35187 git-svn-id: trunk@41667 - M .gitattributes M compiler/x86/aoptx86.pas A tests/webtbs/tw35187.pp --- commit ed2ae508d090338a706418fdf740bc219b614776 Author: Jonas Maebe Date: Sat Mar 16 19:14:14 2019 +0000 * only add hidden parameters for objectdef methods after generating the vmt, so that they take into account inherited calling conventions (mantis #35233) o don't needlessly calculate the paraloc info when generating a JVM mangled name git-svn-id: trunk@41716 - M .gitattributes M compiler/jvm/jvmdef.pas M compiler/jvm/pjvm.pas M compiler/jvm/symcpu.pas M compiler/pdecl.pas M compiler/pdecobj.pas M compiler/pdecsub.pas M compiler/pdecvar.pas M compiler/pgenutil.pas M compiler/pparautl.pas M compiler/ptype.pas M compiler/symcreat.pas M compiler/symdef.pas A tests/webtbs/tw35233.pp --- commit bde560dac290929dbdf0c8df20a9c7e1f4dec727 Author: Jonas Maebe Date: Sun Mar 17 15:20:22 2019 +0000 * also accept {$elsif} after {$if(n)def} (mantis #34858) git-svn-id: trunk@41724 - M .gitattributes M compiler/scanner.pas A tests/webtbs/tw34858.pp --- commit 1bb8bd471ae32a1db840b975616fe17e9653ac2c Author: Jonas Maebe Date: Sun Mar 17 15:22:06 2019 +0000 * fix msgtxt array size if the text size is an exact multiple of 240 git-svn-id: trunk@41725 - M compiler/utils/msg2inc.pp --- commit 5358851f84b9fb9af41df6290decea1c5ec7610e Author: Károly Balogh Date: Mon Mar 18 01:19:18 2019 +0000 * clean up some things regarding explicit paraloc handling. this should fix m68k-amiga and powerpc-morphos builds after r41716 git-svn-id: trunk@41730 - M compiler/i386/cpupara.pas M compiler/m68k/cpupara.pas M compiler/pdecsub.pas M compiler/powerpc/cpupara.pas M compiler/riscv32/cpupara.pas --- commit 2c1639003c50bb82167036f7372eff8100863a42 Author: Károly Balogh Date: Mon Mar 18 13:21:58 2019 +0000 * reinstate the internalerror removed in r41730 for i386, as that was a valid condition to verify git-svn-id: trunk@41731 - M compiler/i386/cpupara.pas --- commit 478b918386951fa9115d1b7206c83af732dff257 Author: pierre Date: Wed Apr 3 07:17:40 2019 +0000 + Add variables to use gppc386 utils more easily: Use DEBUG_CYCLE=1 to generate cycle using gppcXX at each stage, i.e. running ppcXX through gdbpas, using utils/gppc386.pp source, compiled and copied to gppcXX. + Add other DEBUG_XXX varialbes, allowing to use gppcXX binary at a specific level in cycle. if DEBUG_PPXX is set, PPXXPREFIX variable will be set to 'g' leading to the use of g$(PPXX) compiler, which will run $(ppXX) compiler through gdbpas. git-svn-id: trunk@41822 - M compiler/Makefile M compiler/Makefile.fpc --- commit 0b61b5d4cfd624402797619075436c57e0da3be9 Author: Jonas Maebe Date: Sat Apr 6 21:28:43 2019 +0000 * added extra header to ppu inside a subsection, so we won't run into trouble when the ppu version hits 255 * also moved several ppu flags to a set inside that section git-svn-id: trunk@41846 - M compiler/cresstr.pas M compiler/dbgdwarf.pas M compiler/dbgstabs.pas M compiler/entfile.pas M compiler/fmodule.pas M compiler/fpcp.pas M compiler/fppu.pas M compiler/globtype.pas M compiler/jvm/njvmutil.pas M compiler/link.pas M compiler/ngenutil.pas M compiler/pcp.pas M compiler/pdecobj.pas M compiler/pdecsub.pas M compiler/pexports.pas M compiler/pexpr.pas M compiler/pkgutil.pas M compiler/pmodules.pas M compiler/ppu.pas M compiler/scandir.pas M compiler/utils/ppuutils/ppudump.pp M compiler/utils/ppuutils/ppuout.pp --- commit 1b0b81f714555cc0726f3679ddfbcd55c7279db4 Author: Jonas Maebe Date: Sun Apr 7 17:10:49 2019 +0000 * hopefully fix fpu emulation ppu header flag check after r41846 git-svn-id: trunk@41847 - M compiler/fppu.pas --- commit 927fbc4387efbde9bf4865e9e304385026e4ba39 Author: Jonas Maebe Date: Sat Apr 13 14:58:15 2019 +0000 * documented usage of ppuversion and ppulongversion git-svn-id: trunk@41865 - M compiler/ppu.pas --- commit 349bb2ff38a56baf6960a0196326aafbb1aff9a5 Author: Jonas Maebe Date: Sat Apr 13 15:12:09 2019 +0000 * check CurrentPPULongVersion in ppumove git-svn-id: trunk@41866 - M compiler/utils/ppumove.pp --- commit 2b78a8fd3dec629d91b9fb74a01d06d904384117 Author: Jeppe Johansen Date: Sun Apr 14 20:51:29 2019 +0000 - Add support for .option directive in riscv assembler. - Use addiw when adjusting U32 to S32 git-svn-id: trunk@41870 - M .gitattributes M compiler/aasmtai.pas M compiler/assemble.pas M compiler/fpcdefs.inc A compiler/riscv/rarvgas.pas M compiler/riscv64/cgcpu.pas M compiler/riscv64/rarv64gas.pas --- commit 53542b7c5ec57aac80fa55eb4efc9c85fdf33129 Author: Jeppe Johansen Date: Sun Apr 14 23:36:08 2019 +0000 - Port RISC-V64 startup code to native inline routines. git-svn-id: trunk@41871 - M .gitattributes M compiler/systems.pas M rtl/linux/Makefile M rtl/linux/Makefile.fpc D rtl/linux/riscv64/cprt0.as D rtl/linux/riscv64/dllprt0.as D rtl/linux/riscv64/gprt0.as D rtl/linux/riscv64/prt0.as A rtl/linux/riscv64/si_c.inc A rtl/linux/riscv64/si_dll.inc A rtl/linux/riscv64/si_prc.inc --- commit 44beea91b5b4b6a43d55a215cc7281e042f91cdf Author: Jeppe Johansen Date: Mon Apr 15 21:52:55 2019 +0000 - Fix UTX* optimizations that didn't consider the optional ROR parameter. git-svn-id: trunk@41880 - M compiler/arm/aoptcpu.pas --- commit e008785152df10d7ac99ff2a162190d2f39a72f0 Author: Jonas Maebe Date: Tue Apr 16 16:11:50 2019 +0000 * insert the hidden parameters for objectdef methods after resolving overrides but before generating the VMT, so that these hidden parameters are part of the procdefs stored in the VMT (fixes some LLVM type errors after r41716) git-svn-id: trunk@41884 - M compiler/jvm/pjvm.pas M compiler/nobj.pas M compiler/pdecl.pas M compiler/pgenutil.pas --- commit b9ddddf9b153fa5178118319c4d245d20d24bdb3 Author: Jonas Maebe Date: Tue Apr 16 16:11:54 2019 +0000 * use ".set" for aliasing global symbols on Darwin, instead of declaring symbols after each other o removed the .reference hack that was used previously git-svn-id: trunk@41885 - M compiler/hlcgobj.pas --- commit 33d57ac646240541aaaed7307758d44eb93ebc7c Author: Jonas Maebe Date: Sat Apr 20 18:18:07 2019 +0000 * replaced TCmdStrListItem getter function with a property git-svn-id: trunk@41906 - M compiler/cclasses.pas --- commit 8d19bb12a2326177304ca963f406dc9a90961cd4 Author: Jonas Maebe Date: Sun Apr 21 10:07:42 2019 +0000 * moved sleb/uleb128 helpers to cutils and use SarInt64() intrinsic (based on patch by J. Gareth Moreton, mantis #35327) git-svn-id: trunk@41917 - M compiler/aasmbase.pas M compiler/cutils.pas --- commit 55aeac44f0c462bb66b0025884316dd13ce033dd Author: Jonas Maebe Date: Mon Apr 22 15:16:33 2019 +0000 * micro-optimization for tentryfile.getbyte() (based on patch by J. Gareth Moreton, mantis #35406) git-svn-id: trunk@41924 - M compiler/entfile.pas --- commit 213b87fe91453fbca07dacff506b7687e42494e1 Author: Jonas Maebe Date: Tue Apr 30 19:36:46 2019 +0000 * optimized and simplified tai_aggregatetypedconst destruction git-svn-id: trunk@41963 - M compiler/aasmcnst.pas --- commit 97a144ea6abfc4deecba0e10786e17519e1c6ce6 Author: Jonas Maebe Date: Thu May 2 19:39:56 2019 +0000 - removed ttypedconstkind parameter from tai_simpletypedconst constructor, as it always has to be tck_simple anyway git-svn-id: trunk@41975 - M compiler/aasmcnst.pas M compiler/llvm/llvmtype.pas M compiler/llvm/nllvmtcon.pas --- commit 079d616978f27a05004218d3fd6724ef05b5e4e0 Author: Jonas Maebe Date: Thu May 2 19:40:00 2019 +0000 * fixed double free in LLVM code generator after r41963 git-svn-id: trunk@41976 - M compiler/aasmcnst.pas M compiler/llvm/nllvmtcon.pas --- commit 5a5b47fa24520aa9275ceca1d20a36ff3b39485c Author: svenbarth Date: Fri May 10 14:04:45 2019 +0000 + add support for MultiHelpers modeswitch by Ryan Joseph for Mantis #35159 + added tests git-svn-id: trunk@42026 - M .gitattributes M compiler/globtype.pas M compiler/htypechk.pas M compiler/symtable.pas A tests/test/tmshlp1.pp A tests/test/tmshlp10.pp A tests/test/tmshlp11.pp A tests/test/tmshlp12.pp A tests/test/tmshlp13.pp A tests/test/tmshlp14.pp A tests/test/tmshlp15.pp A tests/test/tmshlp16.pp A tests/test/tmshlp2.pp A tests/test/tmshlp3.pp A tests/test/tmshlp4.pp A tests/test/tmshlp5.pp A tests/test/tmshlp6.pp A tests/test/tmshlp7.pp A tests/test/tmshlp8.pp A tests/test/tmshlp9.pp A tests/test/umshlp1.pp A tests/test/umshlp15a.pp A tests/test/umshlp15b.pp --- commit f76cde1c4c5a6bee8562d5b754dec8e9e99d84d4 Author: Jonas Maebe Date: Sun May 12 14:28:52 2019 +0000 * set correct fileinfo for statements_til_end() block git-svn-id: trunk@42044 - M compiler/pstatmnt.pas --- commit 281b3ad276d8b66085fde25139123a574ef06afd Author: Jonas Maebe Date: Sun May 12 14:29:03 2019 +0000 * fix case completeness and unreachable code warnings in compiler that would be introduced by the next commit git-svn-id: trunk@42046 - M compiler/aarch64/agcpugas.pas M compiler/aarch64/aoptcpu.pas M compiler/aarch64/aoptcpub.pas M compiler/aarch64/cgcpu.pas M compiler/aarch64/cpupara.pas M compiler/aarch64/racpu.pas M compiler/aarch64/racpugas.pas M compiler/aarch64/rgcpu.pas M compiler/aasmsym.pas M compiler/aasmtai.pas M compiler/aggas.pas M compiler/aopt.pas M compiler/aoptobj.pas M compiler/arm/aasmcpu.pas M compiler/arm/agarmgas.pas M compiler/arm/aoptcpu.pas M compiler/arm/aoptcpub.pas M compiler/arm/cgcpu.pas M compiler/arm/cpubase.pas M compiler/arm/cpuelf.pas M compiler/arm/cpupara.pas M compiler/arm/cpupi.pas M compiler/arm/narmadd.pas M compiler/arm/narmcnv.pas M compiler/arm/raarmgas.pas M compiler/arm/rgcpu.pas M compiler/assemble.pas M compiler/cfidwarf.pas M compiler/cgobj.pas M compiler/dbgbase.pas M compiler/dbgcodeview.pas M compiler/dbgdwarf.pas M compiler/dbgstabs.pas M compiler/dbgstabx.pas M compiler/defcmp.pas M compiler/defutil.pas M compiler/fppu.pas M compiler/gendef.pas M compiler/hlcg2ll.pas M compiler/hlcgobj.pas M compiler/htypechk.pas M compiler/i386/aoptcpu.pas M compiler/i386/cgcpu.pas M compiler/i386/cpuelf.pas M compiler/i386/cpupara.pas M compiler/i386/n386add.pas M compiler/i8086/aoptcpu.pas M compiler/i8086/cgcpu.pas M compiler/i8086/cpupara.pas M compiler/i8086/n8086add.pas M compiler/i8086/symcpu.pas M compiler/jvm/agjasmin.pas M compiler/jvm/aoptcpu.pas M compiler/jvm/cpupara.pas M compiler/jvm/dbgjasm.pas M compiler/jvm/hlcgcpu.pas M compiler/jvm/jvmdef.pas M compiler/jvm/njvmcnv.pas M compiler/jvm/njvmcon.pas M compiler/jvm/njvminl.pas M compiler/jvm/rgcpu.pas M compiler/jvm/tgcpu.pas M compiler/llvm/aasmllvm.pas M compiler/llvm/agllvm.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvmdef.pas M compiler/llvm/llvmtype.pas M compiler/llvm/nllvmbas.pas M compiler/llvm/nllvmld.pas M compiler/llvm/nllvmtcon.pas M compiler/llvm/rgllvm.pas M compiler/mips/aasmcpu.pas M compiler/mips/aoptcpu.pas M compiler/mips/cgcpu.pas M compiler/mips/cpubase.pas M compiler/mips/cpuelf.pas M compiler/mips/cpupara.pas M compiler/mips/hlcgcpu.pas M compiler/mips/itcpugas.pas M compiler/mips/ncpuadd.pas M compiler/mips/ncpuld.pas M compiler/nadd.pas M compiler/nbas.pas M compiler/ncal.pas M compiler/ncgbas.pas M compiler/ncgcal.pas M compiler/ncgcnv.pas M compiler/ncgcon.pas M compiler/ncgld.pas M compiler/ncgmem.pas M compiler/ncgnstld.pas M compiler/ncgrtti.pas M compiler/ncgset.pas M compiler/ncgutil.pas M compiler/ncgvmt.pas M compiler/ncnv.pas M compiler/ncon.pas M compiler/ngenutil.pas M compiler/ngtcon.pas M compiler/ninl.pas M compiler/nmat.pas M compiler/nmem.pas M compiler/nopt.pas M compiler/nset.pas M compiler/nutils.pas M compiler/ogbase.pas M compiler/ogcoff.pas M compiler/ogelf.pas M compiler/ogmacho.pas M compiler/ogomf.pas M compiler/omfbase.pas M compiler/optdfa.pas M compiler/options.pas M compiler/optloop.pas M compiler/opttail.pas M compiler/optutils.pas M compiler/optvirt.pas M compiler/parabase.pas M compiler/paramgr.pas M compiler/parser.pas M compiler/pbase.pas M compiler/pdecl.pas M compiler/pdecobj.pas M compiler/pdecsub.pas M compiler/pdecvar.pas M compiler/pexports.pas M compiler/pexpr.pas M compiler/pgenutil.pas M compiler/pkgutil.pas M compiler/powerpc/agppcmpw.pas M compiler/powerpc/aoptcpu.pas M compiler/powerpc/cgcpu.pas M compiler/powerpc/cpubase.pas M compiler/powerpc/cpupara.pas M compiler/powerpc/nppcadd.pas M compiler/powerpc/nppcmat.pas M compiler/powerpc/rappcgas.pas M compiler/powerpc64/cgcpu.pas M compiler/powerpc64/cpubase.pas M compiler/powerpc64/cpupara.pas M compiler/powerpc64/nppcadd.pas M compiler/powerpc64/rappcgas.pas M compiler/pparautl.pas M compiler/ppcgen/aasmcpu.pas M compiler/ppcgen/agppcgas.pas M compiler/ppcgen/cgppc.pas M compiler/ppcgen/ngppcadd.pas M compiler/psub.pas M compiler/ptype.pas M compiler/rautils.pas M compiler/rgobj.pas M compiler/riscv/aasmcpu.pas M compiler/riscv/agrvgas.pas M compiler/riscv32/aoptcpu.pas M compiler/riscv32/cpubase.pas M compiler/riscv32/cpupara.pas M compiler/riscv32/cpupi.pas M compiler/riscv32/nrv32cnv.pas M compiler/riscv32/rarv32gas.pas M compiler/riscv64/aoptcpu.pas M compiler/riscv64/cgcpu.pas M compiler/riscv64/cpubase.pas M compiler/riscv64/cpupara.pas M compiler/riscv64/cpupi.pas M compiler/riscv64/rarv64gas.pas M compiler/scanner.pas M compiler/sparc/cgcpu.pas M compiler/sparc/cpupara.pas M compiler/sparc64/cpugas.pas M compiler/sparc64/cpupara.pas M compiler/sparcgen/aoptcpu.pas M compiler/sparcgen/cgsparc.pas M compiler/sparcgen/cpugas.pas M compiler/sparcgen/itcpugas.pas M compiler/sparcgen/rgcpu.pas M compiler/symcreat.pas M compiler/symdef.pas M compiler/symsym.pas M compiler/symtable.pas M compiler/symtype.pas M compiler/symutil.pas M compiler/systems/t_amiga.pas M compiler/systems/t_bsd.pas M compiler/systems/t_embed.pas M compiler/systems/t_macos.pas M compiler/systems/t_nds.pas M compiler/systems/t_win.pas M compiler/x86/aasmcpu.pas M compiler/x86/agx86att.pas M compiler/x86/agx86int.pas M compiler/x86/aoptx86.pas M compiler/x86/cgx86.pas M compiler/x86/cpubase.pas M compiler/x86/nx86add.pas M compiler/x86/nx86cnv.pas M compiler/x86/nx86ld.pas M compiler/x86/nx86mat.pas M compiler/x86/nx86mem.pas M compiler/x86/rax86.pas M compiler/x86/rax86att.pas M compiler/x86/rax86int.pas M compiler/x86/rgx86.pas M compiler/x86/symx86.pas M compiler/x86_64/aoptcpu.pas M compiler/x86_64/cpuelf.pas M compiler/x86_64/cpupara.pas M compiler/x86_64/nx64flw.pas M compiler/x86_64/win64unw.pas --- commit ba1b4b1c920a86bf7f8c6fe8777026e0092a9651 Author: Jonas Maebe Date: Sun May 12 14:29:11 2019 +0000 + support for verifying whether a case statements handles all possibilities (based on patch by Martok) o enabled by default in ISO and Extended Pascal: compile-time error if not the case in ISO mode, warning and run-time error in Extended Pascal mode o warning enabled by default in all other modes for boolean, enumeration and subrange integer types with ranges different from the default ones (i.e., different from 0..255, -128..127, 0..65536, etc) o warnings for all ordinal types can be enabled in all modes with -CC git-svn-id: trunk@42047 - M .gitattributes M compiler/globtype.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/ncgset.pas M compiler/nset.pas M compiler/options.pas M compiler/optutils.pas M compiler/scandir.pas M compiler/scanner.pas M compiler/x86/nx86set.pas M compiler/x86_64/nx64set.pas A tests/test/tcasecov1.pp A tests/test/tcasecov2.pp A tests/test/tcasecov3.pp A tests/test/tcasecov4.pp A tests/test/tcasecov5.pp A tests/test/tcasecov6.pp A tests/test/tcasecov7.pp A tests/test/tcasecov8.pp A tests/test/tcasecov9.pp --- commit b291d17fc5e3b53ce4e8cc5f37d6f9717a9f2288 Author: Jonas Maebe Date: Mon May 13 20:30:28 2019 +0000 * fix overflow errors in case coverage code git-svn-id: trunk@42059 - M compiler/nset.pas --- commit cf9596421bab9d2feb295e2bdbf013195a8061fb Author: Jonas Maebe Date: Tue May 14 19:19:14 2019 +0000 * fixed crashes on platforms using parentfpstructs with generic routines that contain nested functions (when specialised, procedures don't have the main function of the unit/program as parent procinfo) git-svn-id: trunk@42063 - M compiler/ncgnstld.pas M compiler/ncgnstmm.pas M compiler/symdef.pas --- commit c0f064a35ceb3a847e6f976ba8879bd288bd2cd8 Author: pierre Date: Thu May 16 12:42:39 2019 +0000 Remove two warnings about missing case (others are still present in ppudump.pp source) git-svn-id: trunk@42085 - M compiler/utils/ppuutils/ppudump.pp M compiler/utils/ppuutils/ppuout.pp --- commit 2ff391c25c763d3aa585160c5643293571a37e29 Author: pierre Date: Fri May 17 06:39:57 2019 +0000 Fix arm-aros rtl compilation git-svn-id: trunk@42090 - M compiler/arm/aasmcpu.pas --- commit 7e51c5e8561c905ef0041a993ce933093da43798 Author: Jonas Maebe Date: Sat May 18 12:01:41 2019 +0000 * DFA now takes case-completeness into account (mantis #35598) git-svn-id: trunk@42091 - M .gitattributes M compiler/optdfa.pas A tests/test/opt/tdfa19.pp A tests/test/opt/tdfa20.pp --- commit 332679e28aabacc973453b31ba062f4141e919d9 Author: Jonas Maebe Date: Sat May 18 12:29:35 2019 +0000 * updated German message files (patch by Karl-Michael Schindler, mantis #35559) git-svn-id: trunk@42092 - M compiler/msg/errord.msg M compiler/msg/errordu.msg --- commit 8ec3cd6390b6da0f42cb4cf79fe910c04dc9dd5d Author: Jonas Maebe Date: Sat May 18 18:41:33 2019 +0000 * append rather than insert the alias symbols for the program/procedure initialisation/finalisation routines o this ensures the procdef's mangled name and its first symbol match, which is required for Darwin when generating debug information and using ".set" directives to define alias symbols, because a symbol defined via ".set" cannot be used in a data relocations (and the DWARF debug generator uses the default mangled name, which used to correspond to the alias symbol due to the "insert" instead of "append") git-svn-id: trunk@42094 - M compiler/pmodules.pas --- commit 47812c8a3d5e4689d16d577507214929af857ff4 Author: Jonas Maebe Date: Sat May 18 18:41:38 2019 +0000 * don't double-define function aliases for Darwin defined via ".set" directive git-svn-id: trunk@42095 - M compiler/aasmtai.pas M compiler/aggas.pas M compiler/hlcgobj.pas --- commit eb0f02348d240a2f68c662d83ab0cba140954b4d Author: Jonas Maebe Date: Sun May 19 19:20:29 2019 +0000 * fixed loading parent frame pointer for nested procvars on targets that that use explicit parentfp structs (fixes webtbs/tw17379 for llvm) git-svn-id: trunk@42100 - M compiler/ncgld.pas M tests/webtbs/tw17379.pp --- commit 4c34b7b67d9869f889d9b62a30cf2bfe1231d6ae Author: Jonas Maebe Date: Sun May 19 19:20:34 2019 +0000 * fixed memory leak git-svn-id: trunk@42101 - M compiler/pexpr.pas --- commit a418dc6c912099c870db748c09be7bd87bfe199a Author: Jonas Maebe Date: Sun May 19 19:20:42 2019 +0000 * made the fields array parameter of llvmgettemprecorddef "const", as it doesn't get modified and hence doesn't need to be copied git-svn-id: trunk@42103 - M compiler/llvm/llvmdef.pas --- commit aad87820e687fd71d0c8f87b559b8f4b367df657 Author: Jonas Maebe Date: Sun May 19 19:20:47 2019 +0000 * abstracted registration of library init/fini routines (to be able to add LLVM support) git-svn-id: trunk@42104 - M compiler/ngenutil.pas M compiler/pmodules.pas M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp M rtl/inc/compproc.inc M rtl/inc/system.inc --- commit dd418f24b594340b84eac3805f906c7dc97e2b7e Author: pierre Date: Mon May 20 12:48:12 2019 +0000 Add DEBUG_PPU conditional code to be able to debug ppu changes (only useful for debugging purposes) git-svn-id: trunk@42110 - M compiler/entfile.pas M compiler/ppu.pas --- commit 77658b925bef93b5ae127e686acf63cae731b234 Author: Jonas Maebe Date: Sat May 25 12:31:32 2019 +0000 * disable regular array -> dynamic array type coversion support unless {$modeswitch arraytodynarray} is active (mantis #35576) o changed compiler to compile without this modeswitch o added the modeswitch to a test that depends on it git-svn-id: trunk@42118 - M compiler/aarch64/cpupara.pas M compiler/arm/cpupara.pas M compiler/defcmp.pas M compiler/globtype.pas M compiler/i386/cpupara.pas M compiler/i8086/cpupara.pas M compiler/jvm/cpupara.pas M compiler/m68k/cpupara.pas M compiler/mips/cpupara.pas M compiler/paramgr.pas M compiler/powerpc/cpupara.pas M compiler/powerpc64/cpupara.pas M compiler/x86_64/cpupara.pas M tests/webtbs/tw2983.pp --- commit 9313ddea78051cc7ec69710462dc2e880080a1ed Author: marco Date: Fri May 31 10:32:49 2019 +0000 * fix mantis 035656 git-svn-id: trunk@42146 - M compiler/symdef.pas --- commit cba4aeaca5dcbed78c85b804ed7a5bded119446f Author: Jeppe Johansen Date: Sat Jun 1 20:30:09 2019 +0000 Fix division of constants on ARM thumb without long multiplication. git-svn-id: trunk@42158 - M compiler/arm/narmmat.pas --- commit 322a717c446f4cc3e53966e908790a87cb309d2c Author: Jonas Maebe Date: Sun Jun 2 18:32:58 2019 +0000 * support for handling subsetrefs with bitlen > AIntBits in a_load_subsetref_reg() and a_load_const/reg_subsetref() (needed for handling 32 bit platforms using a purely high level code generator like LLVM's, and may also improve the situation for 16 bit platforms) o can probably be optimized to split them into parts that cover partial word loads and complete word loads (to reduce useless merging) git-svn-id: trunk@42165 - M compiler/hlcgobj.pas --- commit eab079c7bd9d93bc3f02309e9ada641a7c43c60d Author: Jonas Maebe Date: Sun Jun 2 20:04:06 2019 +0000 * fixed cbool "and" with full boolean evaluation, and cbool "xor" (mantis #35272) git-svn-id: trunk@42167 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw35272.pp --- commit 750567f8e36edb9af45221299f76d2e33b1ac8bc Author: Jeppe Johansen Date: Mon Jun 3 22:10:49 2019 +0000 Added T2 form of LDR/STR for SP relative forms. git-svn-id: trunk@42169 - M compiler/arm/armins.dat M compiler/arm/armnop.inc M compiler/arm/armtab.inc --- commit 4dbccce43c24eea0f0e9d97e66ba84ce45a40e6b Author: nickysn Date: Thu Jun 6 16:00:29 2019 +0000 + added TNewExeHeaderFlags type, describing the flags in the header of win16 executables git-svn-id: trunk@42179 - M compiler/ogomf.pas --- commit ded3dec22af8e83e1338569ca7cbe6daad23d3f6 Author: nickysn Date: Fri Jun 7 13:09:35 2019 +0000 + added enum TNewExeTargetOS git-svn-id: trunk@42187 - M compiler/ogomf.pas --- commit 465e8a99e00aef67489c91014f6bf2dcd67b4545 Author: nickysn Date: Fri Jun 7 14:15:07 2019 +0000 + added type TNewExeAdditionalHeaderFlags git-svn-id: trunk@42188 - M compiler/ogomf.pas --- commit 1dee4c41dd487adbc3eef94ac974f069deefcb6e Author: Jonas Maebe Date: Fri Jun 7 18:17:55 2019 +0000 - removed "cmp 0/1, pasbool1" optimization for llvm because this discards the upper 7 bits of the boolean, while other platforms take it into account (even though they're technically always required to be 0, and the value is undefined if they're not) git-svn-id: trunk@42189 - M compiler/llvm/hlcgllvm.pas --- commit 17c48694a50b69e1f8ae9f10b878a5057ab4b02a Author: florian Date: Sun Jun 9 20:05:21 2019 +0000 * fix bootstrapping with 3.0.x and -O3 git-svn-id: trunk@42197 - M compiler/fpcdefs.inc --- commit fe99252a9b71bac16570c95e54f4165312d12fce Author: florian Date: Sun Jun 9 20:08:09 2019 +0000 * lazarus version update git-svn-id: trunk@42198 - M compiler/pp.lpi --- commit 4239742b35471d8c36d1dca9c2bec527d66c12de Author: Legolas Date: Sun Jun 9 22:27:16 2019 +0000 * GBA port updated git-svn-id: trunk@42201 - M compiler/systems/t_gba.pas M packages/libgbafpc/Makefile.fpc.fpcmake M packages/libgbafpc/src/gba/gba_sound.inc M rtl/gba/cprt0.as M rtl/gba/prt0.as --- commit 7c02f2b5314b4527db41eba28860ac5e121779bd Author: Legolas Date: Mon Jun 10 06:39:46 2019 +0000 * Nintendo DS port updated to libnds ver.1.7.3 git-svn-id: trunk@42202 - M .gitattributes M compiler/systems/t_nds.pas M packages/libndsfpc/examples/audio/maxmod/audio_modes/audio_modes.pp M packages/libndsfpc/examples/audio/maxmod/reverb/reverb.pp M packages/libndsfpc/examples/audio/maxmod/song_events_example/song_events_example.pp M packages/libndsfpc/examples/audio/maxmod/song_events_example2/song_events_example2.pp M packages/libndsfpc/examples/audio/maxmod/streaming/streaming.pp M packages/libndsfpc/examples/audio/micrecord/micrecord.pp M packages/libndsfpc/examples/card/eeprom/eeprom.pp M packages/libndsfpc/examples/ds_motion/dsMotion.pp M packages/libndsfpc/examples/dswifi/ap_search/apSearch.pp M packages/libndsfpc/examples/dswifi/autoconnect/autoconnect.pp M packages/libndsfpc/examples/dswifi/httpget/httpget.pp M packages/libndsfpc/examples/filesystem/libfat/libfatdir/libfatdir.pp M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/3DBothScreens.pp M packages/libndsfpc/examples/graphics/3D/BoxTest/BoxTest.pp M packages/libndsfpc/examples/graphics/3D/Display_List/DisplayList.pp M packages/libndsfpc/examples/graphics/3D/Display_List_2/DisplayList2.pp M packages/libndsfpc/examples/graphics/3D/Env_Mapping/EnvMapping.pp M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/MixedText3D.pp M packages/libndsfpc/examples/graphics/3D/Ortho/Ortho.pp M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/PalettedCube.pp M packages/libndsfpc/examples/graphics/3D/Picking/Picking.pp M packages/libndsfpc/examples/graphics/3D/Simple_Quad/SimpleQuad.pp M packages/libndsfpc/examples/graphics/3D/Simple_Tri/SimpleTri.pp M packages/libndsfpc/examples/graphics/3D/Textured_Cube/TexturedCube.pp M packages/libndsfpc/examples/graphics/3D/Textured_Quad/TexturedQuad.pp M packages/libndsfpc/examples/graphics/3D/Toon_Shading/ToonShading.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/lesson01.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/lesson02.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/lesson03.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/lesson04.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/lesson05.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/lesson06.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/lesson07.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/lesson08.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/lesson09.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/lesson10.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/lesson10b.pp M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/lesson11.pp M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/BackgroundAllInOne.pp M packages/libndsfpc/examples/graphics/Makefile.fpc M packages/libndsfpc/examples/graphics/Printing/ansi_console/AnsiConsole.pp M packages/libndsfpc/examples/graphics/Printing/console_windows/ConsoleWindows.pp M packages/libndsfpc/examples/graphics/Printing/custom_font/CustomFont.pp M packages/libndsfpc/examples/graphics/Printing/print_both_screens/printBothScreens.pp M packages/libndsfpc/examples/graphics/Printing/rotscale_text/RotscaleText.pp M packages/libndsfpc/examples/graphics/Sprites/allocation_test/AllocationTest.pp M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/BitmapSprites.pp M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/FireAndSprites.pp M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/data/ball.pcx A packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile A packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile.fpc A packages/libndsfpc/examples/graphics/grit/256colorTilemap/gfx/tilemap.grit A packages/libndsfpc/examples/graphics/grit/256colorTilemap/gfx/tilemap.png A packages/libndsfpc/examples/graphics/grit/256colorTilemap/tilemap_256_color.pp A packages/libndsfpc/examples/graphics/grit/Makefile.fpc M packages/libndsfpc/examples/hello_world/helloWorld.pp M packages/libndsfpc/examples/time/RealTimeClock/Makefile.fpc M packages/libndsfpc/src/dswifi/inc/dswifi9.inc M packages/libndsfpc/src/fat/fat.inc M packages/libndsfpc/src/fat/gbfs.pp A packages/libndsfpc/src/nds/arm7/aes.inc M packages/libndsfpc/src/nds/arm7/audio.inc M packages/libndsfpc/src/nds/arm7/clock.inc A packages/libndsfpc/src/nds/arm7/codec.inc M packages/libndsfpc/src/nds/arm7/sdmmc.inc M packages/libndsfpc/src/nds/arm7/touch.inc A packages/libndsfpc/src/nds/arm9/cache_asm.inc M packages/libndsfpc/src/nds/arm9/dldi.inc A packages/libndsfpc/src/nds/arm9/dldi_asm.inc M packages/libndsfpc/src/nds/arm9/guitarGrip.inc M packages/libndsfpc/src/nds/arm9/math.inc A packages/libndsfpc/src/nds/arm9/nand.inc M packages/libndsfpc/src/nds/arm9/sassert.inc M packages/libndsfpc/src/nds/arm9/sprite.inc M packages/libndsfpc/src/nds/arm9/video.inc M packages/libndsfpc/src/nds/card.inc M packages/libndsfpc/src/nds/disc_io.inc M packages/libndsfpc/src/nds/dma.inc M packages/libndsfpc/src/nds/fifocommon.inc M packages/libndsfpc/src/nds/fifomessages.inc M packages/libndsfpc/src/nds/interrupts.inc M packages/libndsfpc/src/nds/libversion.inc M packages/libndsfpc/src/nds/memory.inc M packages/libndsfpc/src/nds/ndsinclude.inc M packages/libndsfpc/src/nds/ndstypes.inc M packages/libndsfpc/src/nds/registers_alt.inc A packages/libndsfpc/src/nds/rsa.inc A packages/libndsfpc/src/nds/sha1.inc M packages/libndsfpc/src/nds/system.inc M packages/libndsfpc/src/nds7.pp M packages/libndsfpc/src/nds9.pp M rtl/nds/cprt07.as M rtl/nds/cprt09.as M rtl/nds/prt07.as M rtl/nds/prt09.as M rtl/nds/system.pp --- commit 2487fa76056397bdca5711c3360bfb27f0620b4c Author: nickysn Date: Mon Jun 10 13:06:58 2019 +0000 + added set TNewExeSegmentFlags git-svn-id: trunk@42203 - M compiler/ogomf.pas --- commit 1e07606cbfb0166728c305cd73d35d28a3d9ccfe Author: nickysn Date: Mon Jun 10 15:08:46 2019 +0000 * prettify the "Use of +offset(%ebp) is not compatible with regcall convention" and "Use of +offset(%ebp) for parameters invalid here" warning messages by showing the exact register used (bp, ebp or rbp) and using the original asm syntax (Intel: [EBP+offset]; AT&T: +offset(%ebp) ) git-svn-id: trunk@42207 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/x86/rax86.pas --- commit 4f2ab3fb1130a34460f5a2c5c0fa8db24d8f036c Author: nickysn Date: Mon Jun 10 15:26:46 2019 +0000 * prettify the "Use of -offset(%ebp) is not recommended for local variable access" warning by showing the exact register used (bp, ebp or rbp) and using the original asm syntax git-svn-id: trunk@42208 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/x86/rax86.pas --- commit ce8ec3ab5d5d8458b16c2e19e2650ec16822e542 Author: nickysn Date: Mon Jun 10 15:44:19 2019 +0000 + introduced the asmmodes_x86_intel constant set git-svn-id: trunk@42209 - M compiler/systems.pas M compiler/x86/rax86.pas --- commit d2b3da1f145484472d9ab905805715dd55a8575a Author: nickysn Date: Mon Jun 10 15:58:16 2019 +0000 + add asmmode_standard to the asmmodes_x86_intel set on i8086, because i8086 defaults to intel syntax git-svn-id: trunk@42210 - M compiler/systems.pas --- commit 697f2fcf755fa92f67644acd88b1c1827c2ad8cd Author: nickysn Date: Mon Jun 10 16:19:06 2019 +0000 * prettify the "Use of -offset(%esp), access may cause a crash or value may be lost" warning by showing the exact register used (esp or rsp) and using the asm syntax (Intel or AT&T) used originally in the code git-svn-id: trunk@42211 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/x86/rax86.pas --- commit dec03b5ac7d43c9462d930f53a61a6e1514b5b08 Author: nickysn Date: Tue Jun 11 15:51:40 2019 +0000 + added the asmmodes_x86_att set constant - similar to asmmode_x86_intel, but for AT&T asm syntax git-svn-id: trunk@42212 - M compiler/systems.pas --- commit 73c88619293407e62f358e0442389fb3cc10a87f Author: florian Date: Tue Jun 11 20:03:47 2019 +0000 * suppress warning for targets without MM registers git-svn-id: trunk@42214 - M compiler/hlcg2ll.pas --- commit a9b015911dda052989f7c64a5604314a4cdc07b1 Author: Legolas Date: Wed Jun 12 16:35:25 2019 +0000 * Updated Wii port to libogc 1.8.22 git-svn-id: trunk@42216 - M compiler/systems/t_wii.pas M packages/libogcfpc/src/network.pp M packages/libogcfpc/src/ogc/arqmgr.inc M packages/libogcfpc/src/ogc/cast.inc M packages/libogcfpc/src/ogc/dsp.inc M packages/libogcfpc/src/ogc/gx.inc M packages/libogcfpc/src/ogc/isfs.inc M packages/libogcfpc/src/ogc/lwp_watchdog.inc M packages/libogcfpc/src/ogc/si.inc M packages/libogcfpc/src/ogc/system.inc M packages/libogcfpc/src/ogc/usbstorage.inc M packages/libogcfpc/src/ogcsys.inc M packages/libogcfpc/src/sdcard/card_io.inc --- commit 1474db42e45589fd8ee3f4a060e7efccacb4e7c7 Author: nickysn Date: Fri Jun 14 14:16:22 2019 +0000 + added class TNewExeHeader that encapsulates a NewExe header and allows writing it to a file git-svn-id: trunk@42223 - M compiler/ogomf.pas --- commit 7871ccd0546ee221079bb9f5c173d6d3eee4b23e Author: nickysn Date: Fri Jun 14 15:51:25 2019 +0000 + initialize some defaults in the TNewExeHeader constructor git-svn-id: trunk@42224 - M compiler/ogomf.pas --- commit d3c3f2742c87a5dbd6360e5e8f4cbfc0d72dadce Author: nickysn Date: Fri Jun 14 16:23:23 2019 +0000 + added class TNewExeOutput. Not functional yet. git-svn-id: trunk@42225 - M compiler/ogomf.pas --- commit db1903f45d6757f3d18799002df426b66fa4a0d6 Author: nickysn Date: Fri Jun 14 16:42:45 2019 +0000 + added a win16 internal linker class. Not functional yet. git-svn-id: trunk@42226 - M compiler/systems.inc M compiler/systems/t_win16.pas --- commit 9eaa46f7919d676acae31c785f8eb35b00138a1e Author: nickysn Date: Fri Jun 14 22:20:51 2019 +0000 + implement TInternalLinkerWin16.DefaultLinkScript by copying the MS-DOS implementation (not correct, but a good starting point) git-svn-id: trunk@42228 - M compiler/systems/t_win16.pas --- commit 1f3d5e88653a37b06dd3de08d68b2083a323fc31 Author: nickysn Date: Fri Jun 14 22:24:19 2019 +0000 - remove the tiny memory model code from TInternalLinkerWin16.DefaultLinkScript, because the Win16 target doesn't support the tiny memory model git-svn-id: trunk@42229 - M compiler/systems/t_win16.pas --- commit fe49522e6fbccf6fda941da340818b23e29dc1c1 Author: nickysn Date: Fri Jun 14 22:40:11 2019 +0000 + register a win16 dll scanner. Not functional yet. git-svn-id: trunk@42230 - M compiler/systems/t_win16.pas --- commit cdd2ba1a4deadb65f70f19db565c8136f6722885 Author: nickysn Date: Fri Jun 14 22:59:50 2019 +0000 + added constants for the known CC_OmfExtension record subtypes (IMPDEF and EXPDEF are the ones we care about - they are used in win16 dll import and export libraries) git-svn-id: trunk@42231 - M compiler/omfbase.pas --- commit 0db19546efc81de7638ea76bb323d00b1b8ea20e Author: nickysn Date: Fri Jun 14 23:06:58 2019 +0000 + dispatch the IMPDEF and EXPDEF records to the newly introduced ReadImpDef and ReadExpDef methods (not implemented yet) git-svn-id: trunk@42232 - M compiler/ogomf.pas --- commit 4f3a5cfd1ee6cdf21242bb730c2aef6c1744610a Author: nickysn Date: Fri Jun 14 23:10:38 2019 +0000 + use the new CC_OmfExtension_EXPDEF constant instead of the direct magic value when writing export libraries git-svn-id: trunk@42233 - M compiler/systems/t_win16.pas --- commit 9fe80d741686ccd0e1ad78be9af35c82de80a4f1 Author: nickysn Date: Fri Jun 14 23:11:25 2019 +0000 + use the new CC_OmfExtension_IMPDEF constant instead of the direct magic value when writing IMPDEF records git-svn-id: trunk@42234 - M compiler/ogomf.pas --- commit 85684eb66d671df344c3395aa97ccd3ef591a137 Author: nickysn Date: Fri Jun 14 23:26:37 2019 +0000 + introduced the TOmfRecord_COMENT_Subtype abstract class git-svn-id: trunk@42235 - M compiler/omfbase.pas --- commit eea3eb1a8ec754748b565690cb590f5c0292da74 Author: nickysn Date: Fri Jun 14 23:50:48 2019 +0000 + introduced the TOmfRecord_COMENT_IMPDEF class. Use it to encode the IMPDEF records instead of encoding them directly. git-svn-id: trunk@42236 - M compiler/ogomf.pas M compiler/omfbase.pas --- commit cbf95aebf44616969cd12b1f3f3a984b1d9f7295 Author: nickysn Date: Sat Jun 15 00:30:07 2019 +0000 + introduced the TOmfRecord_COMENT_EXPDEF class. Use that to generate export libraries instead of generating the magic string directly. git-svn-id: trunk@42237 - M compiler/omfbase.pas M compiler/systems/t_win16.pas --- commit fbbf1f4f1cf29d23bdc337dcc7064e5e69aa3218 Author: nickysn Date: Sat Jun 15 22:14:09 2019 +0000 + Implemented TOmfRecord_COMENT_EXPDEF.DecodeFrom git-svn-id: trunk@42238 - M compiler/omfbase.pas --- commit 749c4d4e4724910f52059874df8d6fb12111a6d3 Author: florian Date: Sun Jun 16 21:29:48 2019 +0000 + keep (certain) arrays in registers if they are used with constants indices only git-svn-id: trunk@42239 - M compiler/defutil.pas M compiler/hlcgobj.pas M compiler/ncgmem.pas M compiler/ncnv.pas M compiler/nmem.pas M compiler/symdef.pas --- commit d80dc03ccbaae1a432356148b88f20a36a9ed72b Author: florian Date: Sun Jun 16 21:43:46 2019 +0000 * building on powerpc and arm fixed git-svn-id: trunk@42241 - M compiler/ncgmem.pas --- commit 5d4af28c0ff54f1b7d6d97f35a55074865612445 Author: nickysn Date: Mon Jun 17 01:53:38 2019 +0000 + implemented TOmfRecord_COMENT_IMPDEF.DecodeFrom git-svn-id: trunk@42242 - M compiler/omfbase.pas --- commit d6174499b1fdc948c28db191080da7f144c93d15 Author: Jonas Maebe Date: Tue Jun 18 19:16:33 2019 +0000 * disable array and record regvars for all cpuhighleveltarget platforms git-svn-id: trunk@42246 - M compiler/symdef.pas --- commit 243c967967070429195b93b0cb51d2b406badb4d Author: pierre Date: Sat Jun 22 14:08:47 2019 +0000 Commit of new debug feature implemented by J. Gareth Moreton Allows compilation of compiler using -dDEBUG_NODE_XML which will generate a NAME-node-dump.xml file for each unit, program or library compiled, containing a XML description of the nodes handled during compilation of the unit, program or library. git-svn-id: trunk@42271 - M compiler/finput.pas M compiler/i8086/n8086con.pas M compiler/nbas.pas M compiler/ncal.pas M compiler/ncnv.pas M compiler/ncon.pas M compiler/nflw.pas M compiler/ninl.pas M compiler/nld.pas M compiler/nmem.pas M compiler/node.pas M compiler/nset.pas M compiler/pmodules.pas M compiler/psub.pas --- commit 7ef3d39d93b8a07c88d5359e7d40bf46cecb6614 Author: Jonas Maebe Date: Thu Jun 27 19:20:45 2019 +0000 * one more disable location of DoPipe in case not on a Unix platform (mantis #35743) git-svn-id: trunk@42302 - M compiler/assemble.pas --- commit a57899323426c8e1d5cd5ae6bc1100464c1f1ae7 Author: svenbarth Date: Fri Jun 28 13:30:33 2019 +0000 * partial fix for Mantis #35346: more "inline" directives for TCStream and TCMemoryStream methods git-svn-id: trunk@42303 - M compiler/cstreams.pas --- commit 982a870b15184d033e72efb19b743947c43a8db8 Author: svenbarth Date: Fri Jun 28 13:30:35 2019 +0000 * remaining fix for Mantis #35346: add "inline" directives to various methods of tentryfile git-svn-id: trunk@42304 - M compiler/entfile.pas --- commit c425c51963854f592da4b9dbccef198959619cd6 Author: Jonas Maebe Date: Sat Jun 29 12:17:49 2019 +0000 * simplify and optimize generated LLVM code for case statements git-svn-id: trunk@42305 - M .gitattributes M compiler/llvm/llvmnode.pas A compiler/llvm/nllvmset.pas --- commit 98f55b1d8605ab1e5828d3a710df8c6e1afdad18 Author: Jonas Maebe Date: Sat Jun 29 16:27:10 2019 +0000 * also register symbols referenced from assembler via asolutevarsyms git-svn-id: trunk@42307 - M compiler/rautils.pas --- commit 6b97c712f69b190f2a9139d829fe5741d4430c3d Author: Jonas Maebe Date: Sat Jun 29 16:27:14 2019 +0000 * volatile syms should never be regable git-svn-id: trunk@42308 - M compiler/symsym.pas --- commit 0a91fcb44fb7cb51476ccc0ad2bd833d1f5af8c0 Author: Jonas Maebe Date: Sat Jun 29 16:27:18 2019 +0000 * LLVM-specific support for bsr*/bsf* git-svn-id: trunk@42309 - M compiler/llvm/nllvminl.pas M compiler/nbas.pas M compiler/ninl.pas M compiler/options.pas M rtl/inc/llvmintr.inc --- commit 789f13eb247ab4a811112b430d294a4bf70b9c44 Author: Jonas Maebe Date: Sun Jun 30 15:23:36 2019 +0000 * LLVM-specific support for popcnt git-svn-id: trunk@42311 - M compiler/llvm/nllvminl.pas M rtl/inc/llvmintr.inc --- commit cc9f8b7f5685e205695165386f3d262b0c02132f Author: Jonas Maebe Date: Sun Jun 30 16:24:44 2019 +0000 * record in ppu flag whether or not symbols are ansistrings, and use that flag in ppudump rather than hardcoding targets (it's also the case for LLVM) git-svn-id: trunk@42312 - M compiler/fppu.pas M compiler/globtype.pas M compiler/utils/ppuutils/ppudump.pp --- commit 40f6a4ea3c36aae0b4da2e3185b533826286b089 Author: Jonas Maebe Date: Sun Jun 30 16:24:48 2019 +0000 - removed remnants of old ppu file support (ppudump does not support any other ppu version than the current one anyway) git-svn-id: trunk@42313 - M compiler/utils/ppuutils/ppudump.pp --- commit 56acdd3a11576ff9473ac42b59dad47ee2f6ecc6 Author: Jonas Maebe Date: Sun Jun 30 17:19:31 2019 +0000 * fixed compilation with -dTest_Double_checksum_write git-svn-id: trunk@42314 - M compiler/fppu.pas --- commit 67cf63049d4f37852306f5be9681093c5e760f41 Author: pierre Date: Mon Jul 1 19:42:48 2019 +0000 Commit patch submitted in bug report #35787 by Gareth Moreton git-svn-id: trunk@42318 - M compiler/node.pas M compiler/psub.pas --- commit 40082100e1f688f755fd6726e01162fbf2af3c6c Author: Jonas Maebe Date: Sat Jul 6 09:57:32 2019 +0000 * fixed range test optimization for signed types and enabled it for them git-svn-id: trunk@42332 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw34385a.pp --- commit a1a17447ff3d95d0145d4113ad563f7360480a88 Author: Jeppe Johansen Date: Sun Jul 7 11:32:27 2019 +0000 - Fix bug in 64bit softfloat double negation. - Clean up handling of CPU/FPU type handling in RISCV. - Do more fixes to get RISCV32 working. - Fix most soft multiplication handling for generic RISCV code. Still missing a few. - Add RISCV embedded targets. git-svn-id: trunk@42335 - M compiler/globals.pas M compiler/ncgmat.pas M compiler/options.pas M compiler/riscv/agrvgas.pas M compiler/riscv/nrvadd.pas M compiler/riscv/nrvinl.pas M compiler/riscv32/cpuinfo.pas M compiler/riscv32/cpupara.pas M compiler/riscv32/nrv32mat.pas M compiler/riscv64/cpuinfo.pas M compiler/systems/i_embed.pas M compiler/systems/t_embed.pas --- commit 0f57327bff922d389dd7534cfcf29027efebc7a8 Author: Jonas Maebe Date: Sun Jul 7 21:33:36 2019 +0000 * maybereplacewithtemp/maybereplacewithtempref: also create a temp in case of possible side effects git-svn-id: trunk@42338 - M compiler/nbas.pas --- commit 449a14dddf92a0a45d0e810ba01d482ea5f27b9d Author: Jonas Maebe Date: Sun Jul 7 21:33:39 2019 +0000 - disabled ogmacho, as it can no longer deal with the assembly we generate git-svn-id: trunk@42339 - M compiler/i386/cputarg.pas --- commit 3fee990218b4648ab020d85f783959b1d8fb0dd4 Author: Jonas Maebe Date: Sun Jul 7 21:33:43 2019 +0000 * on Mach-O, PECOFF and ELF platforms, write local symbols as hidden/ private_extern (or plain global in case of PECOFF, as the effect is the same there): visible across object files, but they become local when linked into a binary/library. This enables cross-unit inlining of functions accessig implementation-only symbols. git-svn-id: trunk@42340 - M compiler/aarch64/hlcgcpu.pas M compiler/aasmbase.pas M compiler/aasmtai.pas M compiler/aggas.pas M compiler/arm/hlcgcpu.pas M compiler/elfbase.pas M compiler/hlcgobj.pas M compiler/i386/hlcgcpu.pas M compiler/i8086/hlcgcpu.pas M compiler/llvm/nllvmutil.pas M compiler/m68k/hlcgcpu.pas M compiler/mips/hlcgcpu.pas M compiler/ncal.pas M compiler/ncgutil.pas M compiler/ngenutil.pas M compiler/ngtcon.pas M compiler/ogbase.pas M compiler/ogcoff.pas M compiler/ogelf.pas M compiler/ppcgen/hlcgppc.pas M compiler/psub.pas M compiler/riscv/hlcgrv.pas M compiler/sparcgen/hlcgcpu.pas M compiler/systems.pas M compiler/systems/i_android.pas M compiler/systems/i_aros.pas M compiler/systems/i_bsd.pas M compiler/systems/i_haiku.pas M compiler/systems/i_linux.pas M compiler/systems/i_nativent.pas M compiler/systems/i_sunos.pas M compiler/systems/i_win.pas M compiler/x86/agx86nsm.pas M compiler/x86_64/hlcgcpu.pas --- commit e56b58c2b05124558bc3c0d18ef1d1c48e9b6d01 Author: Jonas Maebe Date: Sun Jul 7 21:33:47 2019 +0000 * factored out checks whether a procdef's symbol needs to be global, and the generation of the procdef's asmsymbols o also removed unnecessary definition of procdef alias symbols for Darwin (they are already defined in ncgutil.alloc_proc_symbol) git-svn-id: trunk@42341 - M compiler/aasmdata.pas M compiler/hlcgobj.pas M compiler/ncgutil.pas M compiler/psub.pas M compiler/symdef.pas --- commit 7f772683cb0c265dd3c8f84d5e2ee38c73e24b74 Author: Jonas Maebe Date: Sun Jul 7 21:33:51 2019 +0000 * fix tobjectdef.vmt_def to search in the correct symtable * always register vmt defs (so they get written to the ppu) in case of llvm, because it may need this def in case a method from a class defined in the implementation of unit gets called from an inlined routine that gets inlined in another unit (normally that vmt def would not get written to the ppu file, as it can't be referenced from the interface and it's also not necessarily directly referenced from the inline routine's nodes) (fixes sdo_dataobject compilation with LLVM after enabling cross-unit inlining of methods accessing static symbol table symbols) git-svn-id: trunk@42342 - M compiler/nobj.pas M compiler/symdef.pas --- commit 0a94f8fc085580d97717c8a8f2e19a9a53a44aaf Author: nickysn Date: Tue Jul 9 12:31:11 2019 +0000 + parse the IMPDEF record in TOmfObjInput.ReadImpDef git-svn-id: trunk@42346 - M compiler/ogomf.pas --- commit b2932393df279c6856cb7fbc12a389fac3de060e Author: svenbarth Date: Fri Jul 12 22:04:48 2019 +0000 Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 1/3] Implemented attributes for class types and properties (based on work by Joost van der Sluis). Added TCustomAttribute - a base class for attributes. Added TUnitInfo record to RTTI. It contains the unit name and unit options (for now only a flag which specifies if the unit contains attributes). Added several tests for attributes. git-svn-id: trunk@42356 - M .gitattributes M compiler/fmodule.pas M compiler/globals.pas M compiler/globtype.pas M compiler/msg/errore.msg M compiler/ncgrtti.pas M compiler/ngenutil.pas M compiler/pdecl.pas M compiler/pdecobj.pas M compiler/pmodules.pas M compiler/psub.pas M compiler/ptype.pas M compiler/symconst.pas M compiler/symcreat.pas M compiler/symdef.pas M compiler/symsym.pas M compiler/symtable.pas M packages/rtl-objpas/src/inc/rtti.pp M rtl/inc/objpas.inc M rtl/inc/objpash.inc M rtl/objpas/typinfo.pp A tests/test/tclassattribute1.pp A tests/test/tclassattribute10.pp A tests/test/tclassattribute2.pp A tests/test/tclassattribute3.pp A tests/test/tclassattribute4.pp A tests/test/tclassattribute5.pp A tests/test/tclassattribute6.pp A tests/test/tclassattribute7.pp A tests/test/tclassattribute8.pp A tests/test/tclassattribute9.pp --- commit f91e38d1bd3ba024ff15a4db488e2bd2d69f9bcf Author: svenbarth Date: Fri Jul 12 22:04:53 2019 +0000 Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 2/3] Regenerated compiler/msgidx.inc and compiler/msgtxt.inc. git-svn-id: trunk@42357 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 84848df18d3b351fec0651a9873128553e84e522 Author: svenbarth Date: Fri Jul 12 22:04:56 2019 +0000 Reintegration of Custom Attributes branch by Joost van der Sluis with patches reworked by Svetozar Belic [patch 3/3] Added FPC_REQUIRES_PROPER_ALIGNMENT to TUnitInfo definition. Added FPC_HAS_EXTENDED_RTTI define. git-svn-id: trunk@42358 - M compiler/ngenutil.pas M compiler/options.pas M rtl/objpas/typinfo.pp --- commit 39bab2dbcc3961a59542c60abd70ad73930087a1 Author: svenbarth Date: Fri Jul 12 22:05:00 2019 +0000 * rename trtti_attributesdef to trtti_attributes_list git-svn-id: trunk@42359 - M compiler/ncgrtti.pas M compiler/pdecl.pas M compiler/pdecobj.pas M compiler/ptype.pas M compiler/symdef.pas M compiler/symsym.pas --- commit ed5f19e7e388356d644a695c16c8c520811099fc Author: svenbarth Date: Fri Jul 12 22:05:05 2019 +0000 * change boolean parameters for try_consume_unitsym to a set git-svn-id: trunk@42360 - M compiler/pbase.pas M compiler/pexpr.pas M compiler/pstatmnt.pas M compiler/ptype.pas --- commit 24c4b90343c76d18eb4fb3ae3d85000d03c321e6 Author: svenbarth Date: Fri Jul 12 22:05:18 2019 +0000 * instead of declaring another type with a 'attribute' suffix, *search* for another type with a 'ATTRIBUTE' suffix (Delphi allows declaring both a TFoo and TFooAttribute in the same unit) + added test git-svn-id: trunk@42362 - M .gitattributes M compiler/globals.pas M compiler/pbase.pas M compiler/pdecl.pas M compiler/pexpr.pas A tests/test/tcustomattr11.pp --- commit ba413bcdfcafdd5ad69be04685808df1b836608c Author: svenbarth Date: Fri Jul 12 22:05:21 2019 +0000 * fix typo git-svn-id: trunk@42363 - M compiler/pdecl.pas M compiler/pdecobj.pas --- commit d137e06ade00a851a5370367243c11fcc79043ea Author: svenbarth Date: Fri Jul 12 22:05:29 2019 +0000 * instead of embedding the attributes inside the class' and property's type data only store a reference to a table of attributes git-svn-id: trunk@42365 - M compiler/ncgrtti.pas M packages/rtl-objpas/src/inc/rtti.pp M rtl/objpas/typinfo.pp --- commit ee940c8270c8fbdd585cdcd548930e1a6872ab55 Author: svenbarth Date: Fri Jul 12 22:05:42 2019 +0000 * always write a class' reference to the attribute table, even if the unit does not have attributes git-svn-id: trunk@42368 - M compiler/ncgrtti.pas M rtl/objpas/typinfo.pp --- commit e296b26e9ed25051d1d70504c7270f2f649f5d81 Author: svenbarth Date: Fri Jul 12 22:05:47 2019 +0000 - remove unit info and related code again as that will be handled similar, but differently with dynamic packages git-svn-id: trunk@42369 - M compiler/fmodule.pas M compiler/ncgrtti.pas M compiler/ngenutil.pas M compiler/options.pas M compiler/pdecl.pas M compiler/pmodules.pas M rtl/inc/objpas.inc M rtl/objpas/typinfo.pp --- commit a1b556d2118d91a235a1ed365bf88ada086237d4 Author: svenbarth Date: Fri Jul 12 22:06:05 2019 +0000 * considering that at least in theory every symbol and every def can carry RTTI attributes (Delphi only supports property and field symbols), move the rtti_attribute_list to tstoredsym/tstoreddef git-svn-id: trunk@42374 - M compiler/symdef.pas M compiler/symsym.pas --- commit 3ad24c9db8725f6b53e3f3250807ac850a7769a7 Author: svenbarth Date: Fri Jul 12 22:06:09 2019 +0000 * as attributes can be part of any type they are best suited in a common part of TTypeData git-svn-id: trunk@42375 - M compiler/ncgrtti.pas M compiler/symconst.pas M rtl/inc/dynarr.inc M rtl/inc/objpas.inc M rtl/inc/rttidecl.inc M rtl/inc/system.inc M rtl/objpas/typinfo.pp --- commit f1715ff337103b83ce632e92ea9425b308269fa2 Author: svenbarth Date: Fri Jul 12 22:06:13 2019 +0000 * fix code formatting (no code changes) git-svn-id: trunk@42376 - M compiler/pdecl.pas --- commit 62c137a6d801c5cdc3a2b9f20ea8731836523279 Author: svenbarth Date: Fri Jul 12 22:06:16 2019 +0000 * check that we indeed have a type node and nothing else * with a type node it's not necessary to check whether it's typedef is assigned git-svn-id: trunk@42377 - M compiler/pdecl.pas --- commit ab2fa724ecddafea7950d8998665d02ec5af3354 Author: svenbarth Date: Fri Jul 12 22:06:20 2019 +0000 * fix code formatting (no code changes) git-svn-id: trunk@42378 - M compiler/pdecl.pas --- commit db37146f128563ea196aa00b118dbc9376e53f48 Author: svenbarth Date: Fri Jul 12 22:06:24 2019 +0000 * rework code for parsing attributes to only allow constant expressions; Delphi only allows those as well and better we don't open *that* pandora's box just yet git-svn-id: trunk@42379 - M compiler/pdecl.pas --- commit 3a20178d96463df72b4357fad69838b87d0a5825 Author: svenbarth Date: Fri Jul 12 22:06:31 2019 +0000 * fix code formatting (no code changes) git-svn-id: trunk@42381 - M compiler/symdef.pas --- commit 0e04d9b4def9447c67da46cfc22b8157d44b34bc Author: svenbarth Date: Fri Jul 12 22:06:34 2019 +0000 * store the parameter nodes in the attribute object as well (we need to write them to the RTTI as well as store them in the PPU) git-svn-id: trunk@42382 - M compiler/pdecl.pas M compiler/symdef.pas --- commit b5e6c0b98d2c04b0d6ba105a9c52a65eea00609d Author: svenbarth Date: Fri Jul 12 22:06:38 2019 +0000 * ensure that any potentially created constructor call is freed if the attribute is not bound to a def or sym git-svn-id: trunk@42383 - M compiler/pdecl.pas M compiler/pdecobj.pas M compiler/symdef.pas --- commit 99914b427931330a22b9fe9210ea44acc6ee8101 Author: svenbarth Date: Fri Jul 12 22:06:41 2019 +0000 * instead of collecting the raw parameters we need to collect the parameters as passed to the call as there might be type conversions involved git-svn-id: trunk@42384 - M compiler/pdecl.pas --- commit d31dd4ac7b6a7f2543c130bb10d927e8688be5ad Author: svenbarth Date: Fri Jul 12 22:06:52 2019 +0000 * better check for a valid call node git-svn-id: trunk@42387 - M compiler/pdecl.pas --- commit f9cda608fa3b891ceec7d21cad66ef75bd4735dd Author: svenbarth Date: Fri Jul 12 22:06:57 2019 +0000 * take a copy of the constructor assignment node (and free it together with the attribute) git-svn-id: trunk@42388 - M compiler/symcreat.pas M compiler/symdef.pas --- commit 55d5bdc98d787c733b84b9381a992d67f27d9cf4 Author: svenbarth Date: Fri Jul 12 22:07:01 2019 +0000 + add methods for the const nodes to directly emit their constant data to a constant builder Note: reduce code duplication, especially for the tsetconstnode (with its descendant tcgsetconstnode) git-svn-id: trunk@42389 - M compiler/ncon.pas --- commit 71fa4d1fe2a5eaee061fb71fb2045bb5fff2db1b Author: svenbarth Date: Fri Jul 12 22:07:05 2019 +0000 * the RTTI of an attribute not only consists of the creation function, but also of the attribute's type, a pointer to the constructor and a data blob containing the constant parameters + added test git-svn-id: trunk@42390 - M .gitattributes M compiler/ncgrtti.pas M compiler/symconst.pas M rtl/objpas/typinfo.pp A tests/test/tcustomattr13.pp --- commit 5cea37425532e2ca502bdebe2acb19db22a31db9 Author: svenbarth Date: Fri Jul 12 22:07:08 2019 +0000 * add a remark that's going to be important once extended RTTI is supported (Delphi programs crash if an attribute's constructor is used that does not have any extended RTTI) git-svn-id: trunk@42391 - M compiler/pdecl.pas --- commit d9d2515ada949fa0c8993ec3ff6579a08624a865 Author: svenbarth Date: Fri Jul 12 22:07:11 2019 +0000 * move binding of a dangling attribute list to a sym's/def's attribute list to a class procedure of trtti_attribute_list git-svn-id: trunk@42392 - M compiler/pdecl.pas M compiler/pdecobj.pas M compiler/symdef.pas --- commit 0b63e89ba290a4df67893b01019c3614f8cb8f1e Author: svenbarth Date: Fri Jul 12 22:07:15 2019 +0000 * make the reference to the TCustomAttribute type global git-svn-id: trunk@42393 - M compiler/pdecl.pas M compiler/symdef.pas M compiler/symtable.pas --- commit ced3885dbb54688ca8e0ad3692949eb4fc108b9e Author: svenbarth Date: Fri Jul 12 22:07:20 2019 +0000 * generate construction function for the attributes used in a unit using a more straight forward approach ToDo: "collect" attributes of same type and same argument list and generate constructor only once for them git-svn-id: trunk@42394 - M compiler/fmodule.pas M compiler/ncgrtti.pas M compiler/pdecl.pas M compiler/pdecobj.pas M compiler/pmodules.pas M compiler/symcreat.pas M compiler/symdef.pas --- commit 402728239f070c34402db4a5f8f39c98788f95c9 Author: svenbarth Date: Fri Jul 12 22:07:24 2019 +0000 * trtti_attribute_list.bind already checks whether the dangling attribute list is assigned or not git-svn-id: trunk@42395 - M compiler/pdecl.pas M compiler/pdecobj.pas --- commit a64a8f8debb219661633a1121082bb882d8ccadd Author: svenbarth Date: Fri Jul 12 22:07:28 2019 +0000 - remove code to create an attribute using a synthetic function git-svn-id: trunk@42396 - M compiler/pdecl.pas M compiler/symconst.pas M compiler/symcreat.pas M compiler/symtable.pas --- commit 3a02393584b6b7e4e4ce5a4ff12353f78fa38b0d Author: svenbarth Date: Fri Jul 12 22:07:31 2019 +0000 - remove functionality to get the code block when parsing again (let's open this pandora's box only when really needed...) git-svn-id: trunk@42397 - M compiler/psub.pas --- commit 352ff5f82ad07bbd07430a1c433d1c417b9f78b2 Author: svenbarth Date: Fri Jul 12 22:07:34 2019 +0000 - symbolname field is no longer required git-svn-id: trunk@42398 - M compiler/symdef.pas --- commit dfb9fffcf917260a6479ce75da4b87b733d1b4e2 Author: svenbarth Date: Fri Jul 12 22:07:38 2019 +0000 + add functions for syms and defs and write sub entries of the sym/def to PPU and loads them again git-svn-id: trunk@42399 - M compiler/symdef.pas M compiler/symsym.pas M compiler/symtable.pas --- commit 8ce4f9606dbbae08b8cd9c7060ff6021943489dc Author: svenbarth Date: Fri Jul 12 22:07:41 2019 +0000 * explicitely store the procdef of the picked constructor of the attribute git-svn-id: trunk@42400 - M compiler/pdecl.pas M compiler/symdef.pas --- commit b945e66e2807410180709dd0b967e1ebe6cd912a Author: svenbarth Date: Fri Jul 12 22:07:46 2019 +0000 * store attribute information in PPU; this is less important for the compiler, but more for e.g. Lazarus when dealing with binary only units * increase ppu version + added test * adjust ppudump to handle attributes as well ToDo: output parameter nodes as well git-svn-id: trunk@42401 - M .gitattributes M compiler/ppu.pas M compiler/symdef.pas M compiler/symsym.pas M compiler/utils/ppuutils/ppudump.pp M compiler/utils/ppuutils/ppuout.pp A tests/test/tcustomattr14.pp A tests/test/ucustomattr14a.pp A tests/test/ucustomattr14b.pp --- commit a72553eea27cc4a8ca0c96456e439e283d9ef972 Author: svenbarth Date: Fri Jul 12 22:07:50 2019 +0000 * disable [...] syntax for procedure directives if modeswitch "prefixed attributes" is enabled; they conflict otherwise and it's not easily resolveable + added test git-svn-id: trunk@42402 - M .gitattributes M compiler/pdecsub.pas A tests/test/tcustomattr15.pp A tests/test/tcustomattr16.pp --- commit 9dbd1551310b08d5255d948106ac4d65508b9844 Author: svenbarth Date: Fri Jul 12 22:07:54 2019 +0000 * use two empty lines between method definitions (no code changes) git-svn-id: trunk@42403 - M compiler/symdef.pas --- commit 80ebb98431397073b582bab01c14a1555f3eb015 Author: svenbarth Date: Fri Jul 12 22:07:57 2019 +0000 * correct identation (no code changes) git-svn-id: trunk@42404 - M compiler/pdecl.pas --- commit 404b465c33823efb0294fdc75cfb8da79928e749 Author: svenbarth Date: Fri Jul 12 22:08:00 2019 +0000 * allow custom attributes for all type declarations that are not a simple alias + added tests git-svn-id: trunk@42405 - M .gitattributes M compiler/pdecl.pas A tests/test/tcustomattr17.pp A tests/test/tcustomattr18.pp --- commit 90bec938f6ecafc9ce36bd3fc53a73bacb0bb20a Author: svenbarth Date: Fri Jul 12 22:08:04 2019 +0000 * don't free the constructor call in trtti_attribute_list as that is already freed in the destructor of trtti_attribute git-svn-id: trunk@42406 - M compiler/symdef.pas --- commit 98b1b04951f82c981675a16c2c462287ec5b699c Author: svenbarth Date: Fri Jul 12 22:08:07 2019 +0000 * free unbound attributes git-svn-id: trunk@42407 - M compiler/pdecl.pas --- commit 6d0c470a40bb3a58f2f0b2473c597d0c39a4ee7c Author: svenbarth Date: Fri Jul 12 22:08:10 2019 +0000 * check for unbound attributes inside classes (currently they are only allowed for published properties) Note: no tests yet as sooner or later most will be dropped once extended RTTI is added git-svn-id: trunk@42408 - M compiler/pdecobj.pas --- commit 87458a065c54d01aa6d0013299c55d1b99d67f80 Author: svenbarth Date: Fri Jul 12 22:08:14 2019 +0000 * allow use of multiple, comma separated attributes as Delphi allows that as well + added test git-svn-id: trunk@42409 - M .gitattributes M compiler/pdecl.pas A tests/test/tcustomattr19.pp --- commit b7a8dd9479f550b99b902cf61a719bd3da44f0c1 Author: svenbarth Date: Fri Jul 12 22:08:17 2019 +0000 * adjust error message when attributes are unbound git-svn-id: trunk@42410 - M compiler/msg/errore.msg M compiler/pdecl.pas --- commit 6db674cd024f9d81069aa1e019afa101e693af38 Author: svenbarth Date: Fri Jul 12 22:08:22 2019 +0000 * regenerate msg*.inc files git-svn-id: trunk@42411 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 4d6b8a6c45c5fcd9a7120754358cf94d1a8a42fd Author: Károly Balogh Date: Sat Jul 13 07:34:07 2019 +0000 fixed the messy state of messages after recent custom attributes merge. fixed a typo, fixed double definition of message 3350, restored a message that was removed but still used, so the build passes at least. git-svn-id: trunk@42412 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/psub.pas --- commit 04a50733ad9ab91ff3710e9ca24881c15439bccd Author: svenbarth Date: Sat Jul 13 09:37:44 2019 +0000 * get rid of the scanner message for attributes for real this time (sometimes I *really* hate Git -.-) git-svn-id: trunk@42413 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pdecobj.pas --- commit c932dfaf7058a61875276af4a7a9100c2addf1fa Author: florian Date: Sun Jul 14 17:45:55 2019 +0000 * first bunch of fixes for rtti for arm after attribute commits, fixes mostly alignment issues git-svn-id: trunk@42446 - M compiler/ncgrtti.pas M compiler/symconst.pas M rtl/inc/sstrings.inc --- commit d8903ce6b3af3cb3fc5bcfa48ae2823c1fc2c57c Author: Jonas Maebe Date: Sun Jul 14 19:24:32 2019 +0000 - removed maxcrecordalign parameter/field from recordsymtables, as this value cannot be modified in the settings (so we can directly use the one from current_settings) git-svn-id: trunk@42447 - M compiler/aasmcnst.pas M compiler/cresstr.pas M compiler/llvm/llvmdef.pas M compiler/llvm/llvmpi.pas M compiler/llvm/nllvmtcon.pas M compiler/llvm/nllvmutil.pas M compiler/ncal.pas M compiler/ncgrtti.pas M compiler/ncgvmt.pas M compiler/ngenutil.pas M compiler/nobj.pas M compiler/objcgutl.pas M compiler/pdecvar.pas M compiler/pgenutil.pas M compiler/pparautl.pas M compiler/psystem.pas M compiler/ptype.pas M compiler/symdef.pas M compiler/symtable.pas --- commit 3206ac35084ab844a20ed8d97a58048cd0b6e7dd Author: florian Date: Sun Jul 14 21:29:30 2019 +0000 * properly align rtti for orddefs git-svn-id: trunk@42448 - M compiler/ncgrtti.pas M compiler/symconst.pas --- commit f04afdd5eae60b2ff1d7a1bc46bad34ca54b19d4 Author: florian Date: Sun Jul 14 21:40:29 2019 +0000 * compilation fixed git-svn-id: trunk@42449 - M compiler/ncgrtti.pas --- commit 43b5dbf6136f053f082c975c8e8d5cb1610ea750 Author: svenbarth Date: Fri Jul 19 15:55:28 2019 +0000 * fix for Mantis #23071: also store local symtable in the PPU if the procdef is generic as we need it to resolve genericdefs to nested types git-svn-id: trunk@42459 - M .gitattributes M compiler/symdef.pas A tests/webtbs/tw23071.pp A tests/webtbs/uw23071.pp --- commit 900fd35f4abd574488c8c85d8a62874814ea2a3b Author: svenbarth Date: Fri Jul 19 15:58:42 2019 +0000 * increase PPU version now that all generic procdefs store their local symtables git-svn-id: trunk@42460 - M compiler/ppu.pas --- commit 12e63d8a2cf992f49656895e45b6c79b752546d1 Author: Jonas Maebe Date: Sat Jul 20 12:08:55 2019 +0000 * don't reuse defs for attribute lists or individual attributes with parameters, as they don't have a constant size o fixes LLVM internalerror 2015122402 for test/tcustomattr{12,13,19} git-svn-id: trunk@42463 - M compiler/ncgrtti.pas M compiler/symconst.pas --- commit 145f4299b49a634827a46f3ab1c8a8762c5be06c Author: Jonas Maebe Date: Sat Jul 20 12:08:59 2019 +0000 * search dynamic string data record in correct symtable in tllvmtai_typedconstbuilder.emit_string_offset o fixes LLVM internalerror 2014080406 for test/tcustomattr14 git-svn-id: trunk@42464 - M compiler/llvm/nllvmtcon.pas --- commit 6cde8ab4cb9e41c81b04c310b6f0da5afed26e41 Author: svenbarth Date: Sat Jul 20 19:45:59 2019 +0000 * fix for Mantis #35866: parse_paras does not check whether the expressions are really constant, so check that manually + added test git-svn-id: trunk@42469 - M .gitattributes M compiler/pdecl.pas A tests/webtbf/tw35866.pp --- commit c282f21b1b4f9eb8403654abc51bef8956baaccc Author: svenbarth Date: Sat Jul 20 19:46:03 2019 +0000 * don't bother finding the correct constructor if the attribute isn't a TCustomAttribute descendant anyway; simply skip the parameters in that case + added tests git-svn-id: trunk@42470 - M .gitattributes M compiler/pdecl.pas A tests/test/tcustomattr20.pp A tests/test/tcustomattr21.pp --- commit 217ae6e4bbd0c927967c8d5d2effcb9f621ea89e Author: florian Date: Sun Jul 21 08:28:29 2019 +0000 * more fixes to rtti after attribute branch merging git-svn-id: trunk@42476 - M compiler/ncgrtti.pas M compiler/symconst.pas M rtl/inc/dynarr.inc M rtl/inc/rtti.inc M rtl/inc/rttidecl.inc M rtl/objpas/typinfo.pp --- commit e7fbebfef57f0cc75dc85cfa4ca85571e9ae6f99 Author: Jonas Maebe Date: Sun Jul 21 11:06:54 2019 +0000 * fixed field alignment when reusing an anonymous recorddef for LLVM and the LLVM layout of an instance does not match the original one (e.g. because it contains procdefs of procedures with different signatures) git-svn-id: trunk@42477 - M compiler/llvm/nllvmtcon.pas --- commit 83611b83cc9b24d1db270e1d545536c651f97ffd Author: Jonas Maebe Date: Sun Jul 21 11:07:02 2019 +0000 * reverted r42463, the internalerrors were caused by a bug in the LLVM typed constant builder git-svn-id: trunk@42478 - M compiler/ncgrtti.pas M compiler/symconst.pas --- commit aac8559a8d55b1d594ce91258d8cb66a7a3d0877 Author: florian Date: Sun Jul 21 12:25:55 2019 +0000 * some runtime errors fixed, if compiled with -CrR git-svn-id: trunk@42479 - M compiler/cfidwarf.pas M compiler/pdecl.pas M compiler/symdef.pas --- commit 18dfdb423e18ff7a16f90699fbd840230e438bc4 Author: Jonas Maebe Date: Mon Jul 22 12:06:22 2019 +0000 * don't apply user-specified constant alignments to RTTI data git-svn-id: trunk@42481 - M compiler/ncgrtti.pas --- commit 6eafee72d78b5785512f113ff1330a9ccb572646 Author: Jonas Maebe Date: Mon Jul 22 12:06:26 2019 +0000 - fixed check for determining whether requesting the size of an array is an invalid operation after r42479, as regular arrays can have high=-1 (mantis #35874, already checked by trange3) git-svn-id: trunk@42482 - M compiler/symdef.pas --- commit 4c338b1f70c86f29d90f6af2e44f749401e88315 Author: svenbarth Date: Tue Jul 23 20:53:54 2019 +0000 * generate correctly aligned string RTTI, fixes trtti7 on ARM git-svn-id: trunk@42488 - M compiler/ncgrtti.pas M compiler/symconst.pas --- commit 797e336222fd5fd1dc4f5da49131381a3174068c Author: svenbarth Date: Wed Jul 24 20:32:17 2019 +0000 * fix writing of floating point attribute parameters git-svn-id: trunk@42489 - M compiler/ncon.pas --- commit db83612b2c220def234fdf6f78acd565fcc483d1 Author: nickysn Date: Fri Jul 26 14:19:33 2019 +0000 + enable the win16 internal linker if the compiler is compiled with the WIN16_INTERNAL_LINKER define. Since the win16 internal linker isn't completed yet, this define is not enabled by default. git-svn-id: trunk@42498 - M compiler/systems/i_win16.pas --- commit 1da43f67d40dd92ea2fb1cfa327d6088fa838aa7 Author: Jonas Maebe Date: Sun Jul 28 11:14:54 2019 +0000 * (non-ancient) Delphi versions that accept explicit ordinal -> floating point typecasts behave the same as FPC (convert the value) rather than as Turbo Pascal (reinterpret the bit pattern) (mantis #35886) git-svn-id: trunk@42507 - M .gitattributes M compiler/defcmp.pas A tests/webtbs/tw35886.pp --- commit 0b3418e9787ee6953820f6ae07c5e7b21559ccca Author: svenbarth Date: Sun Jul 28 19:50:30 2019 +0000 * use the size of the generated anonymous record instead of the manual tracked size so that any padding is picked up as well git-svn-id: trunk@42521 - M compiler/ncgrtti.pas --- commit 99af7f2781df0ba8475f99d20acef464fda91c96 Author: nickysn Date: Tue Jul 30 15:27:44 2019 +0000 * set sharedlibext for win16 to '.dll' git-svn-id: trunk@42533 - M compiler/systems/i_win16.pas --- commit 2b6ee838f9745f266b22e73abbcf22def8b11864 Author: nickysn Date: Tue Jul 30 16:34:41 2019 +0000 + implemented TNewExeOutput.GenerateLibraryImports, based on the ogcoff implementation git-svn-id: trunk@42535 - M compiler/ogomf.pas --- commit 46bac33a2d1bf06dd8fd27742ce4751cb0c12232 Author: florian Date: Tue Jul 30 21:04:28 2019 +0000 + fpu_capabilities for arm * some code converted to use fpu_capabilities git-svn-id: trunk@42536 - M compiler/arm/cgcpu.pas M compiler/arm/cpuinfo.pas M compiler/arm/cpupara.pas M compiler/arm/narmcal.pas M compiler/arm/narmcnv.pas M compiler/arm/narmcon.pas M compiler/arm/narminl.pas --- commit 26acc8fb2a6f634ae80c2a15ecd7f95a8684ba3c Author: florian Date: Tue Jul 30 21:04:31 2019 +0000 * make stack non executable on arm-linux git-svn-id: trunk@42539 - M compiler/systems/t_linux.pas --- commit 99f92ce5dda2fee4170b359c5163060986b4ea78 Author: florian Date: Tue Jul 30 21:04:32 2019 +0000 * insert FPC_THROWFPUEXCEPTION call into the correct assembler list git-svn-id: trunk@42540 - M compiler/arm/cgcpu.pas --- commit d2371f4176f73f22415c21cac3177752b7d27024 Author: nickysn Date: Wed Jul 31 01:05:53 2019 +0000 + added an ImportLibraryList property to TOmfObjData git-svn-id: trunk@42541 - M compiler/ogomf.pas --- commit fcb6072fae11123300b6418ccdccfbc794319be8 Author: nickysn Date: Wed Jul 31 01:12:00 2019 +0000 + added method TOmfObjData.AddImportSymbol, which adds symbols, imported from an external dll to TOmfObjData.ImportLibraryList (similar to TInternalLinker.AddImportSymbol) git-svn-id: trunk@42542 - M compiler/ogomf.pas --- commit d77a8fb5f46c450921938937ac1cb0f9a7a0a75b Author: nickysn Date: Wed Jul 31 01:19:51 2019 +0000 + call TOmfObjData.AddImportSymbol for every ImpDef record read from an object file git-svn-id: trunk@42543 - M compiler/ogomf.pas --- commit 83861799ae140cb032cba70e7ad3b98f92304f09 Author: nickysn Date: Wed Jul 31 13:32:43 2019 +0000 + also add and resolve import symbols coming from OMF object modules git-svn-id: trunk@42545 - M compiler/ogomf.pas --- commit 05c420fad517d77502e023c720e69428a03f5cab Author: nickysn Date: Wed Jul 31 13:47:14 2019 +0000 + create a TNewExeSection class git-svn-id: trunk@42546 - M compiler/ogomf.pas --- commit 2c4c34ef9b2da6a74ff850053573de7c160a9acf Author: nickysn Date: Wed Jul 31 15:09:02 2019 +0000 + split the win16 executable into sections git-svn-id: trunk@42547 - M compiler/systems/t_win16.pas --- commit d10fb705e4c39ab8c4ddd6140e6f86166dd01725 Author: nickysn Date: Thu Aug 1 15:52:19 2019 +0000 + added an TNewExeOutput.Order_ObjSectionList override and sort obj sections by class name first, then by name, then by initial order git-svn-id: trunk@42551 - M compiler/ogomf.pas --- commit 93a08aaebd6f9dbd709c700d092e2cc8aa06d895 Author: nickysn Date: Thu Aug 1 16:43:39 2019 +0000 + write the NewExe header in TNewExeOutput.writeData git-svn-id: trunk@42552 - M compiler/ogomf.pas --- commit 5d01d53a962a8dea8af3a4a0ccf6b2901165cfe4 Author: nickysn Date: Thu Aug 1 16:44:46 2019 +0000 * don't crash in TOmfObjSection.MemPosStr if MZExeUnifiedLogicalSegment isn't set git-svn-id: trunk@42553 - M compiler/ogomf.pas --- commit 83afeb2e9374c4db290c5669598663211c86cc10 Author: nickysn Date: Thu Aug 1 16:49:08 2019 +0000 + added dummy overrides for TInternalLinkerWin16.GetCodeSize, .GetDataSize and .GetBssSize, because the default ones crash git-svn-id: trunk@42554 - M compiler/systems/t_win16.pas --- commit 7809930b08765742aa3bb1ee307850e5a86cb0ff Author: svenbarth Date: Fri Aug 2 13:16:14 2019 +0000 * fix for Mantis #35903: apply patch by J. Gareth Moreton to update the copyright year to 2019 git-svn-id: trunk@42558 - M compiler/msg/errorct.msg M compiler/msg/errord.msg M compiler/msg/errorda.msg M compiler/msg/errordu.msg M compiler/msg/errore.msg M compiler/msg/errores.msg M compiler/msg/errorf.msg M compiler/msg/errorfi.msg M compiler/msg/errorhe.msg M compiler/msg/errorheu.msg M compiler/msg/errorid.msg M compiler/msg/erroriu.msg M compiler/msg/errorn.msg M compiler/msg/errorpl.msg M compiler/msg/errorpli.msg M compiler/msg/errorpt.msg M compiler/msg/errorptu.msg M compiler/msg/errorr.msg M compiler/msg/errorru.msg M compiler/msg/errorues.msg M compiler/msgtxt.inc --- commit 6952ab5baf2bb78e2edd6fc8439348838c39f617 Author: svenbarth Date: Fri Aug 2 14:07:17 2019 +0000 * fix for Mantis #35918: don't set the mangledname for the attribute's constructor function; let the compiler do its job instead git-svn-id: trunk@42560 - M .gitattributes M compiler/symcreat.pas A tests/webtbs/tw35918.pp A tests/webtbs/uw35918a.pp A tests/webtbs/uw35918b.pp A tests/webtbs/uw35918c.pp --- commit c32ddf42ebaa64e8cc136c8aa3ec88110efadad3 Author: nickysn Date: Fri Aug 2 14:20:02 2019 +0000 * create NewExe sections, corresponding to 64kb segments git-svn-id: trunk@42561 - M compiler/ogomf.pas --- commit 30e7406be3f112c3cff5bbbd88073ad8db08893b Author: nickysn Date: Fri Aug 2 14:32:40 2019 +0000 * override MemPos_Start for the NewExe exe output and perform the whole MemPos stage inside of it, because the linker script contains only dummy section names and thus none of the sections get their MemPos set, while using the default implementation git-svn-id: trunk@42562 - M compiler/ogomf.pas --- commit 8e436e6335f79785ccd5b4629882877fd13d49b7 Author: nickysn Date: Fri Aug 2 14:47:19 2019 +0000 + add a segment number (MemBasePos) to TNewExeSection git-svn-id: trunk@42563 - M compiler/ogomf.pas --- commit 3ebcef32ba62ad3f66c33e983b6c6b62b516bb31 Author: nickysn Date: Fri Aug 2 16:05:37 2019 +0000 + introduced TExeSection.MemPosStr - a virtual method for converting the section's memory position to string for the linker map file. This can be overriden e.g. for segmented exe formats. git-svn-id: trunk@42564 - M compiler/ogbase.pas M compiler/ogmap.pas --- commit 1258439767d790a3cff8e567ea283340123e0063 Author: nickysn Date: Fri Aug 2 16:14:54 2019 +0000 + added an TNewExeSection.MemPosStr override that outputs a segment:offset string git-svn-id: trunk@42565 - M compiler/ogomf.pas --- commit b739d79f9ba4e096c35dc3da134db47f75867fee Author: nickysn Date: Fri Aug 2 16:53:16 2019 +0000 * combine the data, bss, stack and heap into the same NewExe segment git-svn-id: trunk@42566 - M compiler/ogomf.pas M compiler/systems/t_win16.pas --- commit 2c176be2fd61a5da4520b9ba74e6d4de0e4e3a4a Author: nickysn Date: Fri Aug 2 22:47:44 2019 +0000 + adapted TOmfObjSymbol.AddressStr to show correct segment:offset for NewExe files as well git-svn-id: trunk@42567 - M compiler/ogomf.pas --- commit 868030b3fecc84668396e5536b7211d389ff65e0 Author: nickysn Date: Fri Aug 2 23:01:39 2019 +0000 + adapted TOmfObjSection.MemPosStr to output segment:offset for NewExe executables git-svn-id: trunk@42568 - M compiler/ogomf.pas --- commit 34b3af7e9249c80bfd29928b6e85d722426084f9 Author: nickysn Date: Fri Aug 2 23:22:59 2019 +0000 * reset CurrMemPos after each NewExeSection to ensure each segment starts at 0 offset git-svn-id: trunk@42569 - M compiler/ogomf.pas --- commit 901dde5fa58392d77b49bd648be0c72b475ac287 Author: nickysn Date: Sat Aug 3 00:42:56 2019 +0000 + fill the auto data segment number in the NewExe header git-svn-id: trunk@42570 - M compiler/ogomf.pas --- commit dbafff24fe5f38889834288c7b2b0dd6d1bf148d Author: nickysn Date: Sat Aug 3 00:59:02 2019 +0000 + fill the program entry point address in the NewExe header git-svn-id: trunk@42571 - M compiler/ogomf.pas --- commit c70f2c63cd9f0675a11031cd63d7ea707f3defd6 Author: nickysn Date: Sat Aug 3 01:04:32 2019 +0000 + set the initial SS:SP in the NewExe header git-svn-id: trunk@42572 - M compiler/ogomf.pas --- commit ce598c15ec5ce27ccaab373a292f250fe0cc8d78 Author: Jonas Maebe Date: Sat Aug 3 12:19:50 2019 +0000 * factored out the conditions under which add nodes need to perform overflow checks o in particular ensure that cpu-specific overrides don't perform overflow checks when nf_internal is set git-svn-id: trunk@42573 - M .gitattributes M compiler/arm/narmadd.pas M compiler/i386/n386add.pas M compiler/i8086/n8086add.pas M compiler/m68k/n68kadd.pas M compiler/mips/ncpuadd.pas M compiler/ncgadd.pas M compiler/powerpc/nppcadd.pas M compiler/powerpc64/nppcadd.pas M compiler/sparcgen/ncpuadd.pas M compiler/x86/nx86add.pas M compiler/x86_64/nx64add.pas A tests/tbs/tb0658.pp --- commit 46afcbb362df8f808307a213e72ecea43c4c6634 Author: Jonas Maebe Date: Sat Aug 3 13:47:27 2019 +0000 * an incomplete case statement is not an error in ISO Pascal (mantis #35910) * give a compile-time error in ISO/Extended Pascal if the compiler can prove the case selector value is not handled, and a warning in other modes (mantis #35915) o trigger the case node simplification at the end of the case node typecheck pass, like for other nodes git-svn-id: trunk@42574 - M .gitattributes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/nset.pas M tests/test/tcasecov1.pp M tests/test/tcasecov3.pp A tests/test/tcasecov3a.pp A tests/test/tcasecov3b.pp A tests/test/tcasecov3c.pp A tests/test/tcasecov3d.pp A tests/test/tcasecov3e.pp M tests/test/tcasecov4.pp M tests/test/tcasecov5.pp M tests/test/tcasecov6.pp M tests/test/tcasecov7.pp M tests/test/tcasecov8.pp M tests/test/tcasecov9.pp --- commit 5a3883b1ab9f38bdc9f7ac82b62e8f0d87c93c74 Author: pierre Date: Mon Aug 5 08:50:37 2019 +0000 Fix internal error by using same code to set checkoverflow variable as in powerpc/nppcadd unit git-svn-id: trunk@42581 - M compiler/powerpc64/nppcadd.pas --- commit d7c24c05d0ee92c575f4bee58429b8bf31eeb114 Author: nickysn Date: Mon Aug 5 13:30:01 2019 +0000 + fill the segment table start offset in the NewExe header git-svn-id: trunk@42584 - M compiler/ogomf.pas --- commit 7132973847c3bd55518db8fbfcb2e410430f7150 Author: nickysn Date: Mon Aug 5 17:08:18 2019 +0000 + added the missing NewExe segment attributes as properties to the TNewExeSection class and create the NewExe segment table into the .exe file. Not all of the properties are initialized yet, though. git-svn-id: trunk@42587 - M compiler/ogomf.pas --- commit a86623b97a80ed644ae83cc62f285bf0cde3aa43 Author: nickysn Date: Tue Aug 6 00:23:31 2019 +0000 + initialize the flags for the code and data segments in the NewExe header git-svn-id: trunk@42588 - M compiler/ogomf.pas --- commit 295daf4a7fca682f9a043bf284f75c0661f9b53a Author: nickysn Date: Tue Aug 6 00:40:43 2019 +0000 + recognize stack segments and fill the total stack size in the NewExe header git-svn-id: trunk@42589 - M compiler/ogomf.pas --- commit 321e4d5837f7747c6ac08b58e3e760321df6b655 Author: nickysn Date: Tue Aug 6 00:44:00 2019 +0000 * convert the internal name from IMPDEF records to upper case if the CaseSensitiveSymbols option is off git-svn-id: trunk@42590 - M compiler/ogomf.pas --- commit 0c4d02ff9cc3ca0c9055a6e594c983b10edc3902 Author: nickysn Date: Tue Aug 6 13:08:27 2019 +0000 + detect heap sections and fill the local heap size in the NewExe header git-svn-id: trunk@42595 - M compiler/ogomf.pas --- commit 90bab63e513c3db6a75d67bef0e76304935a1b63 Author: Károly Balogh Date: Wed Aug 7 09:04:57 2019 +0000 m68k/vasm: remove bits of Linux support. this combination has never really been tested or supported, and got broken recently. m68k-elf-linux has good enough GNU binutils anyway git-svn-id: trunk@42597 - M compiler/m68k/ag68kvasm.pas --- commit 6d2a7a1b27c85a67ea35210900d5e5e27d8ba9d4 Author: pierre Date: Thu Aug 8 06:24:47 2019 +0000 Fix change_endian code to read double and single float data git-svn-id: trunk@42600 - M compiler/entfile.pas --- commit 70b2904c48d6075c895a9d901481474cb2712346 Author: pierre Date: Thu Aug 8 06:26:40 2019 +0000 * Issue file change before line and column change in token writes to allow for better display in ppudump utility git-svn-id: trunk@42601 - M compiler/scanner.pas --- commit 3b08c6b0ea1c7d2a960bde6e004ee8f0d59b786a Author: nickysn Date: Thu Aug 8 14:38:25 2019 +0000 + write the resource table (empty for now) to NewExe files git-svn-id: trunk@42604 - M compiler/ogomf.pas --- commit 35a4f96100870dd1de78141caf90c03477ad8758 Author: nickysn Date: Thu Aug 8 15:28:11 2019 +0000 + create the resident name table in the NewExe file writer git-svn-id: trunk@42605 - M compiler/ogomf.pas --- commit 251a93456ec25acccaca2cbbaee7a09ff608163b Author: nickysn Date: Thu Aug 8 21:28:58 2019 +0000 + added constructor to TNewExeResidentNameTableEntry that allows you to initialize this entry's ordinal number git-svn-id: trunk@42606 - M compiler/ogomf.pas --- commit 1736950d58bbc94bcdba43bf1e79848c1bce1c24 Author: nickysn Date: Thu Aug 8 21:37:14 2019 +0000 + added property that determines the resident name table size in bytes and use it to fill the offset to the start of the module reference table in NewExe files git-svn-id: trunk@42607 - M compiler/ogomf.pas --- commit d5a18f03a857c623cadf41ba2e26bcb32d9f93b1 Author: nickysn Date: Fri Aug 9 13:32:57 2019 +0000 + fill and write the NewExe imported name table git-svn-id: trunk@42611 - M compiler/ogomf.pas --- commit d24cfcb31c283c66bb67c2d57e6be8d6e1fba971 Author: nickysn Date: Fri Aug 9 13:35:53 2019 +0000 * small optimization in TNewExeOutput.FillImportedNameTable - only add the library name once, instead of trying to add it (which causes a look up) for every imported symbol git-svn-id: trunk@42612 - M compiler/ogomf.pas --- commit deefeb1ca0cbd905cc9e677eca59c8e6c9f60022 Author: nickysn Date: Fri Aug 9 13:49:36 2019 +0000 + calculate the table offset of each string in the NewExe imported name table git-svn-id: trunk@42613 - M compiler/ogomf.pas --- commit dd9c76eeecbc3f607c7f9973e66732a6fd61f0b0 Author: nickysn Date: Fri Aug 9 14:19:41 2019 +0000 * strip the '.dll' extension from the library names before adding them to the NewExe imported name table git-svn-id: trunk@42614 - M compiler/ogomf.pas --- commit 1f2354752ccda1d531faef430b0094daf6c66869 Author: nickysn Date: Fri Aug 9 14:27:11 2019 +0000 * when reading ImpDef records, add '.dll' to the libname if it has no extension, in order to be consistent with externals, declared in pascal files. The '.dll' extension will be stripped later, when generating the NewExe file. git-svn-id: trunk@42615 - M compiler/ogomf.pas --- commit 8dea445ffe45d8630f7835058cbf8283cd6e7e93 Author: nickysn Date: Fri Aug 9 14:50:26 2019 +0000 + fill the NewExe module reference table git-svn-id: trunk@42616 - M compiler/ogomf.pas --- commit 7038d18d5025accdbf95d3b6f8ddea4025542b06 Author: nickysn Date: Fri Aug 9 14:51:35 2019 +0000 * fixed wrong typecast in TNewExeImportedNameTable.GetSize git-svn-id: trunk@42617 - M compiler/ogomf.pas --- commit 7e78fc1d7faec4d9263b3551e0c3efe55fe5553d Author: nickysn Date: Fri Aug 9 15:03:22 2019 +0000 * strip the '.dll' extension from the library name when creating import libraries as well. This ensures that NewExe binaries, created by the external linker don't have the '.dll' extension in them. git-svn-id: trunk@42618 - M compiler/systems/t_win16.pas --- commit bd168fc5520871b9b53601659a92f68568a31276 Author: nickysn Date: Fri Aug 9 16:09:51 2019 +0000 + fill the NewExe entry table offset git-svn-id: trunk@42619 - M compiler/ogomf.pas --- commit 262cecf5285899bf64f3be1511692f34aeab7dc2 Author: nickysn Date: Fri Aug 9 16:47:37 2019 +0000 + added class for writing the NewExe entry table - not fully implemented yet git-svn-id: trunk@42620 - M compiler/ogomf.pas --- commit 4b54cbea1e5de056d503cd1c195d1759c0b3c474 Author: nickysn Date: Fri Aug 9 17:08:11 2019 +0000 + parse ExpDef OMF records and delegate them to a new method TOmfObjData.AddExportSymbol (not implemented yet) git-svn-id: trunk@42621 - M compiler/ogomf.pas --- commit 99b1283e2ec3b51085bdec70f7d60f02bdd98d27 Author: nickysn Date: Fri Aug 9 20:38:31 2019 +0000 + implemented TOmfObjData.AddExportSymbol - the exported symbols are recorded in the newly introduced TOmfObjData.ExportedSymbolList git-svn-id: trunk@42622 - M compiler/ogomf.pas --- commit 3da4cf0792d73fae6a0dad36f2f58fe6f02a72e2 Author: nickysn Date: Fri Aug 9 22:15:36 2019 +0000 + assign ordinals to all exported symbols git-svn-id: trunk@42625 - M compiler/ogomf.pas --- commit 8f3aa926781ca9fa06f43c8394d53864a6498b0c Author: nickysn Date: Fri Aug 9 23:01:34 2019 +0000 + added class TNewExeEntryPoint and methods/properties to TNewExeEntryTable to make it hold a list of entry points git-svn-id: trunk@42626 - M compiler/ogomf.pas --- commit 2d77a2c10478d1aa2d65520c5f0b4022e4280fcd Author: nickysn Date: Fri Aug 9 23:15:07 2019 +0000 + add entry points to the entry table for all exported NewExe symbols git-svn-id: trunk@42627 - M compiler/ogomf.pas --- commit 9f0f31a1e91daf920f45121f11e569328377011c Author: nickysn Date: Fri Aug 9 23:50:59 2019 +0000 + write the entry table to the NewExe file git-svn-id: trunk@42628 - M compiler/ogomf.pas --- commit d1d2f6b7017a3ece17383831dabf9835bee88900 Author: nickysn Date: Fri Aug 9 23:57:00 2019 +0000 * the resident table entry/table classes renamed "export table", because the same classes can be used both for the resident and nonresident tables (they share the same structure) git-svn-id: trunk@42629 - M compiler/ogomf.pas --- commit 7bb6b525b1183a4155ebe3c51c1aefe84a2a5f78 Author: nickysn Date: Sat Aug 10 00:03:51 2019 +0000 + also write the nonresident name table git-svn-id: trunk@42630 - M compiler/ogomf.pas --- commit 90a164bcdac5e814327c161d2ce7dcd9e4a3c725 Author: nickysn Date: Sat Aug 10 00:11:12 2019 +0000 + write the module description as the first entry to the nonresident names table git-svn-id: trunk@42631 - M compiler/ogomf.pas --- commit b7a4965ac31cdd9584e980ce3082e8a63924e0a4 Author: nickysn Date: Sat Aug 10 00:11:45 2019 +0000 - suppress the warning that the $D directive is not supported on i8086-win16 git-svn-id: trunk@42632 - M compiler/scandir.pas --- commit 238c9e576ced17809f6587d9114414adeaeb4329 Author: nickysn Date: Sat Aug 10 00:18:06 2019 +0000 + pass the description option to wlink to set the module description string when using the external linker on the win16 target git-svn-id: trunk@42633 - M compiler/systems/t_win16.pas --- commit f40736438cf33894a6a7b408da788d889959f699 Author: nickysn Date: Sat Aug 10 00:29:33 2019 +0000 + add all exported by name symbols to the resident or the nonresident name table git-svn-id: trunk@42634 - M compiler/ogomf.pas --- commit 2b767c4f8bdf972d3413db62b76de03b5ba59a7d Author: nickysn Date: Sat Aug 10 00:55:17 2019 +0000 + also copy ResidentName in TOmfObjData.AddExportSymbol git-svn-id: trunk@42635 - M compiler/ogomf.pas --- commit 4cd8193c7975bb1a03ae2f9fe36d043462a5a38a Author: nickysn Date: Sat Aug 10 01:53:29 2019 +0000 + enable the ISSHAREDLIBRARY option for the win16 internal linker when creating a dll git-svn-id: trunk@42636 - M compiler/systems/t_win16.pas --- commit cc7e623802c1dd79578718708f0a54647263fda9 Author: nickysn Date: Sat Aug 10 01:54:59 2019 +0000 + enable the IsDll flag in the NewExe header when creating dlls with the internal linker. Also make a SINGLEDATA (instead of MULTIPLEDATA) executable and entry points in this case. git-svn-id: trunk@42637 - M compiler/ogomf.pas --- commit 817ec5e6f284e61546c133fb7000f780c3c7d7bb Author: nickysn Date: Sat Aug 10 02:11:25 2019 +0000 + allow creating win16 dlls with the wlink external linker as well git-svn-id: trunk@42638 - M compiler/systems/t_win16.pas --- commit 141f2403d367ec874aea7f192e8b9e1d003b96a3 Author: nickysn Date: Sat Aug 10 02:34:24 2019 +0000 + added system_i8086_win16 to the supported targets of the i8086 omf internal assembler/object writer git-svn-id: trunk@42639 - M compiler/ogomf.pas --- commit d69cf3a440201fe5ff83b55f8c3332236319d0e1 Author: nickysn Date: Sat Aug 10 12:42:28 2019 +0000 + pass the ParmCount parameter from the ExpDef OMF record to the NewExe entry point git-svn-id: trunk@42641 - M compiler/ogomf.pas --- commit 955ebf2f098c47de6e3209fe55469965c79542f6 Author: svenbarth Date: Sun Aug 11 17:26:35 2019 +0000 * applied patch by Blaise.ru to reduce code duplication in trecorddef.create_global_internal() git-svn-id: trunk@42652 - M compiler/symdef.pas --- commit fc46b6c57c2444fd5a87915e683ba725f1a10c9f Author: svenbarth Date: Sun Aug 11 17:26:44 2019 +0000 * apply patch by Blaise.ru to pass the record name for an internal record more efficiently git-svn-id: trunk@42653 - M compiler/symdef.pas --- commit 7f8dc75604598da1d48340c5c46f471a5102e9f9 Merge: fc46b6c57c 70a2b0b260 Author: florian Date: Sun Aug 11 17:29:30 2019 +0000 -- Zusammenführen der Unterschiede zwischen Projektarchiv-URLs in ».«: U compiler/i8086/r8086int.inc U compiler/i8086/r8086nor.inc U compiler/i8086/r8086rni.inc U compiler/i8086/r8086std.inc U compiler/i386/i386prop.inc U compiler/i386/i386att.inc U compiler/i386/i386atts.inc U compiler/i386/i386int.inc U compiler/i8086/i8086int.inc U compiler/i8086/i8086op.inc U compiler/i8086/r8086dwrf.inc U compiler/i8086/r8086ari.inc U compiler/i8086/r8086con.inc U compiler/i8086/r8086nasm.inc U compiler/i8086/r8086num.inc U compiler/i8086/r8086stab.inc U compiler/i386/i386nop.inc U compiler/i386/i386op.inc U compiler/i386/i386tab.inc U compiler/i386/r386ot.inc U compiler/i386/r386ari.inc U compiler/i386/r386att.inc U compiler/i386/r386con.inc U compiler/i386/r386dwrf.inc U compiler/i386/r386int.inc U compiler/i386/r386iri.inc U compiler/i386/r386nasm.inc U compiler/i386/r386nor.inc U compiler/i386/r386nri.inc U compiler/i386/r386num.inc U compiler/i386/r386rni.inc U compiler/i386/r386sri.inc U compiler/i386/r386stab.inc U compiler/i386/r386std.inc U compiler/i8086/i8086prop.inc U compiler/i8086/i8086att.inc U compiler/i8086/i8086atts.inc U compiler/i8086/i8086nop.inc U compiler/i8086/i8086tab.inc U compiler/i8086/r8086ot.inc U compiler/i8086/r8086att.inc U compiler/i8086/r8086iri.inc U compiler/i8086/r8086nri.inc U compiler/i8086/r8086sri.inc U compiler/x86/agx86int.pas U compiler/x86/rax86int.pas U compiler/x86/aasmcpu.pas U compiler/x86/rax86.pas U compiler/x86/x86ins.dat U compiler/x86/agx86att.pas U compiler/x86/cpubase.pas U packages/rtl-objpas/src/inc/rtti.pp U packages/rtl-objpas/tests/tests.rtti.pas U rtl U compiler/x86_64/x8664att.inc U compiler/x86_64/x8664tab.inc U compiler/x86_64/r8664con.inc U compiler/x86_64/r8664nasm.inc U compiler/x86_64/r8664sri.inc U compiler/aasmtai.pas U compiler/scanner.pas U tests/utils/avx/readme.txt U compiler/x86_64/x8664ats.inc U compiler/x86_64/x8664op.inc U compiler/x86_64/r8664att.inc U compiler/x86_64/r8664iri.inc U compiler/x86_64/r8664rni.inc U compiler/pp.lpi U compiler/msgtxt.inc U compiler/ppcx64.lpi U compiler/x86_64/x8664pro.inc U compiler/x86_64/x8664nop.inc U compiler/x86_64/r8664ari.inc U compiler/x86_64/r8664int.inc U compiler/x86_64/r8664num.inc U compiler/x86_64/r8664std.inc U compiler/msgidx.inc U compiler/utils/mkx86ins.pp U compiler/x86/x86reg.dat D compiler/x86/cx86innr.inc U compiler/x86_64/x8664int.inc U compiler/x86_64/r8664ot.inc U compiler/x86_64/r8664dwrf.inc U compiler/x86_64/r8664nor.inc U compiler/x86_64/r8664stab.inc U compiler/msg/errore.msg U compiler/utils/mkx86reg.pp U tests/utils/avx/asmtestgenerator.pas U tests/utils/avx/options.pas U tests/utils/avx/avxtestgenerator.pp U tests/test/units/character/tissurrogatepair2.pp U tests/test/units/character/tissurrogatepair.pp U tests/utils/avx/avxopcodes.pas U . -- Aufzeichnung der Informationen für Zusammenführung zwischen Projektarchiv-URLs in ».«: U . U packages/rtl-objpas/src/inc/rtti.pp U packages/rtl-objpas/tests/tests.rtti.pas U rtl git-svn-id: trunk@42654 --- commit 4c9a0403f4c79d12055bd04f67d9f52cebce3a6c Author: florian Date: Sun Aug 11 19:35:34 2019 +0000 * compilation on i386 fixed git-svn-id: trunk@42655 - M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas --- commit 5947143d8fd2a02ed2b0d164eb4ad5434c335f88 Author: florian Date: Mon Aug 12 10:46:19 2019 +0000 * intel asm reader: try to read avx512 extensions only if the instruction supports them * cleanup git-svn-id: trunk@42656 - M .gitattributes M compiler/scanner.pas M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas M compiler/x86/rax86int.pas A tests/webtbs/tw35953.pp --- commit 24e3d95fe018bc7f6b9604d008b471855c09023a Author: nickysn Date: Mon Aug 12 12:51:37 2019 +0000 - don't create a heap segment for win16 git-svn-id: trunk@42658 - M compiler/i8086/n8086util.pas M compiler/ogomf.pas --- commit ae953214eea3c5b8dff0255eb02167bc7cbef58d Author: nickysn Date: Mon Aug 12 12:58:16 2019 +0000 * fixed quoting of the "description" wlink option on Windows git-svn-id: trunk@42659 - M compiler/systems/t_win16.pas --- commit 31431d99ab5a655837445adf2fc2339d25a1ab98 Author: nickysn Date: Mon Aug 12 14:24:01 2019 +0000 * limit the heapsize to 65520 bytes on win16 (the $M directive in win16 only sets the size of the "local heap", which is limited to a single segment. The actual heap in the large memory model is the "global heap", which doesn't have a set limit, but grows with the memory allocated) git-svn-id: trunk@42660 - M compiler/scandir.pas --- commit 6398c42a3831550ff98de4f629f474bab796c086 Author: nickysn Date: Mon Aug 12 15:47:08 2019 +0000 + fill MinAllocSize in the NewExe segment table git-svn-id: trunk@42661 - M compiler/ogomf.pas --- commit 5edc520468a3b2594d7ddd6795a2d806f01d9ed6 Author: nickysn Date: Mon Aug 12 16:04:07 2019 +0000 + fill SizeInFile properly in the NewExe segment table git-svn-id: trunk@42662 - M compiler/ogomf.pas --- commit 5a379cc256b6e89d1031584bf2d49b1ccbc82c1f Author: florian Date: Mon Aug 12 20:29:03 2019 +0000 * fix detection of floating point constants for arm git-svn-id: trunk@42665 - M compiler/arm/cpubase.pas --- commit 58bbbadc16877e99d24515f7e05920c47854eac7 Author: florian Date: Mon Aug 12 20:30:18 2019 +0000 * fix return registers for hfa's containing singles git-svn-id: trunk@42666 - M compiler/arm/cpupara.pas --- commit f23f3a4c5e194d651d180f28beb810848419f716 Author: florian Date: Mon Aug 12 21:25:30 2019 +0000 * enable TCpuAsmOptimizer.RemoveSuperfluousVMov for VLDR * fixed TCpuAsmOptimizer.RemoveSuperfluousVMov to be actually applied git-svn-id: trunk@42668 - M compiler/arm/aoptcpu.pas --- commit 413beee9ae1bfed7219fdfd1249a123fab87aa71 Merge: 416c974d3f ad791e8e34 Author: florian Date: Tue Aug 13 08:54:47 2019 +0000 -- Zusammenführen von r42652 bis r42673 in ».«: U compiler/x86/aasmcpu.pas -- Aufzeichnung der Informationen für Zusammenführung von r42652 bis r42673 in ».«: U . git-svn-id: trunk@42674 --- commit 46b4f911753672e5044af4db7468f3ffa02d25db Author: florian Date: Tue Aug 13 09:45:13 2019 +0000 * compilation on i386-linux fixed git-svn-id: trunk@42675 - M compiler/x86/aasmcpu.pas --- commit fd70fcace6f414013a726b5f45df78e91459befc Author: florian Date: Tue Aug 13 10:07:30 2019 +0000 * fix BccB2Cond optimization on arm git-svn-id: trunk@42676 - M compiler/arm/aoptcpu.pas --- commit 5d8078f6662f7dd4d24cc5c20696a5be1cbacab9 Author: nickysn Date: Tue Aug 13 14:59:55 2019 +0000 + added class, representing a NewExe relocation entry git-svn-id: trunk@42677 - M compiler/ogomf.pas --- commit 85edf1c1ebd0fcd58ec25d8f083ab5345d531bd0 Author: florian Date: Tue Aug 13 18:41:15 2019 +0000 * reworked arm vfp capability handling to use fpu_capabilites git-svn-id: trunk@42679 - M compiler/arm/aasmcpu.pas M compiler/arm/agarmgas.pas M compiler/arm/cgcpu.pas M compiler/arm/cpuinfo.pas M compiler/arm/cpupi.pas M compiler/arm/narmadd.pas M compiler/arm/narmcnv.pas M compiler/arm/narminl.pas M compiler/arm/narmmat.pas M compiler/options.pas M compiler/symdef.pas --- commit c418d63c16021b2bcc97e6c5e621acb6945445c6 Author: florian Date: Tue Aug 13 22:12:49 2019 +0000 + create defines with FPU capabilites + make use of FPU capability defines in the rtl git-svn-id: trunk@42681 - M compiler/arm/cpuinfo.pas M compiler/fpcdefs.inc M compiler/options.pas M rtl/arm/arm.inc M rtl/arm/math.inc M rtl/arm/mathu.inc --- commit 867df5362c21a89e6aef76d32f6f6a717d80c9e3 Author: florian Date: Tue Aug 13 22:12:51 2019 +0000 + basic Neon support in the assembler writer + make use of VEOR if possible to clear VFP registers git-svn-id: trunk@42682 - M compiler/arm/aasmcpu.pas M compiler/arm/armatt.inc M compiler/arm/armatts.inc M compiler/arm/armins.dat M compiler/arm/armnop.inc M compiler/arm/armop.inc M compiler/arm/armtab.inc M compiler/arm/cgcpu.pas --- commit ba0768b6a6156b8c57274978ec072111b419ed6d Author: florian Date: Tue Aug 13 22:12:52 2019 +0000 * building with -Cfvfpv2 hopefully fixed git-svn-id: trunk@42683 - M compiler/arm/cgcpu.pas --- commit 0a0397c9f5c30e67ab1a94e4db4b5cde8288b92b Author: florian Date: Tue Aug 13 22:12:52 2019 +0000 * forgotten part of previous commit: fix BccB2Cond optimization on arm git-svn-id: trunk@42684 - M compiler/arm/aoptcpu.pas --- commit 3a1ecd4f167c06645577d18c1ffde5374b8ff445 Author: florian Date: Tue Aug 13 22:12:53 2019 +0000 * fix tarminlinenode.first_sqrt_real git-svn-id: trunk@42685 - M compiler/arm/narminl.pas --- commit 0224d632f1fb094078200318febb294e828ceeec Author: nickysn Date: Wed Aug 14 02:14:02 2019 +0000 + added and implemented method TNewExeRelocation.EncodeTo git-svn-id: trunk@42686 - M compiler/ogomf.pas --- commit 71df2911da2124b7bd69428bda51dd6964e51c5d Author: nickysn Date: Wed Aug 14 02:19:26 2019 +0000 * fixed compilation with -Sew git-svn-id: trunk@42687 - M compiler/ogomf.pas --- commit 81fba52adbb01bd7265cc598200456d2367f5167 Author: nickysn Date: Wed Aug 14 15:10:22 2019 +0000 + added constant NewExeRelocationRecordSize git-svn-id: trunk@42691 - M compiler/ogomf.pas --- commit f82cc96cb939da4edee6680f28b0331ddc490b20 Author: pierre Date: Wed Aug 14 23:00:35 2019 +0000 Check that inserttypeconv really change node type to ttypeconvnode before setting convtype field (should fix taddbool.pp bytebool failure on powerpc) git-svn-id: trunk@42692 - M compiler/nadd.pas --- commit 45847da69310f4b42a005119be640012399c961b Author: florian Date: Thu Aug 15 09:37:50 2019 +0000 * fix building for targets with no vfp support git-svn-id: trunk@42693 - M compiler/arm/narmmat.pas --- commit 663040a666d46d3c47d40c70dd2a36ded405e854 Author: svenbarth Date: Thu Aug 15 14:32:57 2019 +0000 * ensure that aprocdef is initialized to Nil to catch problems with compare_defs_ext() easier git-svn-id: trunk@42699 - M compiler/ncnv.pas --- commit ba203c0564691f1637798193368a292f14b9765a Author: florian Date: Fri Aug 16 11:35:03 2019 +0000 + x86 makes use of fpu_capabilities * moved CPUX86_HAS_AVXUNIT to FPUX86_HAS_AVXUNIT + mm register allocator can be initialized with 32 mm registers of AVX512 git-svn-id: trunk@42707 - M compiler/fpcdefs.inc M compiler/i386/cpuinfo.pas M compiler/x86/cgx86.pas M compiler/x86/cpubase.pas M compiler/x86_64/cgcpu.pas M compiler/x86_64/cpuinfo.pas --- commit 970ce7f24325e13a153816d8612fec071e1e674b Author: pierre Date: Fri Aug 16 16:31:08 2019 +0000 Avoid error with -CR option in tobjectdef.vmt_def method git-svn-id: trunk@42711 - M compiler/symdef.pas --- commit 9230ae5aab60d4e085da647271f2e77779862251 Author: florian Date: Sat Aug 17 16:14:22 2019 +0000 o overhaul-base.patch by J. Gareth Moreton, base for further patches + some inline directives added + some functions exported from units git-svn-id: trunk@42722 - M compiler/aopt.pas M compiler/aoptbase.pas M compiler/aoptobj.pas M compiler/aoptutils.pas --- commit 4f38f12815c7cd5b02c1dc987dccc248dc442450 Merge: 9230ae5aab a5e158f8d6 Author: florian Date: Sun Aug 18 11:18:41 2019 +0000 -- Zusammenführen von r42706 bis r42724 in ».«: U tests/utils/avx/avxopcodes.pas U compiler/x86/aasmcpu.pas U compiler/x86/rax86.pas -- Aufzeichnung der Informationen für Zusammenführung von r42706 bis r42724 in ».«: U . git-svn-id: trunk@42725 --- commit 3d5ab366e1d6d2df5ec2c6edf3a870df2a0213f0 Author: florian Date: Sun Aug 18 11:28:39 2019 +0000 * fix RemoveSuperfluousVMov if the VMov destination reg is an integer register, resolved #35978 git-svn-id: trunk@42726 - M compiler/arm/aoptcpu.pas --- commit 5d1d9858d1fc68fddd69f5c7d940f84ff79282b4 Author: florian Date: Sun Aug 18 12:09:03 2019 +0000 + VMovVMov2VMov optimization git-svn-id: trunk@42727 - M compiler/arm/aoptcpu.pas --- commit 14a7429e19059bad9c62c2d2e0fabb544db17e56 Author: Jonas Maebe Date: Sun Aug 18 15:55:03 2019 +0000 * factored out inlinenode check whether it may have a side effect o also added register assert as having a side-effect (if asserts are enabled) git-svn-id: trunk@42728 - M compiler/ninl.pas M compiler/nutils.pas --- commit 4936358beebea71d5f20ee4673549db61dc60b5d Author: Károly Balogh Date: Mon Aug 19 15:07:22 2019 +0000 m68k: fpu capabilities support git-svn-id: trunk@42739 - M compiler/fpcdefs.inc M compiler/m68k/cpuinfo.pas --- commit 8fd0a27875abb2636a1388876f590a3a56d83b56 Author: pierre Date: Mon Aug 19 20:22:22 2019 +0000 Avoid range check error for avr/i8086 CPU by changing local variable dist type to asizeuint git-svn-id: trunk@42741 - M compiler/ncgset.pas --- commit e7d590724ac8b26537fa90051f065a86d86bb443 Author: nickysn Date: Tue Aug 20 11:42:07 2019 +0000 + added and implemented the TNewExeRelocationList class git-svn-id: trunk@42744 - M compiler/ogomf.pas --- commit 94e22f1262e2a692cf1a39f1e6c47af351ed436d Author: nickysn Date: Tue Aug 20 13:49:43 2019 +0000 + added a getter for the NewExeSegmentFlags property, that returns the nesfHasRelocationData flag according to whether the Relocations list is non-empty git-svn-id: trunk@42746 - M compiler/ogomf.pas --- commit 3662afe93b6a35f38d1c7fc50945c14fded32d59 Author: Károly Balogh Date: Thu Aug 22 15:38:08 2019 +0000 m68k: added more cpu capabilities. changed the CG at a few places to actually use them git-svn-id: trunk@42763 - M compiler/m68k/cgcpu.pas M compiler/m68k/cpuinfo.pas --- commit d29f44e1c730ca21c4a283925ec1241a096bf9c4 Author: Károly Balogh Date: Sun Aug 25 12:12:15 2019 +0000 m68k: rework of the inline nodes to use fpu_capabilities. added fast path for round/trunc (enabled for fastmath only) git-svn-id: trunk@42814 - M compiler/m68k/n68kcnv.pas M compiler/m68k/n68kinl.pas --- commit fd20dc1086b02fe2dab270a5fe77afb548d4bbba Author: florian Date: Mon Aug 26 19:31:48 2019 +0000 * support unique copies of currencies which are handles by torddef, resolves #36013 git-svn-id: trunk@42837 - M .gitattributes M compiler/defcmp.pas A tests/webtbs/tw36013.pp --- commit 9c00a8b616c42979f807b6aa818fd50b4e724ae9 Author: florian Date: Sat Aug 31 19:37:17 2019 +0000 + FMA support for aaarch64 git-svn-id: trunk@42885 - M .gitattributes M compiler/aarch64/ncpuadd.pas M compiler/aarch64/ncpuinl.pas A tests/test/tfma1a64.pp --- commit a5a87fa84c08342e41d177168c616519ff01430a Author: florian Date: Tue Sep 3 20:59:13 2019 +0000 + AArch64: support for vX.8b/vX.16b register names + support for more than 256 registers in the register dat files - removed totherregisterset + AArch64: use vmov to load immediates if possible + AArch64: use eor to clear mm registers + small command line tool for quick creating of vfp register list in a64reg.dat git-svn-id: trunk@42916 - M .gitattributes A compiler/utils/gena64vfp.pp --- commit 69786ffe73a1247e34ceaceadde679a03e0e0d51 Author: florian Date: Tue Sep 3 21:07:33 2019 +0000 somehow committing went wrong, second part of last commit: + AArch64: support for vX.8b/vX.16b register names + support for more than 256 registers in the register dat files - removed totherregisterset + AArch64: use vmov to load immediates if possible + AArch64: use eor to clear mm registers git-svn-id: trunk@42917 - M compiler/aarch64/a64att.inc M compiler/aarch64/a64atts.inc M compiler/aarch64/a64ins.dat M compiler/aarch64/a64op.inc M compiler/aarch64/a64reg.dat M compiler/aarch64/aasmcpu.pas M compiler/aarch64/agcpugas.pas M compiler/aarch64/cpubase.pas M compiler/aarch64/cpunode.pas M compiler/aarch64/ra64con.inc M compiler/aarch64/ra64dwa.inc M compiler/aarch64/ra64nor.inc M compiler/aarch64/ra64num.inc M compiler/aarch64/ra64rni.inc M compiler/aarch64/ra64sri.inc M compiler/aarch64/ra64sta.inc M compiler/aarch64/ra64std.inc M compiler/aarch64/ra64sup.inc M compiler/arm/cpubase.pas M compiler/avr/cpubase.pas M compiler/cgbase.pas M compiler/jvm/cpubase.pas M compiler/m68k/cpubase.pas M compiler/mips/cpubase.pas M compiler/powerpc/cpubase.pas M compiler/powerpc64/cpubase.pas M compiler/rgbase.pas M compiler/riscv32/cpubase.pas M compiler/riscv64/cpubase.pas M compiler/sparcgen/cpubase.pas M compiler/utils/mka64reg.pp M compiler/x86/cpubase.pas --- commit 8ffb72ddd0ff843e830641aed26fd6c6bdc126c2 Author: florian Date: Wed Sep 4 16:36:54 2019 +0000 * another missing part of r42916 ... git-svn-id: trunk@42919 - M .gitattributes A compiler/aarch64/ncpucon.pas --- commit a019536cd5630612bb81e87cf98d665456076d7c Author: florian Date: Wed Sep 4 20:45:24 2019 +0000 * avoid that -0.0 is handled by the eor optimization git-svn-id: trunk@42921 - M compiler/aarch64/ncpucon.pas --- commit 36286441b245ba19b1deb984879e173fc7de8c33 Author: Károly Balogh Date: Thu Sep 5 19:32:57 2019 +0000 m68k: try to optimize realconst operands into B/W/L sized integer operands. these are shorter to encode - which almost always means faster on m68k git-svn-id: trunk@42923 - M compiler/m68k/aoptcpu.pas --- commit 0c6f7321bfec374bf9542a1e664911fff8e893d7 Author: florian Date: Thu Sep 5 20:15:56 2019 +0000 + AArch64: FoldShiftProcess optimization git-svn-id: trunk@42924 - M compiler/aarch64/agcpugas.pas M compiler/aarch64/aoptcpu.pas M compiler/aarch64/cpubase.pas M compiler/aarch64/racpugas.pas --- commit de095c4631c4ab452e02f0efe665b4d5ce1adfb8 Author: Károly Balogh Date: Thu Sep 5 21:43:51 2019 +0000 m68k: refactoring to use fpu_capabilities at more places instead of hardwiring certain fpu types git-svn-id: trunk@42925 - M compiler/m68k/cgcpu.pas M compiler/m68k/n68kinl.pas --- commit 5eee29e5d1fd7b11f97871235f722b8d3aee391a Author: Károly Balogh Date: Thu Sep 5 21:49:27 2019 +0000 m68k: refactor some code to not fail when the tasmop set will be bigger than 256 elements git-svn-id: trunk@42926 - M compiler/m68k/ag68kgas.pas M compiler/m68k/cpubase.pas M compiler/m68k/ra68kmot.pas --- commit 2a87b885b1c4d20f94f85a4467daae794188b473 Author: Károly Balogh Date: Thu Sep 5 21:51:36 2019 +0000 m68k: added the most important FPU instructions with explicit rounding precision (eg. FSADD/FDADD) git-svn-id: trunk@42927 - M compiler/m68k/cpubase.pas M compiler/m68k/itcpugas.pas --- commit db2875cebaf152bf1dc77e3517039a77743b5b6c Author: Károly Balogh Date: Fri Sep 6 07:25:45 2019 +0000 m68k: added the remaining instructions with explicit rounding precision. fixed fsflmul to be fsglmul (this is also typo in the original 68k PRM) git-svn-id: trunk@42928 - M compiler/m68k/cpubase.pas M compiler/m68k/itcpugas.pas --- commit fd1d2271750c608100173ad89aa88cb9517cc211 Author: Károly Balogh Date: Fri Sep 6 07:56:06 2019 +0000 m68k: more refactoring for fpu_capabilities instead of hardwired fpu types. 68040 and 68060 fpu types should now work git-svn-id: trunk@42929 - M compiler/m68k/n68kadd.pas --- commit 5d9771d141a145cf168ad7570c99226c3611ad9f Author: pierre Date: Sat Sep 7 21:14:12 2019 +0000 Suppress range check/invalid typecast errors when compiling with -CriotR option git-svn-id: trunk@42942 - M compiler/symdef.pas --- commit 16fc8c8d9a05fc4f94c0e489892f0e82ad530e76 Author: Károly Balogh Date: Sun Sep 8 09:21:17 2019 +0000 m68k: added some handling for the explicit precision FPU instructions in the spilling and optimizer. fixed a_fsabs and a_fdabs names git-svn-id: trunk@42943 - M compiler/m68k/aasmcpu.pas M compiler/m68k/aoptcpu.pas M compiler/m68k/cpubase.pas --- commit 50fe8f70f5095a318683cfd9435c5a8d56ed95b5 Author: Károly Balogh Date: Sun Sep 8 13:34:39 2019 +0000 m68k: make sure we're not trying to allocate a subregister for float paras when R_SUBWHOLE <> R_SUBNONE git-svn-id: trunk@42946 - M compiler/m68k/cpupara.pas --- commit fa1203029f8885b25e9324e3c811d6e9b9f1058f Author: Károly Balogh Date: Sun Sep 8 13:37:22 2019 +0000 m68k: use cpu_capabilities when deciding to inject scaling into a ref. also allow scaling in more cases. git-svn-id: trunk@42947 - M compiler/m68k/n68kmem.pas --- commit 353fc13257104a006558df876a8a2eaf61424ab0 Author: Károly Balogh Date: Sun Sep 8 13:55:19 2019 +0000 m68k: cleanup of the ancient mess from cgsize2subreg git-svn-id: trunk@42949 - M compiler/m68k/cpubase.pas --- commit cc49d256ea2bd7324b054a63a5f4051dce2ed135 Author: florian Date: Sun Sep 8 20:53:41 2019 +0000 + AArch64: CMPB.E/NE2CBNZ/CBZ optimization git-svn-id: trunk@42960 - M compiler/aarch64/aoptcpu.pas --- commit ce9e1a3419a525d024fc4f9ad5af6c261cd44f7b Author: florian Date: Sun Sep 8 20:53:43 2019 +0000 + AArch64: FoldShiftProcess fixed git-svn-id: trunk@42963 - M compiler/aarch64/aoptcpu.pas --- commit c3c3e99c6426da68c901d4a2314133b6e32d7df1 Author: florian Date: Sun Sep 8 20:53:43 2019 +0000 + AArch64: implemented TCpuAsmOptimizer.OptPass1Data git-svn-id: trunk@42962 - M compiler/aarch64/aoptcpu.pas --- commit d25820b83050c192461c02da3803cb16a066d2e1 Author: Károly Balogh Date: Sun Sep 8 22:43:34 2019 +0000 m68k: added CPUM68K_HAS_BYTEWORDMATH and CPUM68K_HAS_INDEXWORD capabilities git-svn-id: trunk@42964 - M compiler/m68k/cpuinfo.pas --- commit aea0f3e667034d0aa878888bc0ff3d870a25fd2c Author: Károly Balogh Date: Mon Sep 9 07:47:34 2019 +0000 m68k: build fix (premature commits are the root of all evil too) git-svn-id: trunk@42966 - M compiler/m68k/cpuinfo.pas --- commit dcf4e4cb2c04adbd4bb299b389913c84ed56d0fd Author: Jonas Maebe Date: Mon Sep 9 18:33:33 2019 +0000 * support taking the address of labels defined in assembler blocks in the LLVM code genrator (for the rtti unit's thunk hacking) git-svn-id: trunk@42969 - M compiler/aasmbase.pas M compiler/llvm/agllvm.pas M compiler/llvm/nllvmtcon.pas M compiler/rautils.pas --- commit cdafe680c2353d46fd1f00549e158a4c5f2fa8b0 Author: Jonas Maebe Date: Mon Sep 9 18:33:37 2019 +0000 * different definitions for the same Objective-C class (can happen with external class declarations) need a type conversion in LLVM (because they're represented by different LLVM types) git-svn-id: trunk@42970 - M compiler/llvm/nllvmcnv.pas --- commit 58eef0a5aac53db1d7d5d7bed2515a535522e6f0 Author: florian Date: Mon Sep 9 20:59:55 2019 +0000 + AAarch64: TCpuAsmOptimizer.OptPass1Shift makes use of RemoveSuperfluousMove git-svn-id: trunk@42971 - M compiler/aarch64/aoptcpu.pas --- commit fa2e751f9f0787cc827c7cead21f3b36f12d9b3f Author: florian Date: Tue Sep 10 18:46:56 2019 +0000 + AArch64: implementation of taarch64casenode.genlinearlist git-svn-id: trunk@42973 - M compiler/aarch64/ncpuset.pas --- commit e3e23df7e208a0c72832b3528ed99446410e8dce Author: Jonas Maebe Date: Fri Sep 13 19:06:34 2019 +0000 * document how tgotonode/tlabelnode copying works git-svn-id: trunk@42986 - M compiler/nflw.pas --- commit ef6dde6de305cff538f8cdd0bc4dca13c5574f4f Author: Jonas Maebe Date: Fri Sep 13 19:06:40 2019 +0000 * fixed loading the address of a copied labelnode in a loadnode (mantis #35877) git-svn-id: trunk@42987 - M .gitattributes M compiler/nld.pas A tests/test/units/rtl-generics/tw35877.pp --- commit d14fd51d0b2f47c2059215a388a512a5c7d6b37f Author: Jonas Maebe Date: Sat Sep 14 17:22:23 2019 +0000 * fix potential crash with copied goto nodes on nestedparentfp platforms o as described in the comment for the tgotonode.labsym field, it will be null for copied gotonodes git-svn-id: trunk@42997 - M compiler/ncgnstfl.pas --- commit 9e7cf37cd6aa8d01ed7ba2c3765877631505ccd4 Author: Jonas Maebe Date: Sun Sep 15 16:18:14 2019 +0000 * changed resulttype and firstpass processing from recursion into loop, based on patch/idea by J. Gareth Moreton (as part of his patch in #35857) git-svn-id: trunk@43004 - M compiler/pass_1.pas --- commit ff2d71869966b8f39c8a0772e108b766283ec936 Author: Jonas Maebe Date: Sun Sep 15 20:43:09 2019 +0000 * fixed occasional rounding error with currency constants on the LLVM targets (fixes test/tcustomattr13.pp) git-svn-id: trunk@43017 - M compiler/llvm/nllvmcon.pas --- commit 9678542ba611d2c0a511eeaa844d760879903910 Author: Jonas Maebe Date: Sun Sep 15 20:43:12 2019 +0000 + add "thunk" attribute for stubs/thunks and emit it for LLVM - also removed wrong "noreturn" attribute for interface thunks generated for high level code generator targets git-svn-id: trunk@43018 - M compiler/llvm/agllvm.pas M compiler/ncgvmt.pas M compiler/psub.pas M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp --- commit 0fa70759a20202281c390ba48b8b46d7eee37d14 Author: pierre Date: Mon Sep 16 14:50:43 2019 +0000 * cutils.pas (size_2_align): Move to.. globals.pas (size_2_align): ...here. Change parameter type to asizeuint to avoid overflows. (var_align_size, const_align_size): Also change parameter type to asizeuint. i386/cpupara.pas, i8086/cpupara.pas, x86_64/cpupara.pas: Add globals to implementation uses clause because of size_2_align move. git-svn-id: trunk@43022 - M compiler/cutils.pas M compiler/globals.pas M compiler/i386/cpupara.pas M compiler/i8086/cpupara.pas M compiler/x86_64/cpupara.pas --- commit eb3a470f456c12ed78c52e9584db5bc8b87581de Author: pierre Date: Tue Sep 17 21:06:18 2019 +0000 * assemble.pas (TInternalAssembler.TreePass0): Avoid range/overflow check error. (TInternalAssembler.TreePass2): Check that objsymend and objsym are in same section and avoid range/overflow check error. git-svn-id: trunk@43028 - M compiler/assemble.pas --- commit 19a69640883fbc5a0c0d607863a6a85673d6f8c6 Author: Károly Balogh Date: Fri Sep 20 11:35:35 2019 +0000 m68k: add subregisters. on 68k, these are not as universal as on x86 and work differently, but the compiler needs this infrastructure to do 16bit math (which is a massive improvement on '000) or word-size indexes on CPUs which support it git-svn-id: trunk@43043 - M .gitattributes M compiler/m68k/ag68kgas.pas M compiler/m68k/cpubase.pas M compiler/m68k/itcpugas.pas M compiler/m68k/m68kreg.dat M compiler/m68k/r68kcon.inc M compiler/m68k/r68kgas.inc A compiler/m68k/r68kgasf.inc M compiler/m68k/r68kgri.inc M compiler/m68k/r68knor.inc M compiler/m68k/r68knum.inc M compiler/m68k/r68krni.inc M compiler/m68k/r68ksri.inc M compiler/m68k/r68ksta.inc M compiler/m68k/r68kstd.inc A compiler/m68k/r68kstdf.inc M compiler/m68k/r68ksup.inc M compiler/utils/mk68kreg.pp --- commit 435b57bdb120166870537cbe299aaaf8b86820b8 Author: Károly Balogh Date: Fri Sep 20 11:37:18 2019 +0000 m68k: allow vecnode to use word size index registers git-svn-id: trunk@43044 - M compiler/m68k/n68kmem.pas --- commit eb71d11b9914dc9b448e7d1a18603da807947c67 Author: Károly Balogh Date: Fri Sep 20 13:48:30 2019 +0000 m68k: also handle OS_64 register sizes in cgsize2subreg git-svn-id: trunk@43045 - M compiler/m68k/cpubase.pas --- commit 02deb7d954b37850bdd92822433cca41d27c102c Author: florian Date: Sun Sep 22 15:27:50 2019 +0000 * try to avoid to use pic based calls git-svn-id: trunk@43054 - M compiler/ncgcal.pas --- commit bd1d6f335db93b5e5912e4b60966a254e07c212a Author: florian Date: Sun Sep 22 15:27:51 2019 +0000 * if we load a got depends only if one is needed, not if PIC is generated as this could be also caused by tls support git-svn-id: trunk@43055 - M compiler/i386/cgcpu.pas --- commit 14b7eaa46f2d80ec8db5efbd5fb71d4469002504 Author: florian Date: Wed Sep 25 21:18:59 2019 +0000 + x86-64: implemented support for relocation needed by tls threadvars in the binary elf writer git-svn-id: trunk@43067 - M compiler/ogbase.pas M compiler/ogelf.pas M compiler/x86/aasmcpu.pas M compiler/x86_64/cpuelf.pas --- commit f6667a5143147f88a862a703d1baf1cd922dd885 Author: florian Date: Wed Sep 25 21:19:01 2019 +0000 * we have to use __tls_get_addr from the dyn. linker lib else tls on programs with pure pascal dyn. libraries fail git-svn-id: trunk@43069 - M compiler/systems/t_linux.pas M rtl/linux/x86_64/si_prc.inc --- commit 56d91b4ca79540828c8af3950d6187cc210d17a2 Author: florian Date: Wed Sep 25 21:19:03 2019 +0000 + support tls threadvars with the internal assembler git-svn-id: trunk@43070 - M compiler/i386/cpuelf.pas M compiler/ogbase.pas M compiler/ogelf.pas M compiler/x86/aasmcpu.pas M rtl/linux/i386/si_prc.inc --- commit d8e2db269197b6adbbfb23103d3a7a28b193163d Author: florian Date: Wed Sep 25 21:19:04 2019 +0000 + command line switch -CV to select the threadvar model for section threadvars git-svn-id: trunk@43071 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas --- commit 4064c5f39befe1f71d70992b9e3e02eff8f7fffd Author: florian Date: Wed Sep 25 21:19:05 2019 +0000 * section thread vars need to be access with the symbol type AT_TLS git-svn-id: trunk@43073 - M compiler/ncgld.pas --- commit 9e8bc7c93574678628b613fff8319b541f1cac21 Author: florian Date: Wed Sep 25 21:19:06 2019 +0000 * the general section threadvar model needs a got but pic is not required git-svn-id: trunk@43074 - M compiler/x86/nx86ld.pas --- commit 11319353fd0d5275bdb7a36d1ccce97cc0524099 Author: florian Date: Wed Sep 25 21:19:06 2019 +0000 * loading a got depends only on the fact if a got is needed and not if pic shall be generated git-svn-id: trunk@43075 - M compiler/i386/cpupi.pas M compiler/i8086/cgcpu.pas M compiler/psub.pas --- commit 3949be69898e3a724509357a28617376e8a339f4 Author: florian Date: Wed Sep 25 21:19:07 2019 +0000 * be able to set an AT_* for datablocks * set AT_TLS if needed git-svn-id: trunk@43076 - M compiler/aasmtai.pas M compiler/i8086/n8086util.pas M compiler/ngenutil.pas M compiler/raatt.pas --- commit b99323bb193977646957bb6ac6529e0288c0f963 Author: Jonas Maebe Date: Sun Sep 29 10:29:54 2019 +0000 * fix LLVM compilation after r43076 git-svn-id: trunk@43088 - M compiler/llvm/nllvmutil.pas --- commit 49026e126182c2fa2dbdf4941e6d6d14b3b24c9b Author: Jonas Maebe Date: Sun Sep 29 10:29:57 2019 +0000 * add "readonly" attribute for constant pointer parameters on LLVM git-svn-id: trunk@43089 - M compiler/llvm/llvmdef.pas --- commit 79bdee3278415121dd1c7521cc4457c8ad3a8f25 Author: svenbarth Date: Sat Oct 5 09:42:49 2019 +0000 * finally implement tdynamicarray.equal so that exact match comdat sections work as well git-svn-id: trunk@43119 - M compiler/cclasses.pas --- commit 3ae1b04d09a165e164e3697391125710604f5124 Author: svenbarth Date: Sat Oct 5 09:42:52 2019 +0000 * disable the use of C-operators inside the compiler's sources git-svn-id: trunk@43120 - M compiler/fpcdefs.inc --- commit 03f7ef4c6336182ebd5a053f8d962438abefc644 Author: florian Date: Sat Oct 5 20:48:20 2019 +0000 * renamed tls model switches and symbols to match gcc git-svn-id: trunk@43122 - M Makefile M Makefile.fpc M compiler/arm/cpuelf.pas M compiler/globtype.pas M compiler/i386/cpupi.pas M compiler/options.pas M compiler/x86/nx86ld.pas --- commit 03dfc615dc450f38fae15cd06188dcd56b877616 Author: florian Date: Sat Oct 5 20:48:21 2019 +0000 + new relocations for arm tls git-svn-id: trunk@43123 - M compiler/aasmtai.pas M compiler/aggas.pas M compiler/arm/aasmcpu.pas M compiler/arm/cgcpu.pas M compiler/assemble.pas M compiler/cgbase.pas M compiler/ogbase.pas --- commit cffc69ec1d0fd94be0ec1ab6f54302b1d3158371 Author: florian Date: Sat Oct 5 20:48:22 2019 +0000 + support pi_needs_tls git-svn-id: trunk@43124 - M compiler/utils/ppuutils/ppudump.pp --- commit 988dce14c7499b599e7a707a88941c43a822a931 Author: florian Date: Sat Oct 5 20:48:23 2019 +0000 * cosmetics git-svn-id: trunk@43125 - M compiler/x86_64/cpuelf.pas --- commit c3f4ad39a3d93a445a490b963ca1015d416db6cc Author: florian Date: Sat Oct 5 20:48:24 2019 +0000 * it must be decided in g_maybe_tls_init if a tls is loaded git-svn-id: trunk@43126 - M compiler/psub.pas --- commit abb9401011e6985631b99c28b49a8c1053b6d886 Author: florian Date: Sat Oct 5 20:48:24 2019 +0000 + tls models tlsm_general_dynamic and tlsm_local_exec for arm git-svn-id: trunk@43127 - M compiler/arm/narmld.pas --- commit 16163b74ec9daf00f87075afea385e54f9813e5b Author: florian Date: Sat Oct 5 20:48:26 2019 +0000 + support for the gnu2 general-dynamic tls model on arm, use it instead of the gnu one as the gnu2 one can be relaxed (access optimizations by the linker) + support pic relocations in the internal assembler writer git-svn-id: trunk@43128 - M compiler/aasmtai.pas M compiler/aggas.pas M compiler/arm/aasmcpu.pas M compiler/arm/agarmgas.pas M compiler/arm/cgcpu.pas M compiler/arm/cpuelf.pas M compiler/arm/narmld.pas M compiler/assemble.pas M compiler/cgbase.pas M compiler/ogbase.pas --- commit 7ee889d4ecebcdd72887fc65961bd4a362db0dcf Author: florian Date: Sat Oct 5 20:48:28 2019 +0000 * it must be decided in allocate_tls_register if a tls register is allocated git-svn-id: trunk@43131 - M compiler/psub.pas --- commit a2d3522812a74b2715191f9d447407582fda6951 Author: florian Date: Sat Oct 5 20:48:29 2019 +0000 * general-dynamic -> global-dynamic git-svn-id: trunk@43132 - M Makefile M Makefile.fpc M compiler/arm/aoptcpu.pas M compiler/arm/narmld.pas M compiler/globtype.pas M compiler/i386/cpupi.pas M compiler/options.pas M compiler/x86/nx86ld.pas --- commit df4ec9e8e3b59f70b37bb762f50d37725c22bda6 Author: florian Date: Sat Oct 5 20:48:30 2019 +0000 * arm-linux uses dwarf debug info by default git-svn-id: trunk@43133 - M compiler/systems/i_linux.pas --- commit 8ecdb2e9ca9b32f1334f237612411e7e17e5d1e6 Author: florian Date: Sat Oct 5 20:48:31 2019 +0000 + dwarf support for tls threadvars git-svn-id: trunk@43134 - M compiler/aasmtai.pas M compiler/aggas.pas M compiler/arm/cpuelf.pas M compiler/assemble.pas M compiler/dbgdwarf.pas M compiler/i386/cpuelf.pas M compiler/ogbase.pas M compiler/x86_64/cpuelf.pas --- commit 35e11cd6d4df412a4a193e63b09fda3c9ba910f3 Author: florian Date: Sat Oct 5 20:48:32 2019 +0000 * several linux targets switches from stabs to dwarf git-svn-id: trunk@43135 - M compiler/systems/i_linux.pas --- commit 245b58c249b4b29ffc54e6c1e50a1474cc84f7b1 Author: florian Date: Wed Oct 9 17:45:40 2019 +0000 + support for arm attributes * abi notes fixed git-svn-id: trunk@43157 - M .gitattributes M compiler/aasmbase.pas M compiler/aasmtai.pas M compiler/aggas.pas M compiler/arm/cpuinfo.pas M compiler/arm/cpunode.pas A compiler/arm/narmutil.pas M compiler/assemble.pas M compiler/elfbase.pas M compiler/ogbase.pas M compiler/ogcoff.pas M compiler/ogelf.pas M compiler/psabiehpi.pas M compiler/raatt.pas M rtl/linux/arm/abitag.inc --- commit e0041a8244b79abd964007b694f78a8e15bda682 Author: florian Date: Wed Oct 9 19:26:59 2019 +0000 * compilation of x86 and PowerPC fixed git-svn-id: trunk@43158 - M compiler/omfbase.pas M compiler/powerpc/agppcmpw.pas M compiler/ppcgen/agppcgas.pas M compiler/x86/agx86int.pas M compiler/x86/agx86nsm.pas --- commit 29bdbdba95bf5785005d668aadeebf3033d3e29e Author: florian Date: Thu Oct 10 20:31:30 2019 +0000 * reduce amount of software floating point exception checking, VSTR, VMOV, VLDR do not raise those git-svn-id: trunk@43162 - M compiler/arm/cgcpu.pas --- commit 6c29ecbd1cd0e51977fba16d6ebb09ba32f4e520 Author: Jonas Maebe Date: Sat Oct 12 12:25:07 2019 +0000 * moved array stride back to array entry (mantis #36144) git-svn-id: trunk@43171 - M compiler/dbgdwarf.pas --- commit 67fc9a7853918631155a509ebca0983100e613e6 Author: Jonas Maebe Date: Sat Oct 12 21:39:48 2019 +0000 * fixed peephole opitimizer removing some infinite loops (mantis #36139) git-svn-id: trunk@43175 - M compiler/aoptobj.pas --- commit 00c2fd40055ff5ee214326de04c594231b9a095e Author: florian Date: Sat Oct 12 21:51:14 2019 +0000 + x86: LeaLea2Lea optimization git-svn-id: trunk@43177 - M compiler/x86/aoptx86.pas --- commit 533a1138857ba2ff5daff90e569c521483f2eae5 Author: florian Date: Sat Oct 12 21:51:15 2019 +0000 + LeaCallLeaRet2Jmp optimization git-svn-id: trunk@43178 - M compiler/x86/aoptx86.pas --- commit 5573bee314cc43d3eab0cb29ebfacd0898f7b453 Author: florian Date: Sat Oct 12 21:56:18 2019 +0000 + makefiles use -Sew, so added to the project as well * updated for new format git-svn-id: trunk@43179 - M compiler/ppcarm.lpi --- commit bdcda8660eaa0f02365a9000a55c7ad8ac3becf9 Author: Jonas Maebe Date: Sun Oct 13 07:37:42 2019 +0000 * fix Dwarf 3 array location broken in r43171 (fix by Martin Friebe, mantis #36144) git-svn-id: trunk@43181 - M compiler/dbgdwarf.pas --- commit 33c4a5dda713b26acaf35da6ec913ebde848f54b Author: Jonas Maebe Date: Sun Oct 13 11:11:28 2019 +0000 * don't try to bitpack arrays of non-ordinals (mantis #36157) git-svn-id: trunk@43187 - M .gitattributes M compiler/ngtcon.pas A tests/webtbs/tw36157.pp --- commit 626ef4ae0ccd379e74fc660f914e5524952e6c7f Author: florian Date: Sun Oct 13 15:48:21 2019 +0000 * give an error if an explicit enumeration valid exceeds the valid range, resolves #34633 git-svn-id: trunk@43191 - M .gitattributes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/ptype.pas A tests/webtbf/tw34633.pp --- commit 9d765af6932467e439c8c850f43be86bb40f0ed9 Author: pierre Date: Mon Oct 14 16:04:02 2019 +0000 Fix parsing error in GNU linker script, KEEP needs braces git-svn-id: trunk@43197 - M compiler/systems/t_linux.pas --- commit af8783e8d2d8312897ac6406b2ac30af9b6c609a Author: florian Date: Thu Oct 17 20:55:39 2019 +0000 * i386: with a fixed stack, exception handling does not need a frame pointer git-svn-id: trunk@43218 - M compiler/psub.pas --- commit e5de269664c7029770bb2e4092cd28a9a31545cf Author: svenbarth Date: Sat Oct 19 15:41:33 2019 +0000 * change TObjData.sectiontype2options to a class function so that it can be called without an instance of TObjData git-svn-id: trunk@43265 - M compiler/ogbase.pas M compiler/ogcoff.pas M compiler/ogmacho.pas M compiler/ogomf.pas --- commit 7f8800eeb15ef2db9dbe43b91db194b0e0d0e53f Author: svenbarth Date: Sat Oct 19 15:41:37 2019 +0000 + add a method to TObjData to retrieve the TSectionProcBits and TSectionFlags values for a given section type git-svn-id: trunk@43266 - M compiler/ogbase.pas --- commit e251c8e2ab3909dae2b91253044e8be67a00f6fc Author: svenbarth Date: Sat Oct 19 15:41:41 2019 +0000 * fix for Mantis #36174: correctly initialize secprocbits and secflags given the section type git-svn-id: trunk@43267 - M compiler/aasmtai.pas --- commit e80eee5da54e32313333c2ca1f6dea016bb95c27 Author: florian Date: Sun Oct 20 13:03:45 2019 +0000 * generate better code for length()=0, resolves #36060 git-svn-id: trunk@43272 - M compiler/nadd.pas M compiler/nutils.pas --- commit e3c6ef21d101b8f95dd6d410eba8990ec9e88845 Author: Jonas Maebe Date: Sun Oct 20 14:14:09 2019 +0000 * fixed compilation for Darwin and AIX after addition of section attributes git-svn-id: trunk@43273 - M compiler/aggas.pas --- commit ee3258c0daaa60b9cf3c12e06317bb17ae886c0c Author: florian Date: Sun Oct 20 21:10:56 2019 +0000 * optimizing length()=0 is not possible for jvm git-svn-id: trunk@43280 - M compiler/nadd.pas --- commit cb9f569906d356aad9005ae1f22966c3182d4452 Author: nickysn Date: Mon Oct 21 13:14:58 2019 +0000 * fixed i8086 compilation after r43265 git-svn-id: trunk@43289 - M compiler/ogomf.pas --- commit fa9c7a92c78fc257294bfe2c9e7d92dfdb69be18 Merge: 5bfebeea4e 99d44ce40e Author: florian Date: Wed Oct 23 18:17:50 2019 +0000 -- Zusammenführen von r42725 bis r43306 in ».«: A tests/webtbs/tw32219.pp U tests/utils/avx/avxopcodes.pas U tests/utils/avx/asmtestgenerator.pas U compiler/i386/i386tab.inc U compiler/i386/i386nop.inc U compiler/i8086/i8086tab.inc U compiler/i8086/i8086nop.inc U compiler/x86_64/x8664tab.inc U compiler/x86_64/x8664nop.inc U compiler/x86/aasmcpu.pas U compiler/x86/x86ins.dat U compiler/x86/rax86.pas -- Aufzeichnung der Informationen für Zusammenführung von r42706 bis r43306 in ».«: U . git-svn-id: trunk@43307 --- commit 7e5bf5a9fbc07b8e2459545411ff41499679687b Author: pierre Date: Thu Oct 24 07:03:14 2019 +0000 Fix compilation error for i8086 cpu target git-svn-id: trunk@43308 - M compiler/x86/aasmcpu.pas --- commit 2d2015144653ffdf597df5a9f24e78a1d11941b0 Author: pierre Date: Thu Oct 24 15:28:47 2019 +0000 Change parent class of trv32aatreader to trvattreader git-svn-id: trunk@43309 - M compiler/riscv32/rarv32gas.pas --- commit cc703a9c59d1ff69db1349257be86eb7b0cbeb16 Author: florian Date: Sat Oct 26 08:37:20 2019 +0000 + include -Avasm into the help screen git-svn-id: trunk@43311 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 421b06affe2d3f2a3ab174fb60934feb9e7c11d3 Author: Károly Balogh Date: Sat Oct 26 22:24:00 2019 +0000 morphos: in SDK 3.14, the binutils is finally upgraded to 2.32 (from 2.9.1), which makes section smartlinking working with binutils, and also has finally properly working stabs relocations for lineinfo, etc. so it's the default again both cross and native compilations git-svn-id: trunk@43313 - M compiler/options.pas M compiler/systems/i_morph.pas --- commit 31e5b2d9a4e1874058b586667429956b61a46101 Author: florian Date: Sun Oct 27 12:40:08 2019 +0000 * more precise estimation of subscript node complexity git-svn-id: trunk@43314 - M compiler/nutils.pas --- commit b7f58dd8c8eacbbfe8aaf8632b6617228ded7485 Author: florian Date: Sun Oct 27 16:53:26 2019 +0000 * load nodes for variables in registers do not generated instructions, so their complexity is zero git-svn-id: trunk@43319 - M compiler/nutils.pas --- commit cfec7251954e78c5e2353a6f842bd269582f5d96 Author: florian Date: Wed Oct 30 20:07:26 2019 +0000 * clean up TX86AsmOptimizer.OptPass1MOV git-svn-id: trunk@43336 - M compiler/x86/aoptx86.pas --- commit 59d300fc6ed13237ccaa37bd2478fd07b1588a25 Author: florian Date: Wed Oct 30 20:07:27 2019 +0000 * optimize TAOptBase.SuperRegistersEqual git-svn-id: trunk@43337 - M compiler/aoptbase.pas --- commit 172a4a999bfa8f9d0429bc2e41fe363a778d8821 Author: florian Date: Wed Oct 30 22:39:13 2019 +0000 + MovMov2Mov 6 and MovMov2Mov 7 optimization git-svn-id: trunk@43339 - M compiler/x86/aoptx86.pas --- commit cb67577002b81669c34ab1edda2df068058b2334 Author: florian Date: Thu Oct 31 21:29:41 2019 +0000 * fix length()=0 optimization, resolves #36215 git-svn-id: trunk@43343 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw36215.pp --- commit e19eff13324011b667e4d1b85cc521b8eecb8eff Author: florian Date: Fri Nov 1 09:52:37 2019 +0000 * also type casts to booleans benefit if unneeded type widenings are removed git-svn-id: trunk@43344 - M compiler/ncnv.pas --- commit f481587bee170e0545df260fccc9c653740e1513 Author: svenbarth Date: Fri Nov 1 13:27:29 2019 +0000 * fix compilation on PE/COFF based systems with GNU AS as there the progbits are not supported git-svn-id: trunk@43345 - M compiler/aggas.pas --- commit fdeaacac21cfa72ea0148158fa8da9aa67035881 Author: svenbarth Date: Fri Nov 1 15:02:31 2019 +0000 * fix for Mantis #36223: when parsing a helper type its extendeddef might be Nil + added test git-svn-id: trunk@43346 - M .gitattributes M compiler/symtable.pas A tests/webtbf/tw36223.pp --- commit ae04e5d7f0c2527677b7c4ce6be2c235a4635c82 Author: florian Date: Fri Nov 1 18:39:18 2019 +0000 * avr: apply LdiOp2Opi optimization also to and and sub git-svn-id: trunk@43352 - M compiler/avr/aoptcpu.pas --- commit c6a08cdc6e57c5dff6b586c40ad9fefe8c2f2a5b Author: svenbarth Date: Sat Nov 2 12:36:26 2019 +0000 + add a Flush method to TExeMap which is useful when debugging internal errors or crashes where the exemap instance has not yet been destroyed git-svn-id: trunk@43358 - M compiler/ogmap.pas --- commit c3ef42b164cfdee2dc5dfaa5b2bbb7790799fcbc Author: florian Date: Sat Nov 2 18:09:11 2019 +0000 * allow cmov with memory reference if it is a pure symbol or a rip relative symbol: as the symbol is allocated within the image of the program, this should never cause a seg. fault, so it is save to use cmov with it git-svn-id: trunk@43368 - M compiler/x86/aoptx86.pas --- commit f9530437c2fd229250b3ffc48c0536df3456c192 Author: florian Date: Sat Nov 2 18:34:53 2019 +0000 * fix i386 building git-svn-id: trunk@43369 - M compiler/x86/aoptx86.pas --- commit 3487c34ed9a2c87128c39bab5a5dcd336e5ef66f Author: florian Date: Sat Nov 2 18:48:23 2019 +0000 * unified TX86AsmOptimizer.OptPass1MOVAP and TX86AsmOptimizer.OptPass1VMOVAP git-svn-id: trunk@43370 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 6842c5784d5a6b21584bf26428a01457c21c60d0 Author: florian Date: Sat Nov 2 22:37:29 2019 +0000 * CallRet2Jmp works with PIC git-svn-id: trunk@43371 - M compiler/x86/aoptx86.pas --- commit 1fc7667b3bc86cb83ffce20cace69ceb679a269c Author: florian Date: Sat Nov 2 22:37:30 2019 +0000 + LeaCallLeaRet2Jmp git-svn-id: trunk@43372 - M compiler/x86/aoptx86.pas --- commit 20a47afe13d37f5d4f77c65f3437b4849f5eca48 Author: florian Date: Sat Nov 2 22:37:31 2019 +0000 * more aggressive LeaCallLeaRet2Jmp git-svn-id: trunk@43373 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 7d12e8cc6dfff734632d92f9f6a8ca824a7c6cba Author: pierre Date: Tue Nov 5 10:00:48 2019 +0000 Avoid warnings for m68k compiler git-svn-id: trunk@43391 - M compiler/m68k/aoptcpu.pas M compiler/m68k/aoptcpub.pas M compiler/m68k/cgcpu.pas M compiler/m68k/cpupara.pas M compiler/m68k/n68kadd.pas M compiler/m68k/ra68kmot.pas M compiler/m68k/rgcpu.pas M compiler/options.pas M compiler/systems/t_atari.pas --- commit fff3b67b7e3f2f7e820ab782d40d680f50d18539 Author: pierre Date: Tue Nov 5 10:37:19 2019 +0000 Remove ALLOW_WARNINGS=1 for m68k compiler git-svn-id: trunk@43392 - M compiler/Makefile M compiler/Makefile.fpc --- commit ac1e0f96bdf26510682788eaa26a813cbb80a7ba Author: Jonas Maebe Date: Wed Nov 6 21:50:19 2019 +0000 * replaced tentryfile.get/putsmall/normalset() with a common tget/putset that expects an open array of byte, and use it for all sets o since all sets need to be typecasted to an array type of the appropriate size, we'll get a compilation error in case this needs to be done and that also tells us at the same time that the ppu version will need to be increased * enabled {$packset 1} for the compiler, as this is now safe with the above changes git-svn-id: trunk@43407 - M compiler/aasmtai.pas M compiler/entfile.pas M compiler/fpcdefs.inc M compiler/fppu.pas M compiler/nbas.pas M compiler/ncal.pas M compiler/ncnv.pas M compiler/ncon.pas M compiler/nflw.pas M compiler/nld.pas M compiler/nmem.pas M compiler/node.pas M compiler/ppu.pas M compiler/symdef.pas M compiler/symsym.pas M compiler/symtable.pas M compiler/utils/ppuutils/ppudump.pp --- commit c8f746b88170196adb878a3166e566be1189dc35 Author: florian Date: Thu Nov 7 21:08:08 2019 +0000 * do not allocate an extra register for some integer operations if not needed git-svn-id: trunk@43412 - M compiler/cgobj.pas M compiler/x86/nx86add.pas --- commit d275e7a7e658debe32497a50c5e49d61d154b294 Author: florian Date: Thu Nov 7 21:12:47 2019 +0000 * removed accidently committed debug statement git-svn-id: trunk@43413 - M compiler/cgobj.pas --- commit f20e6ff323dce8717477f7d1cac6e70ce0c07b73 Author: florian Date: Sat Nov 9 16:58:58 2019 +0000 * update generic linker script git-svn-id: trunk@43426 - M compiler/systems/t_linux.pas --- commit 40bbb28fd2b877cb94ce03b5b0ffc5f45760a83e Author: florian Date: Sat Nov 9 18:28:30 2019 +0000 * do not write section flags/progbits for .data, .rodata .data.norel as the compiler will ignore them anyways and warn about it git-svn-id: trunk@43428 - M compiler/aggas.pas --- commit 137f392c66a298d58a03c3ca336470e5a5274efa Author: florian Date: Sat Nov 9 18:29:14 2019 +0000 * parameters declared as out must be initialized git-svn-id: trunk@43429 - M compiler/ogbase.pas --- commit 99ce957111b021c5739d96df65ebb11fb274e71e Author: florian Date: Sat Nov 9 18:32:36 2019 +0000 * fixed default value for progbits git-svn-id: trunk@43430 - M compiler/ogbase.pas --- commit 79dfd9fb51a82eda8f6469a6236a78e7ba6f7f6a Author: florian Date: Sat Nov 9 21:58:30 2019 +0000 + MIPS: take care of setnoat git-svn-id: trunk@43432 - M compiler/mips/cgcpu.pas M compiler/mips/cpupi.pas --- commit 88a8871c622794893012bb90c75253245a945d35 Author: florian Date: Sat Nov 9 21:58:31 2019 +0000 * read more types of references properly git-svn-id: trunk@43433 - M compiler/mips/racpugas.pas --- commit 47dcc5b05b7d41ceadf0a7b10a5f6867ff110df2 Author: florian Date: Sun Nov 10 16:11:38 2019 +0000 * patch by J. Gareth Moreton, issue #36271, part 1: general rework of the jump optimizer git-svn-id: trunk@43439 - M compiler/aoptobj.pas --- commit 2d295a381642e32edbbc08e206453d9251753d53 Author: florian Date: Sun Nov 10 16:11:39 2019 +0000 * patch by J. Gareth Moreton, issue #36271, part 2: x86 specific rework of the jump optimizer git-svn-id: trunk@43440 - M compiler/x86/aoptx86.pas --- commit e1e89864620fe33d035b7987c470847d87b808be Author: florian Date: Sun Nov 10 16:11:40 2019 +0000 * patch by J. Gareth Moreton, issue #36271, part 3: support for the other architectures git-svn-id: trunk@43441 - M compiler/aarch64/cpubase.pas M compiler/arm/cpubase.pas M compiler/avr/cpubase.pas M compiler/m68k/cpubase.pas M compiler/mips/cpubase.pas M compiler/powerpc/cpubase.pas M compiler/powerpc64/cpubase.pas M compiler/riscv32/cpubase.pas M compiler/riscv64/cpubase.pas M compiler/sparcgen/cpubase.pas M compiler/x86/cpubase.pas --- commit 7747c5fc27e6e23247c4d200e3d9fd4c060b9770 Merge: e1e8986462 47bb71efc4 Author: florian Date: Sun Nov 10 16:44:34 2019 +0000 -- Zusammenführen von r43307 bis r43443 in ».«: D tests/webtbs/tw32219.pp U compiler/i386/i386att.inc U compiler/i386/i386atts.inc U compiler/i386/i386int.inc U compiler/i386/i386nop.inc U compiler/i386/i386op.inc U compiler/i386/i386prop.inc U compiler/i386/i386tab.inc U compiler/i8086/i8086att.inc U compiler/i8086/i8086atts.inc U compiler/i8086/i8086int.inc U compiler/i8086/i8086nop.inc U compiler/i8086/i8086op.inc U compiler/i8086/i8086prop.inc U compiler/i8086/i8086tab.inc U compiler/x86/x86ins.dat U compiler/x86_64/x8664ats.inc U compiler/x86_64/x8664att.inc U compiler/x86_64/x8664int.inc U compiler/x86_64/x8664nop.inc U compiler/x86_64/x8664op.inc U compiler/x86_64/x8664pro.inc U compiler/x86_64/x8664tab.inc U tests/utils/avx/avxopcodes.pas -- Aufzeichnung der Informationen für Zusammenführung von r42706 bis r43443 in ».«: U . git-svn-id: trunk@43444 --- commit 4b455600b8a6c98158383c01cbe818a3d80df6d1 Author: florian Date: Sun Nov 10 18:23:50 2019 +0000 * swapped decrefs and StripLabelFast as proposed by Gareth on the mailing list git-svn-id: trunk@43445 - M compiler/x86/aoptx86.pas --- commit 7464c880034a94a76aa06cefa0b1c4133d8969f0 Author: florian Date: Sun Nov 10 21:09:06 2019 +0000 * fix and improve MovImul2Imul: we cannot insert the move target into imul if the imul is 64 bit and the mov 32 bit as we cannot ensure that the upper 32 bits of the move target are really clear git-svn-id: trunk@43447 - M compiler/x86/aoptx86.pas --- commit 5f3050961f57c1ecc58565e6434ad93ec44e14ef Author: florian Date: Sun Nov 10 21:45:57 2019 +0000 * load left properly into a register in tx86addnode.second_addordinal, resolves #36287 git-svn-id: trunk@43449 - M compiler/x86/nx86add.pas --- commit 2f914ee2d89b64e629fa93132bd1ff126322b223 Author: Jonas Maebe Date: Mon Nov 11 09:26:51 2019 +0000 * packed tabstractvarsym.addr_taken/different_scope fields into a set git-svn-id: trunk@43450 - M compiler/ppu.pas M compiler/symconst.pas M compiler/symsym.pas M compiler/utils/ppuutils/ppudump.pp --- commit 83a11c2a7daa26276316ce7cd2fccc7682532213 Author: florian Date: Mon Nov 11 21:29:13 2019 +0000 * patch by J. Gareth Moreton to clean up TX86AsmOptimizer.OptPass2Jcc, resolves #36295 git-svn-id: trunk@43452 - M compiler/x86/aoptx86.pas --- commit 1d6e719e381c3a58254f3fa6cdf2021e630d0871 Author: florian Date: Mon Nov 11 22:08:17 2019 +0000 * improve ShlAddLeaSubIncDec2Lea to take care of foldable LEAs git-svn-id: trunk@43453 - M compiler/x86/aoptx86.pas --- commit 5c0a5b73c7cfade35d402e59bca06c8a6167a3f1 Author: florian Date: Tue Nov 12 20:03:19 2019 +0000 * patch by J. Gareth Moreton: fix compilation with debug info after r43441 and friends, resolves #36299 git-svn-id: trunk@43455 - M compiler/aoptobj.pas M compiler/x86/aoptx86.pas --- commit 7ee0ad4d639e5a93e73056c343e792b7b03e6d1b Author: florian Date: Tue Nov 12 22:04:23 2019 +0000 + LeaOp2Op optimization * replaced some manual removels of p by RemoveCurrentP calls git-svn-id: trunk@43456 - M compiler/x86/aoptx86.pas --- commit ae6b204c9492b9e7b369239b91af6a77fe998c60 Author: florian Date: Tue Nov 12 22:10:01 2019 +0000 + added comments for LeaOp2Op git-svn-id: trunk@43457 - M compiler/x86/aoptx86.pas --- commit 9b3447a6a4cd9babd4b870b4f903bd58e918fd74 Author: pierre Date: Wed Nov 13 16:59:26 2019 +0000 Fix ppudump after commit #43450 git-svn-id: trunk@43458 - M compiler/utils/ppuutils/ppudump.pp --- commit 6bed497c7c3cba3bde7cf91a4544c67e90b041a3 Author: florian Date: Wed Nov 13 20:47:40 2019 +0000 * be carefully with references using RIP when doing LeaOp2Op optimizations git-svn-id: trunk@43460 - M compiler/x86/aoptx86.pas --- commit e1433adc2e40670f50d53cbb7b20616728923478 Author: florian Date: Wed Nov 13 20:47:42 2019 +0000 * check in the internal assembler for references with incorrect use of RIP + test git-svn-id: trunk@43461 - M .gitattributes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/x86/aasmcpu.pas A tests/tbf/tb0271.pp --- commit d82335bf9a833519e0b140c666e7851f6afdf226 Author: florian Date: Wed Nov 13 21:13:05 2019 +0000 * do not remove cfi_endproc after jmps git-svn-id: trunk@43462 - M compiler/aoptobj.pas --- commit 0ab0eefae0d359b976d1db4ec81ef5f3709d853e Author: florian Date: Thu Nov 14 21:14:00 2019 +0000 + separate JUMP_DEBUG define git-svn-id: trunk@43463 - M compiler/aoptobj.pas --- commit 632f13c47a1208c1f3ea5d05f880aacbad14bc70 Author: florian Date: Thu Nov 14 21:14:01 2019 +0000 * i386 does not use anymore its own assembler optimizer loops git-svn-id: trunk@43464 - M compiler/i386/aoptcpu.pas --- commit 87b3b089d6e5cf75078b21dd4a389b4609e2ea04 Author: florian Date: Thu Nov 14 21:26:48 2019 +0000 * i386: more clean up of TCPUAsmOPtimizer.PeepHoleOptPass1Cpu git-svn-id: trunk@43465 - M compiler/i386/aoptcpu.pas --- commit bf24882c33b971c1bb31effdfc865ec6d67eb692 Author: florian Date: Thu Nov 14 21:38:21 2019 +0000 * patch by J. Gareth Moreton: fix building for armv6m after r43441 git-svn-id: trunk@43466 - M compiler/aoptobj.pas --- commit a09e40945caeeb55c4ec2b0e68efe2a4bcbefc03 Author: pierre Date: Fri Nov 15 14:47:02 2019 +0000 Regenerate all Makefile's after commit #43472 git-svn-id: trunk@43478 - M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile --- commit d4f0658c0273c43dc0e36ad62c9aa6935096808b Author: florian Date: Fri Nov 15 20:50:17 2019 +0000 * disable condition jump optimization on MIPS for now for the time being git-svn-id: trunk@43486 - M compiler/aoptobj.pas --- commit 798a1b62192d72ad565d4cd642df9c4c0d9d1664 Author: florian Date: Sat Nov 16 11:03:53 2019 +0000 * -P option for ppumove git-svn-id: trunk@43487 - M compiler/utils/ppumove.pp M utils/fpcm/fpcmake.inc M utils/fpcm/fpcmake.ini --- commit a969097a8098a6f34d6d0797c9d0de39d9fa2d85 Author: florian Date: Sat Nov 16 14:04:02 2019 +0000 * optimization Move removed 4 fixed git-svn-id: trunk@43493 - M compiler/mips/aoptcpu.pas --- commit 13ab35e3efa733623f0af62b3f21757b4de8e481 Author: florian Date: Sat Nov 16 14:07:32 2019 +0000 * fix usage of ppumove generated shared libraries git-svn-id: trunk@43495 - M compiler/pmodules.pas --- commit 851accbb4b332cc720d4723075d8ba42bfd0d3ad Author: florian Date: Sat Nov 16 14:07:59 2019 +0000 * cse adjusted git-svn-id: trunk@43496 - M compiler/nutils.pas M compiler/optcse.pas --- commit 52cc02aa3b9b9b4987a724423789e415c1727fdd Author: florian Date: Sat Nov 16 17:16:15 2019 +0000 * values passed to const parameters are not limited to registers and constants git-svn-id: trunk@43500 - M compiler/ncgcal.pas --- commit 60b329659445aebbc9468dd6e28a4e33124afedb Author: florian Date: Sat Nov 16 17:16:16 2019 +0000 * relax conditions in tcallnode.optimize_funcret_assignment, resolves #36279 git-svn-id: trunk@43501 - M .gitattributes M compiler/ncal.pas A tests/tbs/tb0660.pp --- commit 91f3f022fe4d75b8fd44c115e5863039d09829f7 Author: florian Date: Sun Nov 17 14:48:45 2019 +0000 * MM registers which might not be changed can be still used in 3 op mathematical operations as source git-svn-id: trunk@43509 - M compiler/x86/nx86add.pas --- commit 7eb0be61273e009d716df175d8c321dea5230859 Author: pierre Date: Tue Nov 19 22:47:39 2019 +0000 Fix invalid typecast revealed by -CriotR by changing order of terms in boolean expression git-svn-id: trunk@43515 - M compiler/nutils.pas --- commit f505822ab5f7702187fcbca8fa5511236fb581e1 Author: florian Date: Wed Nov 20 22:12:26 2019 +0000 o patch by J. Gareth Moreton: * fix jump optimizer for MIPS(EL). + New method called "MakeUnconditional" introduced that can do platform-specific changes git-svn-id: trunk@43518 - M compiler/aoptobj.pas M compiler/mips/aoptcpu.pas --- commit 40c54e9d37736815438e236c15df0c996b3d16c4 Author: florian Date: Wed Nov 20 22:12:27 2019 +0000 * do not generate conditional jump with full references + more assembler optimizer output git-svn-id: trunk@43520 - M compiler/x86/aoptx86.pas --- commit da54d0e8f7efb83515a85c84b49c9311001f777f Author: florian Date: Wed Nov 20 22:12:27 2019 +0000 + patch by J. Gareth Moreton: new method TAOptObj.CanDoJumpOpts and arm specific implementation git-svn-id: trunk@43519 - M compiler/aoptobj.pas M compiler/arm/aoptcpu.pas --- commit 6248a127cab04750c174f58514f492b759bc7553 Author: florian Date: Wed Nov 20 22:12:28 2019 +0000 * write assembler optimizer messages into output file if DEBUG_AOPTOBJ is set git-svn-id: trunk@43521 - M compiler/aoptobj.pas --- commit a61a0cce4c96ba0173533319b973a48ebf0e53e8 Author: pierre Date: Wed Nov 20 22:44:30 2019 +0000 Use same entered_paren local variable as 64-bit counterpart and fix register names git-svn-id: trunk@43522 - M compiler/riscv32/rarv32gas.pas --- commit ff415ba39c27148c52edca43e145b46d4cd4ebfa Author: pierre Date: Thu Nov 21 10:00:20 2019 +0000 Fixes by Gareth Moreton for problems exposed by use of -CriotR option git-svn-id: trunk@43529 - M compiler/aoptobj.pas M compiler/x86/aoptx86.pas --- commit 61bf55e0fe5ca647824e11ad1254691af65c52f6 Author: florian Date: Thu Nov 21 19:58:48 2019 +0000 * define renamed git-svn-id: trunk@43531 - M compiler/aoptobj.pas --- commit f5caa9940ba8869791a45ac22bbcaa461282b9b6 Author: florian Date: Thu Nov 21 20:19:49 2019 +0000 * make use of RemoveCurrentP git-svn-id: trunk@43532 - M compiler/x86/aoptx86.pas --- commit 04984e9af9c5105b0ebffa308b2b8f97d72872a8 Author: svenbarth Date: Thu Nov 21 21:44:12 2019 +0000 * also generate indirect symbols for AB_PRIVATE_EXTERN symbols as these might be used from a unit in another package due to inlining git-svn-id: trunk@43533 - M compiler/aasmdef.pas --- commit 276f5bdef86a1a6edb28d0fdd58685365eb357f4 Author: svenbarth Date: Thu Nov 21 21:44:16 2019 +0000 * ensure that nothing assembly related is generated for generics when a typed constant (this also includes local variable initializations) are parsed git-svn-id: trunk@43534 - M compiler/ptconst.pas --- commit f13200d68b54786abd242bb1b0de2f1851386add Author: svenbarth Date: Thu Nov 21 21:44:19 2019 +0000 * restore localswitch settings after the initialization and finalization code was generated git-svn-id: trunk@43535 - M compiler/psub.pas --- commit f4d96906c2363c66ff50f2b9e526d64c37ccd819 Author: svenbarth Date: Thu Nov 21 21:44:22 2019 +0000 * reference FPC_ABSMASK_SINGLE/-DOUBLE using the indirect symbol if required for dynamic packages git-svn-id: trunk@43536 - M compiler/x86/nx86inl.pas --- commit 85637ad5fad7b0df35d26453779b00726966b164 Author: svenbarth Date: Thu Nov 21 21:44:26 2019 +0000 * register constant symbols git-svn-id: trunk@43537 - M compiler/pdecl.pas --- commit 6f584333e57f4eeda948203e5e2cace032ede931 Author: svenbarth Date: Thu Nov 21 21:44:29 2019 +0000 * symbols called by g_call might need to be imported from dynamic packages as well git-svn-id: trunk@43538 - M compiler/cgobj.pas --- commit 6151f7af29ffb7a09cca8e6d49d0fce3eb564c46 Author: svenbarth Date: Thu Nov 21 21:44:33 2019 +0000 * check the localswitches of the node instead of the global ones git-svn-id: trunk@43539 - M compiler/ncgld.pas --- commit da1312698b9f05bf26fdc7ab73aed647849b06a8 Author: svenbarth Date: Thu Nov 21 21:44:36 2019 +0000 * correctly check for the system unit git-svn-id: trunk@43540 - M compiler/ncgld.pas --- commit 06fc84037ce1b08f1e26f4e571fe6f8270f1f4f1 Author: svenbarth Date: Thu Nov 21 21:44:40 2019 +0000 * ensure that generic symbols are not tried to be exported git-svn-id: trunk@43541 - M compiler/pkgutil.pas --- commit a041f899d358832ce9e08d2111c4f26143ae8cb8 Author: svenbarth Date: Thu Nov 21 21:44:43 2019 +0000 * when creating the static field of a generic, insert it into the generic instead of the global symtable as it isn't really used anyway git-svn-id: trunk@43542 - M compiler/symcreat.pas --- commit 2e259ee3cc5d72202d207b5d6775974f791bc4d8 Author: svenbarth Date: Thu Nov 21 21:44:48 2019 +0000 * the VMT of the exception class needs to be referenced indirectly git-svn-id: trunk@43543 - M compiler/i386/n386flw.pas M compiler/x86_64/nx64flw.pas M rtl/win/syswin.inc --- commit 0a915e883ef0479aaca0db5ae9b68c2f17ecff34 Author: svenbarth Date: Thu Nov 21 21:44:53 2019 +0000 * keep track of static symbols that a global function references, as those must now be exported from a dynamic package as well if the function can potentially be inlined git-svn-id: trunk@43544 - M compiler/htypechk.pas M compiler/ncal.pas M compiler/ncnv.pas M compiler/nflw.pas M compiler/pkgutil.pas M compiler/procinfo.pas M compiler/psub.pas M compiler/symconst.pas M compiler/symtable.pas M compiler/utils/ppuutils/ppudump.pp --- commit 4b3ce0c02359b0596f8099beecb18b6804a7bc3c Author: svenbarth Date: Thu Nov 21 21:44:57 2019 +0000 * the symbol of the interface wrapper function needs to be considered as referenced as well git-svn-id: trunk@43545 - M compiler/nobj.pas --- commit cd7e3f354b0c0658929aa8ad3648df80a0b9a0f0 Author: svenbarth Date: Thu Nov 21 21:45:01 2019 +0000 + add a description for the link_e_comdat_selection_differs message git-svn-id: trunk@43546 - M compiler/msg/errore.msg --- commit f28ac2bfc6424e5eeb9c3acfbf5df4fcd8a6e6b0 Author: svenbarth Date: Thu Nov 21 21:45:04 2019 +0000 + add error messages for undefined symbols (both with a known object file and without) git-svn-id: trunk@43547 - M compiler/msg/errore.msg --- commit 1e66b2464a29125b2ff9570e4af8f453574cb409 Author: svenbarth Date: Thu Nov 21 21:45:08 2019 +0000 * regenerate msg*.inc files after adding new error messages for undefined symbols git-svn-id: trunk@43548 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 2a1d26cc905b54f2880fb3f2c51c32a300f32bbe Author: svenbarth Date: Thu Nov 21 21:45:11 2019 +0000 * use translateable error messages for undefined symbols and also report in which object file the symbol was first found git-svn-id: trunk@43549 - M compiler/ogbase.pas --- commit bb3b1b06a735f552b0861973710a6dfcad99ed98 Author: svenbarth Date: Thu Nov 21 21:45:15 2019 +0000 * fix condition for including a unit's object files or not when compiling with packages git-svn-id: trunk@43550 - M compiler/pmodules.pas --- commit 40c11baaaca151271e95ba91ea6973de369f5bb0 Author: svenbarth Date: Thu Nov 21 21:45:18 2019 +0000 * use a different name for the packages' entry point and use _DLLMainCRTStartup as an alias to avoid problems with the C-prefix git-svn-id: trunk@43551 - M compiler/pmodules.pas --- commit 3e9bfedbc44836e69263eee77dc88c9b888f75f6 Author: svenbarth Date: Thu Nov 21 21:45:21 2019 +0000 * ensure that the required functions are referenced for Win32 SEH for packages as well git-svn-id: trunk@43552 - M compiler/i386/n386flw.pas --- commit 17c422c3f24137f2db2d1ffeb80664c85aa70602 Author: pierre Date: Fri Nov 22 09:10:32 2019 +0000 Patch by Gareth Moreton. * TAOptObj.CollapseZeroDistJump: Change hp1 to local variable, initialized as p.next, to avoid problems of dangling pointers revealed by use of "-CriotR -O2" compilation arguments. git-svn-id: trunk@43554 - M compiler/aoptobj.pas --- commit 8ea92a8280cb2ce9e847a618edfc2c65cd1ed6b8 Author: pierre Date: Fri Nov 22 21:29:19 2019 +0000 Use correct macro to for 64-bit riscv CPU git-svn-id: trunk@43561 - M compiler/riscv/nrvadd.pas --- commit c882828fd06dccda4ad6914fa4b71c5f3708f5fb Author: pierre Date: Sat Nov 23 22:44:30 2019 +0000 Minimalist change to avoid Invalid Typecast error on class when compiled with '-CriotR -O2' for i386-go32v2 target git-svn-id: trunk@43565 - M compiler/i386/aoptcpu.pas --- commit dea1855126c0c5ba379d386253cc03808735bd30 Author: florian Date: Sun Nov 24 16:12:02 2019 +0000 o patch by J. Gareth Moreton, resolves #36352: * The supplied patch cleans up some vestigial code from the i386 peephole optimizer that has since been superseded by the jump optimisations over at #36271. * The PrePeepholeOptsCPU method has had a minor restructuring to better handle the rare case where InsContainsSegRef() returns True and p becomes something that is no longer an instruction (it ultimately removes a conditonal check and some overhead from repeated function calls). git-svn-id: trunk@43573 - M compiler/i386/aoptcpu.pas --- commit d444f750f9d58cd751f5d567e4e14d40f14aea10 Author: florian Date: Sun Nov 24 16:33:50 2019 +0000 * factored out TX86AsmOptimizer.OptPass1Cmp * fixed it * activated it for x86-64 git-svn-id: trunk@43574 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 9e307f5c3a408a44d0caefc8feeb86c1b23c003f Author: florian Date: Sun Nov 24 19:50:27 2019 +0000 - removed code not used for years git-svn-id: trunk@43575 - M compiler/i386/aoptcpu.pas --- commit 94b728005d2dc935ffa03fea63af09f10c5d57bb Author: florian Date: Sun Nov 24 19:51:04 2019 +0000 * more RemoveCurrentP usage git-svn-id: trunk@43576 - M compiler/x86/aoptx86.pas --- commit acdff47554beb7135ab55f2de0957024970760fc Author: florian Date: Sun Nov 24 20:21:33 2019 +0000 + optimize integer expressions like 2*x*4; which were not found by the node simplifier yet git-svn-id: trunk@43577 - M compiler/nadd.pas --- commit e775ecdc439186d8d2491925c11835b8fe2f082f Author: Jonas Maebe Date: Sun Nov 24 20:23:22 2019 +0000 * cleaned up safecall support: use a hidden localvarsym instead of result register hacking o this also allowed fixing/adding safecall support for LLVM git-svn-id: trunk@43578 - M compiler/hlcgobj.pas M compiler/i386/n386flw.pas M compiler/jvm/symcpu.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvmdef.pas M compiler/ncgcal.pas M compiler/ncgflw.pas M compiler/ncgutil.pas M compiler/nflw.pas M compiler/ngenutil.pas M compiler/paramgr.pas M compiler/pparautl.pas M compiler/symdef.pas --- commit c6116258fdfa92ba483a20da200c968f7611888b Author: florian Date: Sun Nov 24 20:26:02 2019 +0000 o patch by J. Gareth Moreton: * adds an extra optimisation to "PostPeepholeOptMov" in compiler/x86/aoptx86.pas: If the instruction "MOV REG, -1" (Intel notation) is found, where REG is either a 32- or 64-bit register, it is changed to "OR REG, -1" instead. The effect is the same and takes exactly the same speed to execute, but the encoding is much smaller. As it cause false data dependencies, it is only applied in -Os mode For 16-bit registers, only AX is optimised this way because it has its own encoding for OR that takes fewer bytes. git-svn-id: trunk@43579 - M compiler/x86/aoptx86.pas --- commit ec227bb75942e940502ac23d58370fdb6a7f640a Author: Jonas Maebe Date: Sun Nov 24 21:26:22 2019 +0000 * fixed safecall for non-LLVM after r43578 git-svn-id: trunk@43580 - M compiler/hlcgobj.pas --- commit 0802edb7101071b56a56ea62bf6acd2e0425ffc1 Author: Jonas Maebe Date: Mon Nov 25 07:55:57 2019 +0000 * fix Linux/i386 and Win32 after r43578 git-svn-id: trunk@43583 - M compiler/i386/n386flw.pas M compiler/ncgutil.pas --- commit 5b71ba2a9bc65a6acd50edbecaff5a1caaa5e24f Author: svenbarth Date: Mon Nov 25 20:28:26 2019 +0000 * treat a missing genericdef with no symname set as an internal error git-svn-id: trunk@43587 - M compiler/pgenutil.pas --- commit 97eefb6ac3dfc18b920dd73366ace4334670fa0b Author: svenbarth Date: Mon Nov 25 20:28:29 2019 +0000 - the error recovery handling is no longer required git-svn-id: trunk@43588 - M compiler/pgenutil.pas --- commit fb4b1cbf35264749d6c4dab1e3050d6cb9237620 Author: florian Date: Mon Nov 25 20:58:20 2019 +0000 * warn only in delphi mode if an explicit enumeration value exceeds the range, relaxes r43191 git-svn-id: trunk@43590 - M .gitattributes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/ptype.pas M tests/webtbf/tw34633.pp A tests/webtbs/tw34633a.pp --- commit af107ca8fee33355e8c35fab6fc5ba5290bd3ebc Author: florian Date: Mon Nov 25 21:15:41 2019 +0000 o patch by J. Gareth Moreton, resolves #36355 + This patch serves to extend the JMP -> RET optimisation in OptPass2JMP by also doing the same for JMP -> MOV/RET, since there are often cases where the result (e.g. EAX) is set just prior to the function exiting. * RemoveDeadCodeAfterJump will now drop out if it detects SEH information - this stops exception information from being stripped if it is called on the final RET instruction. git-svn-id: trunk@43592 - M compiler/aoptobj.pas M compiler/x86/aoptx86.pas --- commit cf0716123c0f1feb9e5fc84e9831a8d6ea22fe9d Author: florian Date: Tue Nov 26 19:39:04 2019 +0000 * avoid overflow error git-svn-id: trunk@43593 - M compiler/x86/aoptx86.pas --- commit 7e6eeebdf01d8b666c5005383b5e087647953216 Author: florian Date: Tue Nov 26 22:09:33 2019 +0000 o patch by J. Gareth Moreton, seeks to improve maintainability, safety and efficiency in the peephole optimizer by slightly modifying some function headers based on their intended purpose, resolves #36353 * Non-virtual methods and class methods that don't need to access any fields from the current object are now static methods, thus removing the hidden "Self" parameter and reducing overhead. This includes a large number of frequently-used functions such as SkipEntryExitMarker and SuperRegistersEqual. * GetNextInstruction, GetLastInstruction, SkipEntryExitMarker and SkipLabels have had their 'var' parameter changed to an 'out' parameter because they shouldn't depend on its input value. This will cause the compiler to throw warnings if you start using the value without initialising it first, and may open up optimisation opportunities in the future (e.g. storing written values in a temporary register and only writing it to the actual variable when the routine exits). git-svn-id: trunk@43595 - M compiler/aoptbase.pas M compiler/aoptobj.pas M compiler/aoptutils.pas M compiler/x86/aoptx86.pas --- commit 7000d82dcdcb5e061628c521d4139a8bf43ec8e8 Author: florian Date: Tue Nov 26 22:09:34 2019 +0000 * do not convert cmp 0,... into test ...,... before the post pass of the peephole optimizer as this conversion might result in missing further optimizer opportunities git-svn-id: trunk@43596 - M compiler/x86/aoptx86.pas M compiler/x86/cgx86.pas --- commit ba73f7376f07cc32f8ab20187909bde68e348fd0 Author: pierre Date: Wed Nov 27 22:54:47 2019 +0000 Also accept -a5 for older binutils for mips and mpisel cpus git-svn-id: trunk@43599 - M compiler/options.pas --- commit a9bb9f7310e0db16b56d31c1770b901bac8dd813 Author: pierre Date: Wed Nov 27 22:56:35 2019 +0000 Add '.module nomips16' at assembly entry for mips/mipsel unless -a5 option is used git-svn-id: trunk@43600 - M compiler/mips/cpugas.pas --- commit 7405ae275803c25325ad0581ab3b3275c43a1010 Author: pierre Date: Thu Nov 28 22:34:04 2019 +0000 Fix trv32notnode, by using same code as for riscv64 CPU git-svn-id: trunk@43607 - M compiler/riscv32/nrv32mat.pas --- commit fb33da5f412e0bfc3f36d73cc2ba0d1dc0b24000 Author: pierre Date: Fri Nov 29 10:31:31 2019 +0000 Change parameter type to tcgint for is_imm12 and is_lui_imm functions to avoid range check errors git-svn-id: trunk@43609 - M compiler/riscv32/cpubase.pas M compiler/riscv64/cpubase.pas --- commit 3889529e4508035a61e270ba60ebf4b5ade11d02 Author: florian Date: Fri Nov 29 21:06:12 2019 +0000 * unified internalerror, resolves #36378 git-svn-id: trunk@43610 - M compiler/hlcgobj.pas --- commit 4525edd9f7949c1a8b72662e9a8c77b46f917171 Author: florian Date: Fri Nov 29 21:57:53 2019 +0000 * patch by J. Gareth Moreton: x86 implementation of RegModifiedByInstruction, resolves #36376 git-svn-id: trunk@43611 - M compiler/x86/aoptx86.pas --- commit d8f1aacd785f7d10f6aa9d86e861c3ea5d71c668 Author: florian Date: Fri Nov 29 22:13:17 2019 +0000 * better error recovery, resolves #36377 git-svn-id: trunk@43612 - M .gitattributes M compiler/ptype.pas A tests/webtbf/tw36377.pp --- commit 92b0ea7d02b6573a4641d1431e08675fbe0b3eeb Author: pierre Date: Fri Nov 29 23:26:45 2019 +0000 Add explicit smallint typecast to first marameter of SarSmallint call to avoid range check errors git-svn-id: trunk@43613 - M compiler/riscv/cgrv.pas M compiler/riscv/rgcpu.pas M compiler/riscv64/cgcpu.pas --- commit 4e4f55ac0e34fc39db0c76306aa4a1f8b0029c0e Author: pierre Date: Fri Nov 29 23:28:05 2019 +0000 Comparison nodes are always in LOC_REGISTER, never in LOC_JUMP for riscv32 or riscv64 CPUs git-svn-id: trunk@43614 - M compiler/riscv/nrvadd.pas --- commit 06c1a17d1312c1ed5d2daa3fa1bfca294c6b959d Author: svenbarth Date: Sat Nov 30 17:40:27 2019 +0000 * use tdef.unique_id_str to generate the unique internal name for anonymous record defs as using the count of the deflist is no longer correct git-svn-id: trunk@43616 - M compiler/symdef.pas --- commit f2a8b8ad6a7943aff36bf84bd3cdc8c75f086027 Author: florian Date: Sat Nov 30 20:37:55 2019 +0000 * adapt register if the size of the paraloc and the register differ, resolves #34409 git-svn-id: trunk@43617 - M .gitattributes M compiler/ncgbas.pas A tests/webtbs/tw34409.pp --- commit b8a78b135c3dacbaaafc1475c1dc9ac75fe5f155 Author: florian Date: Sun Dec 1 22:15:48 2019 +0000 * simplified and improved TX86AsmOptimizer.RegModifiedByInstruction git-svn-id: trunk@43623 - M compiler/x86/aoptx86.pas --- commit 80a4a01f12de35c02a443d59af55d7ab75da6e88 Author: svenbarth Date: Mon Dec 2 06:58:47 2019 +0000 + add a method to tdef to initialize the defid from within a constructor git-svn-id: trunk@43624 - M compiler/symtype.pas --- commit ea7525392644e484d6fa0c6315f0a28c2c496408 Author: svenbarth Date: Mon Dec 2 06:58:59 2019 +0000 * initialize the defid in trecorddef.create_global_internal as unique_id_str needs it git-svn-id: trunk@43625 - M compiler/symdef.pas --- commit 3ced30f8168409baba430b02bd843f31de329c78 Author: svenbarth Date: Mon Dec 2 06:59:05 2019 +0000 * apply (adjusted) patch by Blaise.ru: vmtentries is always created since 2008, so treat it as such (also fixes a memory leak in tobjectdef.getcopy) git-svn-id: trunk@43626 - M compiler/ncgvmt.pas M compiler/nobj.pas M compiler/symdef.pas --- commit f2818bfe7afa76d1a3a7e006e2065c51d1330788 Author: svenbarth Date: Mon Dec 2 22:29:29 2019 +0000 * apply patch by Blaise.ru to remove last remnants of VMT regeneration which is no longer needed/used git-svn-id: trunk@43628 - M compiler/nobj.pas M compiler/symdef.pas --- commit ac6e4f59c65e551801d0a6acf0f5d86fcbfd370b Author: florian Date: Thu Dec 5 20:46:50 2019 +0000 * better error recovery, resolves #36397 git-svn-id: trunk@43653 - M .gitattributes M compiler/pexpr.pas A tests/webtbf/tw36397.pp --- commit 2a315df80c0dcea764dd602e5152812b1cc56e12 Author: florian Date: Sun Dec 8 22:22:17 2019 +0000 * check in CheckLive* if a register allocator is initialized for a certain register type git-svn-id: trunk@43665 - M compiler/arm/aoptcpu.pas --- commit 599e2df71f6368e913e29822de9f7547ed5b103c Author: florian Date: Mon Dec 9 20:58:31 2019 +0000 o patch by J. Gareth Moreton, resolves r36371: * This patch makes some minor improvements to the cross-platform code that deals with jump optimisations. More specifically, it attempts to do more in a single pass which has the nice side-effect of fixing a couple of minor mistakes (in some situations, it would erroneously remove an alignment entry). - Most improvements are with dealing with Jcc/JMP pairs and their equivalents on other platforms, by collapsing label clusters and stripping dead code as soon as it has enough information to do so, and being more intelligent before calling Continue to see if another optimisation can be performed in the same sitting. - RemoveDeadCodeAfterJump is now a function that returns True if a jump was found among the dead code, thus allowing the ability to flag the peephole optimizer for another iteration of Pass 1 - the destination label may have appeared earlier in the code and become dead as a result of the removal of the jump, thus opening up new optimisations with instructions that sat either side of the label. - Preliminary tests show that it does sometimes reduce the number of passes required to optimise a subroutine under -O3. git-svn-id: trunk@43668 - M compiler/aoptobj.pas --- commit ef7e4f6f62fdf6ab920f3185dcc3006791a249e0 Author: florian Date: Mon Dec 9 22:00:45 2019 +0000 * fix J. Gareth Moreton to resolve #36389 git-svn-id: trunk@43670 - M .gitattributes M compiler/x86/aoptx86.pas A tests/webtbs/tw36389.pp --- commit 8c2aa326833e7f287a2059547cfd7fa5af59c130 Author: pierre Date: Wed Dec 11 17:14:27 2019 +0000 * Remove duplicate ibextraheader handling. * Move SymAnsiStr boolean setting inside parseextraheader function. * Only accept same CurrentPPULongVersion in parseextraheader function. git-svn-id: trunk@43672 - M compiler/utils/ppuutils/ppudump.pp --- commit a6354741e6e9d4338ed9b51afce5b14842df51df Author: svenbarth Date: Wed Dec 11 22:42:48 2019 +0000 * TVMTBuilder.build_interface_mappings does not need to be public (based on patch by Blaise.ru) git-svn-id: trunk@43673 - M compiler/nobj.pas --- commit bf5d75e5944cba197baf85a76cee434f3cd33b20 Author: svenbarth Date: Wed Dec 11 22:42:53 2019 +0000 * move the common sequence to build a VMT for an objectdef into a separate procedure (based on a patch by Blaise.ru) git-svn-id: trunk@43674 - M compiler/jvm/pjvm.pas M compiler/nobj.pas M compiler/pdecl.pas M compiler/pgenutil.pas --- commit 46a366d6ae0dc38d606a849e2b34ba3462d28feb Author: svenbarth Date: Wed Dec 11 22:42:56 2019 +0000 * clear up file comment (based on patch by Blaise.ru) git-svn-id: trunk@43675 - M compiler/nobj.pas --- commit 36e32ee607b644e0f2f4d963b0916b75e501e606 Author: svenbarth Date: Wed Dec 11 22:43:00 2019 +0000 * more correct method names (based on patch by Blaise.ru) git-svn-id: trunk@43676 - M compiler/nobj.pas --- commit 22ce9006ab7f5913237f44a5e4b6e088d7211957 Author: svenbarth Date: Wed Dec 11 22:43:03 2019 +0000 * fix number of last parser_* message entry git-svn-id: trunk@43677 - M compiler/msg/errore.msg --- commit a352a12bb42e507cac1645106bce2daa671335ec Author: Jonas Maebe Date: Sat Dec 14 14:11:12 2019 +0000 * use value_real rather than value_curency when writing currency realconstnodes (fixes tcurrency1, tw33439 and tw36179 with LLVM) o we need to load the fpu representation of the currency values, not the scaled currency value git-svn-id: trunk@43681 - M compiler/llvm/nllvmcon.pas --- commit c477816100404a063cfd386cb9ba4feb1e33585a Author: Jonas Maebe Date: Sat Dec 14 14:59:05 2019 +0000 - removed LLVM support for clang < 7.0 and Xcode < 10.0: those versions contain various bugs and can't even complete "make all", so there is no point in keeping them o changed default LLVM target version to 7.0 git-svn-id: trunk@43682 - M compiler/globals.pas M compiler/llvm/agllvm.pas M compiler/llvm/llvminfo.pas --- commit 707f7225314f14f046fc0036b8580d7a2e44133d Author: svenbarth Date: Sat Dec 14 16:45:42 2019 +0000 * regenerate msg*.inc files after adding a new error message related to C blocks git-svn-id: trunk@43685 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 0f57151d36944e190dae33e2299cd838e048ed9b Author: Jonas Maebe Date: Sat Dec 14 17:15:27 2019 +0000 + recognise LLVM 9.0 (no changes needed compared to LLVM 8.0) git-svn-id: trunk@43686 - M compiler/llvm/llvminfo.pas --- commit 5f2410b87106781c786808f3ed3e3b38b574fe13 Author: florian Date: Mon Dec 16 21:15:57 2019 +0000 * patch by J. Gareth Moreton to fix an ie 2018061400 on darwin git-svn-id: trunk@43694 - M compiler/x86/aoptx86.pas --- commit 1779011ab4dfc7e883f49a837d311bdb59fc789e Author: svenbarth Date: Fri Dec 20 16:44:52 2019 +0000 * fix typo in comment git-svn-id: trunk@43703 - M compiler/symtable.pas --- commit 0149d26adb6aa25b60d995fc88b8dccfc0f29880 Author: svenbarth Date: Fri Dec 20 16:44:54 2019 +0000 * in PeepHoleOptPass1Cpu when an instruction contains a segment, don't replace the current instruction with the next, cause then we get an infinite loop when compiling on Win32 with -dTEST_WIN32_SEH -O4 git-svn-id: trunk@43704 - M compiler/i386/aoptcpu.pas --- commit 30927039a6f2cf056aa57b69534cd90a70576581 Author: florian Date: Sat Dec 21 16:20:09 2019 +0000 + MULX instruction * change information for RORX corrected git-svn-id: trunk@43705 - M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 8465710329a692ef64b2d88295b9d532c0dd577a Author: florian Date: Sat Dec 21 16:20:10 2019 +0000 + make use of mulx instruction, if available git-svn-id: trunk@43706 - M compiler/i386/n386add.pas --- commit b8b5d8410868bae9efc28c1692b0bf18757ea049 Author: florian Date: Sun Dec 22 20:41:48 2019 +0000 * missing +')' added git-svn-id: trunk@43707 - M compiler/x86/aoptx86.pas --- commit 2f374a37b7ad878b277916d0fe7c4d410328e207 Author: florian Date: Sun Dec 22 22:06:26 2019 +0000 * patch by Bart Broersma to allow to declare "LongInt = AnsiString" comparison operator in non-macpas modes, resolves #29460 git-svn-id: trunk@43709 - M .gitattributes M compiler/htypechk.pas A tests/webtbs/tw29460.pp --- commit 4de6b3e6b9aa3af34516ac8ece2fd8187bd17955 Author: florian Date: Mon Dec 23 21:44:50 2019 +0000 * do not crash when an unsupported code page is encountered, resolves #35581 git-svn-id: trunk@43764 - M .gitattributes M compiler/ncon.pas A tests/webtbf/tw35581.pp --- commit cb44d7d4e2e6a9445e466f1df2ea659da12e727f Author: florian Date: Mon Dec 23 21:52:06 2019 +0000 * some cleanup git-svn-id: trunk@43765 - M compiler/ccharset.pas M compiler/widestr.pas --- commit abb79553d293bbf36d93cb3f3349860deaae0560 Author: florian Date: Mon Dec 23 22:42:53 2019 +0000 * optimize case statements with a single branch into if statements (ord const only) git-svn-id: trunk@43766 - M compiler/nset.pas --- commit cbec738829ee9bcb2e7bdb879d439121a06c1e41 Author: florian Date: Mon Dec 23 23:07:26 2019 +0000 * last commit was not complete/earlier version committed git-svn-id: trunk@43767 - M compiler/nset.pas --- commit ef878794025437980c7094b25a71e898bd36dca8 Author: florian Date: Tue Dec 24 16:14:28 2019 +0000 * common naming for fpu_none string git-svn-id: trunk@43768 - M compiler/arm/cpuinfo.pas M compiler/i386/cpuinfo.pas M compiler/i8086/cpuinfo.pas M compiler/mips/cpuinfo.pas M compiler/powerpc64/cpuinfo.pas M compiler/riscv64/cpuinfo.pas M compiler/sparc/cpuinfo.pas M compiler/sparc64/cpuinfo.pas M compiler/x86_64/cpuinfo.pas --- commit a20209e691bfe1196e52d533feef12c74cb0fdb1 Author: florian Date: Tue Dec 24 16:14:30 2019 +0000 + tf_init_final_units_by_calls * arm-embedded generates direct calls for unit init/final now as well git-svn-id: trunk@43771 - M compiler/arm/narmutil.pas M compiler/hlcgobj.pas M compiler/options.pas M compiler/systems.pas M compiler/systems/i_embed.pas M rtl/inc/system.inc --- commit 1e3f72403eddd7eebe95ad4ee956c4d3863df9ce Author: Jonas Maebe Date: Tue Dec 24 22:12:25 2019 +0000 * renamed getintparaloc to getcgtempparaloc o it can be used for more than integer parameters git-svn-id: trunk@43781 - M compiler/aarch64/cgcpu.pas M compiler/arm/cgcpu.pas M compiler/arm/cpupara.pas M compiler/avr/cgcpu.pas M compiler/cgexcept.pas M compiler/hlcgobj.pas M compiler/i8086/cpupara.pas M compiler/i8086/n8086ld.pas M compiler/i8086/n8086mem.pas M compiler/jvm/cpupara.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvmpara.pas M compiler/llvm/llvmpi.pas M compiler/llvm/tgllvm.pas M compiler/m68k/cgcpu.pas M compiler/mips/cgcpu.pas M compiler/ncgcal.pas M compiler/ncgflw.pas M compiler/ncgld.pas M compiler/ncgmat.pas M compiler/ncgmem.pas M compiler/paramgr.pas M compiler/powerpc/cpupara.pas M compiler/powerpc64/cpupara.pas M compiler/ppcgen/cgppc.pas M compiler/psabiehpi.pas M compiler/riscv32/cgcpu.pas M compiler/riscv32/cpupara.pas M compiler/riscv64/cgcpu.pas M compiler/riscv64/cpupara.pas M compiler/sparcgen/cgsparc.pas M compiler/x86/nx86ld.pas M compiler/x86_64/cgcpu.pas --- commit f5833dc0482b39432519552050f9d9af6594b02a Author: Jonas Maebe Date: Tue Dec 24 22:12:31 2019 +0000 * support for marking arraydefs as vectors git-svn-id: trunk@43782 - M compiler/symconst.pas M compiler/symdef.pas M compiler/utils/ppuutils/ppudump.pp --- commit 96dfe3d03a8ce36de71970fe02610be8eb384389 Author: Jonas Maebe Date: Tue Dec 24 22:12:34 2019 +0000 * LLVM support for writing vector types git-svn-id: trunk@43783 - M compiler/llvm/llvmdef.pas --- commit b89487e7217f9e9c534ae10e24e80d86705f0a77 Author: Jonas Maebe Date: Tue Dec 24 22:12:37 2019 +0000 * fix paraloc def for vectors with vectorcall calling convention (was a single element instead of a vector) git-svn-id: trunk@43784 - M compiler/x86_64/cpupara.pas --- commit 6d51c69dbe8e5a256704400b57764aeff2200248 Author: Jonas Maebe Date: Tue Dec 24 22:12:40 2019 +0000 * fixed writing of calling convention for function declarations/definitions in LLVM git-svn-id: trunk@43785 - M compiler/llvm/llvmdef.pas --- commit 1a9e246c29df8ab0b38ecfe715917c361366d8cd Author: Jonas Maebe Date: Tue Dec 24 22:12:44 2019 +0000 * added is_normal_fieldvarsym() helper and use it o fixes several places where there was a check whether something is a fieldvarsym, but not whether it's an instance rather than a class field git-svn-id: trunk@43786 - M compiler/aasmcnst.pas M compiler/arm/cpupara.pas M compiler/armgen/armpara.pas M compiler/browcol.pas M compiler/dbgstabs.pas M compiler/htypechk.pas M compiler/ncgrtti.pas M compiler/powerpc64/symcpu.pas M compiler/symtable.pas M compiler/symutil.pas M compiler/x86/rax86int.pas M compiler/x86_64/cpupara.pas --- commit 114c27fb4e921df3808ea748e3c6fab528d9b26f Author: svenbarth Date: Wed Dec 25 15:23:21 2019 +0000 * increase support for multilib binutils for RISC V by passing the ABI to the assembler git-svn-id: trunk@43788 - M compiler/riscv/agrvgas.pas --- commit 4ad7d552a1057da1ae1f7ce316b6e55411774f18 Author: svenbarth Date: Wed Dec 25 15:23:25 2019 +0000 * increase support for multilib binutils for RISC V by passing the correct ABI to the linker git-svn-id: trunk@43789 - M compiler/systems/t_linux.pas --- commit f59eae4f81228d9a7f06952dd15349c8f96e5162 Author: svenbarth Date: Wed Dec 25 15:23:28 2019 +0000 * correctly handle local reference in the RISC V assembler readers (both 32 and 64 bit) git-svn-id: trunk@43790 - M compiler/riscv32/rarv32gas.pas M compiler/riscv64/rarv64gas.pas --- commit fd0012deff5ef06a302cbd81762c3bb4085d36f7 Author: florian Date: Wed Dec 25 17:10:14 2019 +0000 * when copying goto nodes take care if the label node is part of the copied tree or not, resolves #35820 git-svn-id: trunk@43793 - M .gitattributes M compiler/nflw.pas M compiler/node.pas A tests/webtbs/tw35820.pp --- commit 051b9840a54206a5d6748e67b294db13aacdefc8 Author: florian Date: Wed Dec 25 18:09:30 2019 +0000 * write a proper error message if / is encountered while no floating point support is available, resolves #32006 git-svn-id: trunk@43794 - M compiler/nadd.pas --- commit ccf409c8a08876dd9ba7f10bf966134ab129506a Author: florian Date: Wed Dec 25 22:11:31 2019 +0000 * use 64 bit code page in tppcshlshrnode.pass_generate_code for all 64 bit types, resolves #33582 git-svn-id: trunk@43795 - M compiler/powerpc/nppcmat.pas --- commit 00859420abe2f23c644087fbc9c319c0389c2e3a Author: florian Date: Sat Dec 28 17:59:23 2019 +0000 * correctly handle reading of class/object pointers in combination with @, resolves #26326 git-svn-id: trunk@43804 - M .gitattributes M compiler/htypechk.pas M compiler/nmem.pas A tests/webtbs/tw26326.pp --- commit 9bd7401ce9ac4d02501c0638c85ae1623392cb64 Author: florian Date: Sat Dec 28 18:18:41 2019 +0000 * comment fixed git-svn-id: trunk@43805 - M compiler/htypechk.pas --- commit f7a052f8846f8fb76723de3d13f04d2514efdee3 Author: florian Date: Sat Dec 28 21:38:38 2019 +0000 + inline high(), resolves #28536 git-svn-id: trunk@43808 - M compiler/ncginl.pas M compiler/ninl.pas M compiler/x86/nx86inl.pas --- commit 9bd33f7a45d5f62d7be937a3c3e17e8b7dbe8abc Author: Jonas Maebe Date: Mon Dec 30 15:04:57 2019 +0000 + support for LLVM metadata constant string parameters o they are implemented as a new metadata register class, whereby the subregister indicates the metadata type (currently always a string) and the superregister is an index in the metadata array (which contains the strings). LLVM metadata can only be passed as parameters to intrinsics in bitcode, so moves of metadata into other registers triggers internal errors and when moving them into parameters, we replace the parameter's register with the metadata register (and look up the corresponding string when writing out the bitcode) git-svn-id: trunk@43816 - M compiler/aarch64/aasmcpu.pas M compiler/cgbase.pas M compiler/fmodule.pas M compiler/llvm/aasmllvmmetadata.pas M compiler/llvm/agllvm.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvmdef.pas M compiler/llvm/llvmpara.pas M compiler/llvm/nllvmcon.pas M compiler/psystem.pas M compiler/x86/aasmcpu.pas M compiler/x86/cpubase.pas --- commit 67dbd0cdb3aa69292536a0343c718b4f90872ace Author: Jonas Maebe Date: Mon Dec 30 15:05:02 2019 +0000 * support nf_internal to ignore currency conversion adjustments also on platforms that implement currency using a floating point type git-svn-id: trunk@43817 - M compiler/llvm/nllvmcnv.pas M compiler/ncnv.pas --- commit b355ba3d39870b671be98a13cfe64a571a4daf1c Author: Jonas Maebe Date: Mon Dec 30 15:05:06 2019 +0000 * record whether a function uses fastmath, and define the function as strictfp if it doesn't (so LLVM doesn't perform transformations that can change the fp/exception behaviour) git-svn-id: trunk@43818 - M compiler/llvm/agllvm.pas M compiler/symconst.pas M compiler/symdef.pas M compiler/utils/ppuutils/ppudump.pp --- commit 797077855ee7ac488a555b7ba65c615fdb077359 Author: Jonas Maebe Date: Mon Dec 30 15:05:09 2019 +0000 * use constrained LLVM fp intrinsics for add/sub/mul/slash/fma/sqrt operations when fastmath is not enabled git-svn-id: trunk@43819 - M compiler/llvm/nllvmadd.pas M compiler/llvm/nllvminl.pas M rtl/inc/llvmintr.inc --- commit a6a17efa42d9de2a1206311b536b5de0487e6a67 Author: Jonas Maebe Date: Mon Dec 30 15:05:13 2019 +0000 * use LLVM constrained fpext/fptrunc intrinsics when fastmath is not enabled for accurate exception behaviour git-svn-id: trunk@43820 - M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvmdef.pas M compiler/llvm/llvminfo.pas M rtl/inc/llvmintr.inc --- commit 3885ce98ac05b1372ecd5b8895ba323d925cd34e Author: Jonas Maebe Date: Mon Dec 30 15:05:17 2019 +0000 * fix LLVM code generator after r43808 o share the high/length code for LLVM rather than duplicating it, since LLVM will optimize away the minor inefficiencies o removed temp reference in the old code, as it was useless (it doesn't prevent spilling to get to an SSA representation since the same register is written at least twice in all cases) git-svn-id: trunk@43821 - M compiler/llvm/nllvminl.pas --- commit 6fc79c7ed04c57dcb67a64c126ee960fccc7370d Author: Jonas Maebe Date: Mon Dec 30 16:36:57 2019 +0000 * set default target iOS/iPhoneSim version to 9.0 so we no longer depend on crt.o existing, which is not shipped with the current SDKs anymore git-svn-id: trunk@43822 - M compiler/options.pas --- commit f6c16323fafbb73c37f0df3a80252ad65fd46e82 Author: florian Date: Mon Dec 30 22:43:10 2019 +0000 * unified loadnf_load_self_pointer into loadnf_load_addr + var parameters are now allowed when doing tail recursion optimziation, resolves #32811 git-svn-id: trunk@43824 - M .gitattributes M compiler/nld.pas M compiler/nutils.pas M compiler/opttail.pas A tests/webtbs/tw32811.pp --- commit d409548842031d600e52fc3871ff71bf0f830512 Author: florian Date: Tue Dec 31 13:28:03 2019 +0000 -- Zusammenführen von r31198 in ».«: C compiler/arm/aasmcpu.pas U compiler/arm/aoptcpu.pas -- Aufzeichnung der Informationen für Zusammenführung von r31198 in ».«: U . git-svn-id: trunk@43825 - M compiler/arm/aasmcpu.pas M compiler/arm/aoptcpu.pas --- commit 9b53ed53e3ebaec026ed20aef53cc4856a76d55a Author: Jonas Maebe Date: Tue Dec 31 18:05:50 2019 +0000 * the llvm.experimental.constrained.fpext intrinsic doesn't have a rounding mode parameter git-svn-id: trunk@43828 - M compiler/llvm/hlcgllvm.pas M rtl/inc/llvmintr.inc --- commit 1f5efe2a95174c9a72f3f4e7884dce0d3cad441d Author: Jonas Maebe Date: Tue Dec 31 18:05:54 2019 +0000 * support for constrained sitofp/uitofp with (the upcoming) LLVM 10.0 (fixes most of test/units/math/troundm, although there's still an LLVM optimizer/code generation bug that breaks some qword -> double conversions) git-svn-id: trunk@43829 - M compiler/llvm/aasmllvmmetadata.pas M compiler/llvm/llvminfo.pas M compiler/llvm/nllvmcnv.pas M rtl/inc/llvmintr.inc --- commit ec0d98156cdfa010b029c88075d56e414db885fb Author: Jonas Maebe Date: Wed Jan 1 19:19:08 2020 +0000 * use maytrap instead of strict FP exception behaviour in LLVM, so constant propagation is still allowed git-svn-id: trunk@43832 - M compiler/llvm/aasmllvmmetadata.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/nllvmadd.pas M compiler/llvm/nllvminl.pas --- commit 044d9467820ad2c79dc6200d8e36848303fc4993 Author: Jonas Maebe Date: Wed Jan 1 19:19:12 2020 +0000 * fixed missing sign extension when adding a signed integer variable with size < sizeof(pointer) to a pointer for LLVM (fixes tfmtbcd) git-svn-id: trunk@43833 - M compiler/llvm/hlcgllvm.pas --- commit e1d9be897a01c86262f7d39cf1a4a136d694bf9d Author: Jonas Maebe Date: Wed Jan 1 19:19:15 2020 +0000 * fixed (harmless) wrong typecast git-svn-id: trunk@43834 - M compiler/nutils.pas --- commit ebd674d40e107e4e8f093b4e28e067beea068312 Author: Jonas Maebe Date: Thu Jan 2 19:14:18 2020 +0000 * fixed TAOptBase.SkipEntryExitMarker() not initialising out parameter in all cases (patch by J. Gareth Moreton, mantis #36372) git-svn-id: trunk@43843 - M compiler/aoptbase.pas --- commit 1201cc024ed4f14903cdd59e26a458985f8621fd Author: Jeppe Johansen Date: Fri Jan 3 17:03:38 2020 +0000 * Add riscv-embedded to targets that don't support non-constant leb128's. git-svn-id: trunk@43851 - M compiler/dbgdwarf.pas --- commit 451afd6e45d61fcbe6236803fb12eda7693355d0 Author: florian Date: Fri Jan 3 19:15:12 2020 +0000 * triggered by #36505, removed CmpJxxDecJmp2SubJcc optimization as it was wrong anyways git-svn-id: trunk@43852 - M compiler/x86/aoptx86.pas --- commit 7da6bac960893bfb3d690258f0fc11472c0aa1ec Author: florian Date: Fri Jan 3 22:23:07 2020 +0000 * look further forward in TX86AsmOptimizer.OptPass1_V_MOVAP git-svn-id: trunk@43855 - M compiler/x86/aoptx86.pas --- commit 3c16324f8065a20e737028144cc624f6d1834bf5 Author: florian Date: Fri Jan 3 22:23:49 2020 +0000 * x86: avoid to put variables into registers if they are handled by the x87-FPU git-svn-id: trunk@43856 - M compiler/x86/nx86add.pas --- commit 73c6cab0961f0bffe52aa6d81985f56d08e2d654 Author: florian Date: Sat Jan 4 14:24:28 2020 +0000 + MovMovMov2XChg optimization by J. Gareth Moreton git-svn-id: trunk@43858 - M compiler/x86/aoptx86.pas --- commit a34ae2261a45f4843fcf8f257b1a162b962ce88f Author: florian Date: Sat Jan 4 22:19:15 2020 +0000 * copy fpu parameters using fld/fst onto the stack git-svn-id: trunk@43861 - M compiler/x86/cgx86.pas --- commit f659e91a95f761b311814797f885eeb445ad1dc0 Author: Jonas Maebe Date: Sun Jan 5 13:15:10 2020 +0000 * fixed LLVM compilation after r43860 git-svn-id: trunk@43862 - M compiler/llvm/hlcgllvm.pas --- commit 22cb46fca9876d6e199beffd0a68e2e642b8dcb1 Author: florian Date: Sun Jan 5 15:43:02 2020 +0000 * cleanup git-svn-id: trunk@43863 - M compiler/x86/aoptx86.pas --- commit d3f3f81e1627ca65878c1539e0dcad32de5eb382 Author: florian Date: Sun Jan 5 15:43:03 2020 +0000 * fixes TX86AsmOptimizer.OptPass1_V_MOVAP after r43855 git-svn-id: trunk@43864 - M compiler/x86/aoptx86.pas --- commit 76e7833a201b8de2b67028606dd45fd0ad972e79 Author: florian Date: Sun Jan 5 15:43:04 2020 +0000 * avoid invalid type cast git-svn-id: trunk@43865 - M compiler/x86/aoptx86.pas --- commit fca4d3315bd3dce1f2013d66e2652bd157c60de7 Author: florian Date: Sun Jan 5 17:47:23 2020 +0000 * let the operation do the type conversion for x87 floating point operations git-svn-id: trunk@43867 - M compiler/x86/nx86add.pas --- commit 11784cb76af3bdd83a034ed09d524eac48b39e02 Author: joost Date: Sun Jan 5 23:20:52 2020 +0000 * Fixed safecall on win32 with -Ooregvar by making sure that $safecallresult is never stored in a register. git-svn-id: trunk@43868 - M compiler/pparautl.pas --- commit 6371d5f26d849975c0a6400fe46c153327603796 Author: florian Date: Mon Jan 6 14:46:32 2020 +0000 + infrastructure to profile different stages of the compiler git-svn-id: trunk@43869 - M .gitattributes M compiler/aopt.pas A compiler/cprofile.pp --- commit ae0ebd1e9326f2c863b23eadc2f0a24b1c007960 Author: florian Date: Mon Jan 6 14:48:38 2020 +0000 * missing part of last commit git-svn-id: trunk@43870 - M compiler/cprofile.pp --- commit 6612bb44347f5b978356417125a92a715900236b Author: florian Date: Mon Jan 6 14:58:06 2020 +0000 * proper naming git-svn-id: trunk@43871 - M .gitattributes R100 compiler/cprofile.pp compiler/cprofile.pas --- commit 9b68c7a5f5f0da2e43119f5845b60923b09ad801 Author: florian Date: Mon Jan 6 17:05:47 2020 +0000 * fix X86AsmOptimizer.RegModifiedByInstruction for VMOVSS/VMOVSD/IMUL git-svn-id: trunk@43874 - M compiler/x86/aoptx86.pas --- commit 92671c9b85c7320c80d6ded7727718ea94047e41 Author: florian Date: Mon Jan 6 17:05:48 2020 +0000 o patch by J. Gareth Moreton: * applies some optimisations to OptPass1MOV. Repeated checks to the "GetNextInstruction_p Boolean" variable are factored out, since all of the optimisations bar the first one require a succeeding instruction. git-svn-id: trunk@43875 - M compiler/x86/aoptx86.pas --- commit 3dd6a8e24e228aa6a8883508f4eade692e088726 Author: florian Date: Mon Jan 6 19:53:43 2020 +0000 * add forgotten exits, fixes r43874 git-svn-id: trunk@43877 - M compiler/x86/aoptx86.pas --- commit 872c22842ec17ffd691eb365dd4d956687f4ed7c Author: florian Date: Mon Jan 6 20:59:24 2020 +0000 * do prefetching correctly * more prefetching inserted * unnecessary/wrong UpdateUsedRegs removed git-svn-id: trunk@43878 - M compiler/aopt.pas M compiler/aoptbase.pas M compiler/aoptobj.pas M compiler/cclasses.pas --- commit 404c6e0c15075a88a0128327e2d9dfa4449a0593 Author: florian Date: Mon Jan 6 20:59:25 2020 +0000 + forgotten file git-svn-id: trunk@43879 - M .gitattributes A compiler/cepiktimer.pas --- commit 32be078ab8c2c1c7930d48b5b2f8552178f2066c Author: Jonas Maebe Date: Tue Jan 7 20:22:06 2020 +0000 * fixed for targets where currency is implemented via int64 after r43829 git-svn-id: trunk@43882 - M compiler/llvm/nllvmcnv.pas --- commit a75247d9b0f072cd37310da1d3a47822efbc77a7 Author: Jonas Maebe Date: Tue Jan 7 20:22:10 2020 +0000 * AArch64: fixed parameter defs for smallsets passed in registers whose size is not a power of two git-svn-id: trunk@43883 - M compiler/aarch64/cpupara.pas --- commit 9462d6b1eace21998fcc832fdfd343479ffe4ab0 Author: Jonas Maebe Date: Tue Jan 7 20:22:13 2020 +0000 * handle non-smallset sets in registers in LLVM like arrays and records git-svn-id: trunk@43884 - M compiler/llvm/hlcgllvm.pas --- commit 31ef82b9c6f18e699ee8a9fae53dc5c257456119 Author: Jonas Maebe Date: Tue Jan 7 20:22:17 2020 +0000 * constrained sitofp is not yet supported in LLVM for all targets git-svn-id: trunk@43885 - M .gitattributes A compiler/llvm/llvmfeatures.pas M compiler/llvm/llvminfo.pas M compiler/llvm/nllvmcnv.pas --- commit 3abdec9c953d6bded0f7200e4392c65a61caea5a Author: Jonas Maebe Date: Tue Jan 7 20:22:20 2020 +0000 * LLVM/AArch64: don't perform the parameter location extension workarounds for LLVM, as that results in LLVM assuming exactly the opposite of what's intended (namely that the extended locations contain valid rather than invalid bits) git-svn-id: trunk@43886 - M compiler/aarch64/cpupara.pas --- commit 7a3a4244d105e3b32d79b52b692eccc62b362bb2 Author: Jonas Maebe Date: Tue Jan 7 20:22:23 2020 +0000 * accept locals replaced by symbols in inline assembly by the LLVM code generator in the AArch64 assembler writer git-svn-id: trunk@43887 - M compiler/aarch64/agcpugas.pas --- commit 11287f018fbf940beed20d4e1c0c09f9b872a006 Author: florian Date: Tue Jan 7 21:46:07 2020 +0000 * explicitly emit a sub instruction in tx86inlinenode.second_high, resolves #36530 git-svn-id: trunk@43888 - M compiler/x86/nx86inl.pas --- commit b5659df4251fdacdd80697632708689cdb64f8a5 Author: florian Date: Fri Jan 10 21:34:29 2020 +0000 + CalcUseSum: calculates a sum of all use sets of the current node and its children git-svn-id: trunk@43904 - M compiler/optbase.pas M compiler/optutils.pas --- commit f424ae392999b995c51a205eb14a183add9d38ac Author: florian Date: Fri Jan 10 21:34:30 2020 +0000 - cleanup comment git-svn-id: trunk@43906 - M compiler/nflw.pas --- commit 30e186be784e320264a7b422e52d8541f58131fd Author: florian Date: Fri Jan 10 21:34:30 2020 +0000 * renamed sum -> defsum to avoid confusion with usesum git-svn-id: trunk@43905 - M compiler/optutils.pas --- commit 6f87a572affeb8d5a21d9085e986d98933abb22d Author: florian Date: Fri Jan 10 21:47:20 2020 +0000 * factored out tcgprocinfo.OptimizeNodeTree git-svn-id: trunk@43907 - M compiler/psub.pas --- commit 2f2b378c0346142566dba0f71a25248b651ee9a3 Author: florian Date: Sat Jan 11 16:08:45 2020 +0000 * moved conversion of for into while loops in a separate pass, so node optimizations on the node tree can be carried out without losing information from for loops git-svn-id: trunk@43910 - M compiler/nflw.pas M compiler/optdfa.pas M compiler/psub.pas --- commit a9a711763f0f41b97f806beaa2509ad77ebd7542 Author: florian Date: Sat Jan 11 16:08:46 2020 +0000 * some fixes to loop strength reduction git-svn-id: trunk@43911 - M compiler/optloop.pas --- commit aabd7c721783ea8db3983568e75918d5b8b6db2f Author: florian Date: Sat Jan 11 20:37:05 2020 +0000 * more fixes for loop strength reduction git-svn-id: trunk@43912 - M compiler/optloop.pas M compiler/optutils.pas --- commit 007df5d0face645c15ba7ccb1a851d93c795cd44 Author: florian Date: Sat Jan 11 21:15:19 2020 +0000 * fix for #36554 git-svn-id: trunk@43913 - M .gitattributes M compiler/pstatmnt.pas A tests/webtbf/tw36554.pp --- commit 236c11ef71f341e9038730cd56a2c732670fbb45 Author: florian Date: Sun Jan 12 09:20:00 2020 +0000 * patch by J. Gareth Moreton: EAX -> EDX:EAX sign extension shortcuts, and MOVSX shortcuts for AX register, part 1 of #36551 git-svn-id: trunk@43917 - M compiler/x86/aoptx86.pas --- commit 124c64152d256c1e62a1f13103c2bf5cafb33155 Author: florian Date: Sun Jan 12 09:20:01 2020 +0000 * patch by J. Gareth Moreton: EAX -> EDX:EAX sign extension shortcuts, and MOVSX shortcuts for AX register, part 2 of #36551 git-svn-id: trunk@43918 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 2b70c64d09d8d58476034e1cee01b30d96c19e3b Author: florian Date: Sun Jan 12 10:33:21 2020 +0000 * patch by J. Gareth Moreton: Some cleaning up of OptPass2JMP and OptPass2MOV, resolves #36553 git-svn-id: trunk@43919 - M compiler/x86/aoptx86.pas --- commit 5a1e6c2e914f5fefc3e5dcb848b5c3a5182b63bd Author: florian Date: Sun Jan 12 12:00:44 2020 +0000 * compilation on i386 fixed git-svn-id: trunk@43920 - M compiler/x86/aoptx86.pas --- commit 931d4dcfeea91a734cbbbb4ff28beabf8b9bda34 Author: florian Date: Mon Jan 13 21:20:03 2020 +0000 * ensure the rtl and the packages for embedded compile with features exceptions and classes disabled git-svn-id: trunk@43931 - M compiler/psub.pas M packages/rtl-extra/src/inc/sortalgs.pp M rtl/inc/objpash.inc M rtl/inc/rtti.inc M rtl/inc/sortbase.pp M rtl/inc/systemh.inc --- commit 7cfb87b325aa1b0300734c04f338395e8d0e56c6 Author: Jeppe Johansen Date: Mon Jan 13 22:42:39 2020 +0000 - Handle jump optimizations on RISC-V git-svn-id: trunk@43933 - M compiler/aoptobj.pas --- commit 02c3f328a21d35ba3d4ba62150761a33d5dc4cac Author: Jeppe Johansen Date: Mon Jan 13 22:49:23 2020 +0000 - RISC-V: Share optimizations between 32 and 64-bit. git-svn-id: trunk@43934 - M .gitattributes A compiler/riscv/aoptcpurv.pas M compiler/riscv32/aoptcpu.pas M compiler/riscv32/cgcpu.pas M compiler/riscv32/cpubase.pas M compiler/riscv64/aoptcpu.pas --- commit 2678522db552a5d377fedb1aea4983cb97ddf324 Author: Jeppe Johansen Date: Mon Jan 13 22:54:26 2020 +0000 - RISC-V: Add controller types for common RV32 MCUs. - Adds initial controller units for these MCUs. Code contributed by Michael Ring git-svn-id: trunk@43935 - M .gitattributes M compiler/riscv/agrvgas.pas M compiler/riscv32/cpuinfo.pas M compiler/systems/t_embed.pas M rtl/embedded/Makefile M rtl/embedded/Makefile.fpc A rtl/embedded/riscv32/fe310g000.pp A rtl/embedded/riscv32/fe310g002.pp A rtl/embedded/riscv32/gd32vf103xx.pp A rtl/embedded/riscv32/riscv32_start.inc --- commit 70a836c4a21104120f9f993710fb08e9525f97ca Author: florian Date: Tue Jan 14 21:52:39 2020 +0000 * first part of merging parts of Jeppe's intrinsics patch, mainly r31135 is merged by this commit with a lot of adaptions git-svn-id: trunk@43949 - M .gitattributes M compiler/Makefile M compiler/Makefile.fpc M compiler/cgbase.pas M compiler/compinnr.pas M compiler/defutil.pas M compiler/ncginl.pas M compiler/ncgutil.pas M compiler/ninl.pas M compiler/psystem.pas M compiler/symdef.pas M compiler/symsym.pas A compiler/utils/mkx86inl.pp M compiler/x86/cgx86.pas M compiler/x86/cx86innr.inc A compiler/x86/cx86mminnr.inc M compiler/x86/nx86inl.pas A compiler/x86/x86intr.dat A compiler/x86/x86mmfirst.inc A compiler/x86/x86mmsecond.inc A compiler/x86/x86mmtype.inc M rtl/i386/cpuh.inc M rtl/i386/cpuinnr.inc A rtl/i386/cpumminnr.inc A rtl/i386/cpummprocs.inc M rtl/inc/innr.inc M rtl/inc/systemh.inc M rtl/x86_64/cpuh.inc M rtl/x86_64/cpuinnr.inc A rtl/x86_64/cpumminnr.inc A rtl/x86_64/cpummprocs.inc --- commit 48236401e002fef040b402ecc37844edaa13984d Author: florian Date: Sat Jan 18 21:51:27 2020 +0000 * voidcodepointertype => voidpointertype as suggested by Pierre git-svn-id: trunk@43976 - M compiler/opttail.pas --- commit 4b4e316af02a968f27147123b189b04a9931ba79 Author: florian Date: Sun Jan 19 15:55:20 2020 +0000 * compilation fixed git-svn-id: trunk@43981 - M compiler/avr/ccpuinnr.inc --- commit 069e040e49c79b8ce1f8b73d85e02a05df6126b2 Author: florian Date: Sun Jan 19 18:21:12 2020 +0000 * do for-loop unrolling after for-loop simplification, resolves #36589 git-svn-id: trunk@43999 - M .gitattributes M compiler/nflw.pas A tests/webtbs/tw36589.pp --- commit 16152cf948f30f16e1e185626dad97e298c843bd Author: florian Date: Sun Jan 19 20:11:05 2020 +0000 * patch by J. Gareth Moreton: get rid of another pass through the assembler list by integrating OptReferences into the post optimizer pass git-svn-id: trunk@44001 - M compiler/i386/aoptcpu.pas M compiler/i8086/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit fc44c2d4c965d246fc7915dd0212679d9a27d77a Author: florian Date: Mon Jan 20 21:56:39 2020 +0000 + insert alignments after break/goto/exit/continue jmp instructions, if it is superfluous, the assembler optimizer will take care of it git-svn-id: trunk@44007 - M compiler/ncgflw.pas --- commit 4fc02d3d09b3ee04f0576ed25b5318c6690295d5 Author: svenbarth Date: Tue Jan 21 21:29:56 2020 +0000 * enable tail recursion optimization also for const and constref open arrays + added test git-svn-id: trunk@44011 - M .gitattributes M compiler/opttail.pas A tests/tbs/tb0667.pp --- commit 9a42625cfb4b042284bc2b789bd4d3f65ecc5522 Author: svenbarth Date: Tue Jan 21 21:30:10 2020 +0000 * also allow by-value open array parameters for the tail recursion optimization * adjusted test git-svn-id: trunk@44012 - M compiler/opttail.pas M tests/tbs/tb0667.pp --- commit 90a40ab9ca5f0dbd344b28110a5fbe31a86fcdf5 Author: florian Date: Thu Jan 23 20:56:56 2020 +0000 * fix for #32352: a unit does not need to be re-deref'ed if it just had been recompiled git-svn-id: trunk@44026 - M compiler/fppu.pas --- commit 7b4292c94e380e85aca13f6644419227f3f7034a Author: florian Date: Thu Jan 23 21:14:49 2020 +0000 * patch by Robert Roland to support the RaspberryPi 2 as a bare metal embedded target, resolves #35236 git-svn-id: trunk@44027 - M .gitattributes M compiler/arm/cpuinfo.pas M compiler/systems/t_embed.pas M rtl/embedded/Makefile M rtl/embedded/Makefile.fpc A rtl/embedded/arm/raspi2.pp --- commit d87a5cc9fb3dea2cda54a06bfc4fabee195c446a Author: florian Date: Thu Jan 23 21:32:09 2020 +0000 * take care of m_duplicate_names when checking for duplicate locals, resolves #33221 git-svn-id: trunk@44028 - M .gitattributes M compiler/symtable.pas A tests/webtbs/tw33221.pp --- commit a807e185912a5ab61e3bbfcb7358e442256562ac Author: florian Date: Fri Jan 24 20:41:11 2020 +0000 * patch by J. Gareth Moreton: x86 CMP/TEST/Jcc optimisations, resolves #36624 git-svn-id: trunk@44029 - M compiler/x86/aoptx86.pas --- commit 993144b91b468ebfe0cb0b2cfdbe93b8022e748b Author: florian Date: Fri Jan 24 21:10:17 2020 +0000 * patch by J. Gareth Moreton: x86 SUB and LEA optimisations, resolves #36622 git-svn-id: trunk@44030 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 6c71fd461daf8161fce6e1d4242a1e8b33f21271 Author: florian Date: Fri Jan 24 21:39:07 2020 +0000 * avoid internalerror for dec/inc(...,v) with v>high(int64), resolves #35298 git-svn-id: trunk@44031 - M .gitattributes M compiler/ncginl.pas A tests/webtbs/tw35298.pp --- commit 74272975afea5cb9681b5e23c6d5df3e94e59021 Author: florian Date: Sun Jan 26 15:35:03 2020 +0000 * do_loopvar_at_end is not possible if the loop counter would overflow with the last iteration git-svn-id: trunk@44039 - M compiler/nflw.pas --- commit 22197641b883bf4ad288141feb49caa0a53962a0 Author: florian Date: Sun Jan 26 20:13:17 2020 +0000 * last commit fixing calculation of do_loopvar_at_end was not complete, hopefully finally fixed git-svn-id: trunk@44041 - M compiler/nflw.pas --- commit 56d64b007f7eee75266dca41fc570e9286ee6e61 Author: florian Date: Sun Jan 26 20:13:18 2020 +0000 + in some language modes the loop counter is undefined after the loop by language definition git-svn-id: trunk@44043 - M compiler/pstatmnt.pas --- commit 3c18dee6945d3cc2d8d59fd7909bfb1db1cc3061 Author: florian Date: Sun Jan 26 20:13:18 2020 +0000 * take care of for loop counter read after loop git-svn-id: trunk@44042 - M compiler/optdfa.pas --- commit 1486ab7c708eaa3f901a49adc7a2cc42a1081d2c Author: florian Date: Mon Jan 27 22:27:22 2020 +0000 * do not throw a warning about unreachable code if the responsible node was generated internally git-svn-id: trunk@44051 - M compiler/nflw.pas --- commit 4a756a2d30b395b5d1038e3220da45c012336e96 Author: yury Date: Tue Jan 28 17:50:20 2020 +0000 * r42239 broke the tw13948b test for aarch64. Fixed this and improved the test. git-svn-id: trunk@44052 - M compiler/ncgmem.pas M tests/webtbs/tw13948b.pp --- commit 1b3a3a7983c3553e38b1a2bf1fb3166053435b66 Author: yury Date: Tue Jan 28 18:45:33 2020 +0000 * Removed lot of unused local vars. It is useful to turn on the notes in options. :) git-svn-id: trunk@44053 - M compiler/aasmcnst.pas M compiler/aoptobj.pas M compiler/cutils.pas M compiler/dbgstabx.pas M compiler/hlcgobj.pas M compiler/i386/aoptcpu.pas M compiler/i386/n386flw.pas M compiler/link.pas M compiler/mips/cpugas.pas M compiler/ncgmem.pas M compiler/ncgrtti.pas M compiler/pgenutil.pas M compiler/powerpc/agppcmpw.pas M compiler/powerpc/cpupara.pas M compiler/powerpc/nppcmat.pas M compiler/powerpc/rappcgas.pas M compiler/ppcgen/agppcgas.pas M compiler/ppcgen/cgppc.pas M compiler/ppcgen/ngppccnv.pas M compiler/psabiehpi.pas M compiler/symtable.pas M compiler/systems/t_beos.pas M compiler/x86/aasmcpu.pas M compiler/x86/aoptx86.pas M compiler/x86/rax86.pas M compiler/x86/rax86int.pas --- commit 45ffa40b71d623e404c72413e935e1b0ef97389e Author: yury Date: Tue Jan 28 19:09:42 2020 +0000 * Removed inline since it is not supported with open array parameters. git-svn-id: trunk@44054 - M compiler/entfile.pas --- commit 43c83b3ae60ade6916303a524f058febeeb683ad Author: florian Date: Wed Jan 29 21:35:26 2020 +0000 * improve LeaLea2Lea optimization git-svn-id: trunk@44058 - M compiler/x86/aoptx86.pas --- commit df6516c29f348078c0f86034544445eedca59103 Author: Jonas Maebe Date: Wed Jan 29 22:21:03 2020 +0000 * fix internalerror if adding the object info for LLVM requires creating new defs git-svn-id: trunk@44061 - M compiler/llvm/nllvmutil.pas --- commit 592df7fa5905081b23eba908345cff67fe584679 Author: Jonas Maebe Date: Wed Jan 29 22:21:07 2020 +0000 * disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM does that itself, our LLVM code generator can't handle it, and if it did then afterwards we would have to spill 90% of those register variables again to make them SSA) git-svn-id: trunk@44062 - M compiler/aarch64/cpuinfo.pas M compiler/arm/cpuinfo.pas M compiler/avr/cpuinfo.pas M compiler/i386/cpuinfo.pas M compiler/i8086/cpuinfo.pas M compiler/m68k/cpuinfo.pas M compiler/mips/cpuinfo.pas M compiler/powerpc/cpuinfo.pas M compiler/powerpc64/cpuinfo.pas M compiler/riscv32/cpuinfo.pas M compiler/riscv64/cpuinfo.pas M compiler/sparc64/cpuinfo.pas --- commit 08f9ec98e597e7afe9848fff43fe06608900002b Author: Jonas Maebe Date: Wed Jan 29 22:21:10 2020 +0000 * use same Windows platform name as clang git-svn-id: trunk@44063 - M compiler/llvm/llvmbase.pas --- commit b625afe8001b7508a131d683108a2e1a7550667a Author: Jonas Maebe Date: Wed Jan 29 22:21:14 2020 +0000 * never inline routines that call get_frame (otherwise get_frame would return the frame of the caller rather than of the current routine, which could cause e.g. stackframes to be missed in RTL helpers that are known to be only called from run time error routines) git-svn-id: trunk@44064 - M compiler/globtype.pas M compiler/ninl.pas M compiler/psub.pas M compiler/utils/ppuutils/ppudump.pp --- commit 254b85c352c92f8e8f7d4bc1acf10f5faedbbe51 Author: Jonas Maebe Date: Wed Jan 29 22:21:17 2020 +0000 + new pio_inline_forbidden flag to indicate that while parsing the implementation the compiler determined the routine must never be inlined o difference with po_noinline: can also be set in the implementation o difference with pio_inline_not_possible: it indicates that e.g. LLVM must not inline the routine either git-svn-id: trunk@44065 - M compiler/llvm/agllvm.pas M compiler/psub.pas M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp --- commit 6b47d9d9ed74d375c3c17b38ec215ac0cfedb90c Author: florian Date: Fri Jan 31 21:58:49 2020 +0000 * safecall support is meanwhile generic, so enabled for all linux targets git-svn-id: trunk@44076 - M compiler/fpcdefs.inc M compiler/powerpc/cpuinfo.pas M compiler/powerpc64/cpuinfo.pas M compiler/systems/i_linux.pas --- commit d479069f8c045b26678dce30fd8a14cefde3b611 Author: florian Date: Sat Feb 1 18:00:38 2020 +0000 * might_have_sideeffects takes care of absolute git-svn-id: trunk@44083 - M .gitattributes M compiler/nutils.pas A tests/test/tabsvr6.pp A tests/test/tabsvr7.pp --- commit 77b54f501f0d1d6a45b8b3f11f4f6fec1260a4c3 Author: florian Date: Sat Feb 1 18:02:17 2020 +0000 * when optimizing boolean expressions, might_have_sideeffects is only relevant if the expression would be optimized away git-svn-id: trunk@44084 - M compiler/nadd.pas --- commit 5a87855b062c5cc8d0bbae3311d82eae2e099ec5 Author: florian Date: Sat Feb 1 20:30:15 2020 +0000 + might_have_sideeffects takes care of vo_volatile now (it is not exposed yet) git-svn-id: trunk@44085 - M compiler/nutils.pas --- commit 2ea35e55b199904b69341b46a3f25fcb29557f54 Author: florian Date: Sat Feb 1 21:31:56 2020 +0000 * patch by J. Gareth Moreton: x86 "OptPass1MOV" improvements - Part 2, resolves #36608 git-svn-id: trunk@44086 - M compiler/x86/aoptx86.pas --- commit 0af71da9cc956f8d70c81ab5dd7c3e8484af90dd Author: florian Date: Sat Feb 1 22:31:12 2020 +0000 * armhf/armel aligns sections to 16 byte, so allow a maximum c alignment of 16 git-svn-id: trunk@44087 - M compiler/systems/i_linux.pas --- commit 1993c5d1efb6811791df0d7d78472e383874eabf Author: florian Date: Sun Feb 2 14:30:44 2020 +0000 * cosmetics git-svn-id: trunk@44094 - M compiler/ncal.pas --- commit 679c4454c476583f1b28d179ceb8d54759aa63f8 Author: florian Date: Sun Feb 2 14:30:45 2020 +0000 * fixes copying of tcgpara git-svn-id: trunk@44095 - M compiler/parabase.pas --- commit b777dc21d70691a94c36cf921b428ddbcd36db2b Author: florian Date: Sun Feb 2 15:20:28 2020 +0000 * fix PowerPC compilation git-svn-id: trunk@44097 - M compiler/parabase.pas --- commit bbcbd4eae1c0e63afe7bee64469decb6d789118f Author: florian Date: Sun Feb 2 19:49:47 2020 +0000 * patch by J. Gareth Moreton, avoid illegal MovAdd2Lea and MovSub2Lea optimziations, resolves #36630 git-svn-id: trunk@44101 - M compiler/x86/aoptx86.pas --- commit f4702ee139ed24007942b9b463974d3958fa1bef Author: Tomas Hajny Date: Tue Feb 4 22:28:23 2020 +0000 * added information about -M allowing to specify modeswitches git-svn-id: trunk@44115 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 3de193467d7d304aa1c0f3072af2a54f690eb821 Author: florian Date: Thu Feb 6 20:24:59 2020 +0000 * reverted r44119 git-svn-id: trunk@44123 - M compiler/hlcgobj.pas --- commit 12d015a9356bfe9511bbb24c05d2a9cad9385e0b Author: florian Date: Sun Feb 9 17:39:50 2020 +0000 * patch by J. Gareth Moreton: CMOV extensions: frame/stack pointer relative references are always valid, resolves #36675 git-svn-id: trunk@44141 - M compiler/x86/aoptx86.pas --- commit 991ce83a2b5a329abdf175905196cf1032993743 Author: florian Date: Sun Feb 9 20:57:59 2020 +0000 * patch by J. Gareth Moreton: conditional Jump Inversion stoploop variable, resolves #36680 git-svn-id: trunk@44144 - M compiler/aoptobj.pas --- commit 40a60591430e4639b7786a1f0a3c34451bf73bbb Author: pierre Date: Mon Feb 10 09:37:53 2020 +0000 Modify code to avoid error when compiling with -CriotR option git-svn-id: trunk@44145 - M compiler/rgobj.pas --- commit e7d2c93ca7c764c4a7f9764a06f9ba390a76dda1 Author: florian Date: Mon Feb 10 20:48:45 2020 +0000 * patch by J. Gareth Moreton: deadstore removal improvement, resolves #36669 git-svn-id: trunk@44147 - M compiler/x86/aoptx86.pas --- commit 39c48f0d0156f562e8e286003d5504baed62ea5a Author: yury Date: Tue Feb 11 12:49:12 2020 +0000 * Fixed r43577 for cases when the size of the new result of a simplified node after typecheckpass is smaller than the size of the original node's result. This caused internal errors or invalid assembly in some cases. Issue #36587. git-svn-id: trunk@44151 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw36587.pp --- commit c6350e2903d5d431fb53e4a5ad5d5f2e9fa9e9f3 Author: florian Date: Tue Feb 11 20:56:20 2020 +0000 * patch by J. Gareth Moreton: processor-aware MOVZX optimisation cleanup, part one of #36687 git-svn-id: trunk@44153 - M compiler/x86/aoptx86.pas --- commit 21565c22849db95277d35ae21b17298adaf0d285 Author: florian Date: Wed Feb 12 19:26:52 2020 +0000 * fixed Mov2Movz optimization git-svn-id: trunk@44161 - M compiler/x86/aoptx86.pas --- commit f632e2e7be71448f812fe80f5dfadc8aed22dc8a Author: florian Date: Wed Feb 12 20:23:06 2020 +0000 * simplified TX86AsmOptimizer.OptPass1Movx git-svn-id: trunk@44162 - M compiler/x86/aoptx86.pas --- commit 3a5eb0ec59725106d89f21b1086f22851dcbd1fb Author: florian Date: Thu Feb 13 20:20:10 2020 +0000 * patch by J. Gareth Moreton: cleanup TX86AsmOptimizer.OptPass1MOV after DeepMov changes, first part of #36670 git-svn-id: trunk@44164 - M compiler/x86/aoptx86.pas --- commit 251b18b9661df41aa9de94df5f0fec334d3323f0 Author: florian Date: Thu Feb 13 20:34:27 2020 +0000 * do not fold constants if the resulttypes do not match, improved fix for #tw26587 git-svn-id: trunk@44165 - M compiler/nadd.pas --- commit 3279e6335112c042ef8f723eb1476175bbf5e48d Author: florian Date: Thu Feb 13 20:53:39 2020 +0000 * patch by J. Gareth Moreton: cleanup TX86AsmOptimizer.OptPass2MOV after DeepMov changes, second part of #36670 git-svn-id: trunk@44166 - M compiler/x86/aoptx86.pas --- commit 147559349b257db80d94aba077a3bef23409f581 Author: svenbarth Date: Fri Feb 14 16:48:58 2020 +0000 * fix for Mantis #36652: gracefully handle the error if one tries to implement a method of a type from another unit + added test git-svn-id: trunk@44170 - M .gitattributes M compiler/msg/errore.msg M compiler/pparautl.pas M compiler/psub.pas A tests/webtbf/tw36652.pp A tests/webtbf/uw36652.pp --- commit 20698bb36f16566f16a52d7c2c4965d6b1131512 Author: svenbarth Date: Fri Feb 14 16:49:04 2020 +0000 * regenerate msg*.inc after last commit git-svn-id: trunk@44171 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit b7afb2431c1fc7bb7e29a965503dffd9e95aec00 Author: florian Date: Fri Feb 14 20:56:55 2020 +0000 * do not allow constraints in headers of procedure implementations in delphi mode, resolves #36584 * better error message if a constraint is found at a wrong location git-svn-id: trunk@44174 - M .gitattributes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pdecsub.pas M compiler/pgenutil.pas A tests/webtbf/tw36584.pp --- commit 013491c69f6068b74240153c95bcb50be5da21fa Author: florian Date: Fri Feb 14 21:27:16 2020 +0000 * make maxpushedparasize a SizeInt: it must store an address size and not an alu value git-svn-id: trunk@44176 - M compiler/procinfo.pas --- commit 3947922fea2604edcb2a4af366332cea338c5907 Author: florian Date: Sat Feb 15 13:53:16 2020 +0000 * set nf_* correctly when an inc/dec node is converted into an add/sub node * do not firstpass during dead store removal as it disturbes the for each calls git-svn-id: trunk@44180 - M compiler/ninl.pas M compiler/optdeadstore.pas --- commit e350264db18d5ddfe8458caf6a88ec687c3ce4e4 Author: florian Date: Sat Feb 15 18:27:22 2020 +0000 + propagate constants across call nodes git-svn-id: trunk@44184 - M compiler/optconstprop.pas --- commit 892454ff17bf5a12d3b7543c71ce149b9cab8f8a Author: florian Date: Sat Feb 15 20:53:40 2020 +0000 * patch by J. Gareth Moreton: optimize MOVSXD as well, resolves #36700 git-svn-id: trunk@44185 - M compiler/x86_64/aoptcpu.pas --- commit 2ad3c6dd97d08494ba0406b59868a5fd1198cbb9 Author: svenbarth Date: Sun Feb 16 09:53:37 2020 +0000 * fix global generic functions with constraints in mode Delphi by handling implementations with defines outside of parse_generic_parameters + added tests git-svn-id: trunk@44189 - M .gitattributes M compiler/pdecsub.pas M compiler/pparautl.pas A tests/test/tgenfunc20.pp A tests/test/tgenfunc21.pp A tests/test/tgenfunc22.pp --- commit ef3155c2eff240ffc64af5b713b545e5a0ea9b74 Author: florian Date: Sun Feb 16 13:06:19 2020 +0000 * there is no exit stackframe needed if a subroutine never returns git-svn-id: trunk@44191 - M compiler/x86_64/cgcpu.pas --- commit 42324235bd7b9a00acae016699cb4f9c7e46177e Author: florian Date: Sun Feb 16 13:15:12 2020 +0000 + CallRet2Call optimization git-svn-id: trunk@44192 - M compiler/x86/aoptx86.pas --- commit 88836b467e591b57523bfdd06590dd6f58977d7d Author: florian Date: Sun Feb 16 16:43:26 2020 +0000 * (V)MOVA*(V)MOVS*2(V)MOVS* 1 optimization git-svn-id: trunk@44194 - M compiler/x86/aoptx86.pas --- commit 3188dc18d41b540d6241e9ea20e918e217e55277 Author: Jonas Maebe Date: Sun Feb 16 16:58:25 2020 +0000 * fixed tdel1/2 tests again for AArch64/LLVM git-svn-id: trunk@44195 - M compiler/llvm/llvmdef.pas M compiler/llvm/llvmpara.pas M compiler/pparautl.pas M compiler/symconst.pas --- commit 9989d408fd2e010dffc655e492d7882d9a52449e Author: florian Date: Sun Feb 16 20:14:26 2020 +0000 * AArch64 and i386: omit exit stackframe, same as r44191 for x86-64 git-svn-id: trunk@44196 - M compiler/aarch64/cgcpu.pas M compiler/i386/cgcpu.pas --- commit 27e89e07a359c9f5388dbff82bcd169823553154 Author: florian Date: Sun Feb 16 20:14:27 2020 +0000 * in case a 32x32 -> 64 multiplication is converted into shl, the type casts need to be restored git-svn-id: trunk@44197 - M compiler/nadd.pas --- commit 93521ae8e87b79fde427bba35db6dfc8cef108c0 Author: florian Date: Sun Feb 16 20:14:28 2020 +0000 * fold also pointer additions/subtractions git-svn-id: trunk@44199 - M compiler/nadd.pas --- commit e50c4f6373933812d8fe57ceaf4ceab1c963cb32 Author: florian Date: Mon Feb 17 20:11:32 2020 +0000 + AAarch64: optimize divisions by constant git-svn-id: trunk@44204 - M compiler/aarch64/ncpumat.pas M compiler/x86/aoptx86.pas --- commit 3099e10f41016534a49548a5fe82e93ce6e90138 Author: florian Date: Mon Feb 17 20:12:53 2020 +0000 * revert accidently committed code git-svn-id: trunk@44205 - M compiler/x86/aoptx86.pas --- commit 346118187b41859b88ba7c4b196493a809fd54f6 Author: pierre Date: Wed Feb 19 15:33:11 2020 +0000 Fix linking error, in which libc.so.6 is not found on aarch64-linux when libdl.so is loaded, by adding appropriate directory git-svn-id: trunk@44215 - M compiler/systems/t_linux.pas --- commit 95e8992e2f2605f96187d057a5adb23b5109f163 Author: florian Date: Wed Feb 19 21:10:19 2020 +0000 + AArch64: profiler support for aarch64-linux git-svn-id: trunk@44216 - M compiler/aarch64/cgcpu.pas M compiler/options.pas M compiler/x86/aoptx86.pas --- commit 49f789b92aed40ddeb16aa91b95fcff61b386982 Author: florian Date: Wed Feb 19 21:12:23 2020 +0000 * reverted accidently committed changes again git-svn-id: trunk@44218 - M compiler/x86/aoptx86.pas --- commit c146aecc0112091e382e8c709026076038783409 Author: florian Date: Fri Feb 21 20:35:27 2020 +0000 * throw an error if the forward interface type and the actual interface type do not match, resolves #36720 git-svn-id: trunk@44230 - M .gitattributes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pdecl.pas A tests/webtbf/tw36720.pp A tests/webtbf/uw36720a.pp A tests/webtbf/uw36720b.pp --- commit 4dff373feffed88c558076962dc7a9e9729033e2 Author: florian Date: Sat Feb 22 18:37:38 2020 +0000 * (modified) patch by J. Gareth Moreton: processor-aware MOVZX optimisation cleanup, resolves #36687 git-svn-id: trunk@44233 - M .gitattributes M compiler/x86/aoptx86.pas A tests/test/cg/tcnvint3a.pp A tests/test/cg/tcnvint3c.pp --- commit 2acc6337d817d6e041281c4e0393ef7fde833adb Author: florian Date: Sat Feb 22 22:38:36 2020 +0000 * debug statement removed git-svn-id: trunk@44234 - M compiler/x86/aoptx86.pas --- commit c7b19e2fc96f01219e4664895b13a5d86ae7e120 Author: florian Date: Sun Feb 23 18:24:31 2020 +0000 * track used register better: if a deallocation is moved/removed, the used register may not be removed from the current register used register set git-svn-id: trunk@44239 - M compiler/aopt.pas --- commit a3573599718aad825241c4926833270091ba8b52 Author: florian Date: Sun Feb 23 21:21:40 2020 +0000 * LeaCallLeaRet2Jmp is done in TX86AsmOptimizer.PostPeepholeOptLea git-svn-id: trunk@44240 - M compiler/x86/aoptx86.pas --- commit 9bdfbc24731d670ecda14897eca0add4786871a1 Author: florian Date: Sun Feb 23 21:47:47 2020 +0000 + GetNextInstructionUsingRegTrackingUse * better MovAnd2Mov optimization + TOptsToCheck to track expensive optimizations, needs more work git-svn-id: trunk@44241 - M compiler/x86/aoptx86.pas --- commit 684ef3008fcb26dc1318e6807d78e72942d9ae4c Author: florian Date: Mon Feb 24 21:10:55 2020 +0000 * ARM: optimize mov rX,#0 .... mul/mla/umull ...,rX,... git-svn-id: trunk@44242 - M compiler/arm/aoptcpu.pas --- commit 9132b54b3b9ad8817fbc5bf20ede4ad947c193bb Author: florian Date: Tue Feb 25 21:28:52 2020 +0000 + ARM: MovMLA2MUL optimization git-svn-id: trunk@44243 - M compiler/arm/aoptcpu.pas --- commit 62129db44cb6ccf173a6c2e34c6c1a29760c9479 Author: florian Date: Tue Feb 25 21:28:53 2020 +0000 * ARM: look further ahead when optimizing mov rX, yyyy * ARM: fix Mov0 and MovMLA2MUL optimizations git-svn-id: trunk@44244 - M compiler/arm/aoptcpu.pas --- commit 80c0fc3c9268c59a07747f7ae88a106097c2a2c8 Author: florian Date: Wed Feb 26 20:59:35 2020 +0000 * several fixes to get better reg. allocations in the arm assembler optimizer git-svn-id: trunk@44245 - M compiler/arm/aasmcpu.pas M compiler/arm/aoptcpu.pas --- commit 507fc9c1ff58a7b97b3739016838cf06f35f956f Author: florian Date: Fri Feb 28 20:42:54 2020 +0000 + take care of addn and subn in is_loop_invariant git-svn-id: trunk@44251 - M compiler/optloop.pas --- commit ac974c9ab7418908c996b52499240a88ffa210f7 Author: florian Date: Sat Feb 29 21:15:15 2020 +0000 * improve is_loop_invariant for load nodes git-svn-id: trunk@44252 - M compiler/optloop.pas --- commit 34be9e464331921895f19699348ef7c663dd7e05 Author: florian Date: Sun Mar 1 09:37:09 2020 +0000 * CallRet2* optimization may not misalign the stack, reported by C Western on fpc-devel git-svn-id: trunk@44253 - M compiler/x86/aoptx86.pas --- commit f42b0bf6f556d1c8c9ab2bf04a5c170d62b44b8d Author: florian Date: Sun Mar 1 21:21:18 2020 +0000 * fixed JccAdd/Inc/Dec2*Adc/Sbb optimizations git-svn-id: trunk@44254 - M compiler/x86/aoptx86.pas --- commit 9819df6fe16de513a6c253b313cbd00ce4b3b11c Author: florian Date: Tue Mar 3 21:29:52 2020 +0000 * calculate complexity of an rtti node correctly git-svn-id: trunk@44261 - M compiler/nutils.pas --- commit cea772308039d52e7dcac66ab46c1fdec607e67c Author: florian Date: Thu Mar 5 21:49:36 2020 +0000 * more use of RemoveCurrentP(p) git-svn-id: trunk@44264 - M compiler/x86/aoptx86.pas --- commit bc3131688af996b30fe4acc2e2b55d953ab70f8b Author: florian Date: Fri Mar 6 10:10:58 2020 +0000 * fix precedence of IS operator, resolves #35909 git-svn-id: trunk@44266 - M .gitattributes M compiler/tokens.pas M packages/fcl-report/src/fpreport.pp A tests/webtbf/tw35909.pp --- commit 8f0376c888e2b8626f37b8c8ce00a704df869ba0 Author: florian Date: Fri Mar 6 15:47:18 2020 +0000 + JccAdd2SetccAdd optimization * take care of C_C/C_NC in JccAdd/Inc/Dec2(Cmc)Adc/Sbb git-svn-id: trunk@44268 - M compiler/x86/aoptx86.pas --- commit 424c8a0ac0edc9a8cdffdb62687fd1a750727172 Author: florian Date: Fri Mar 6 16:16:36 2020 +0000 * simple record accesses have not side effects git-svn-id: trunk@44269 - M compiler/nutils.pas --- commit f8339a43eaa2808fe22ca13192c92b5c8c200300 Author: florian Date: Fri Mar 6 16:16:37 2020 +0000 * do not do full boolean evaluation on LOC_FLAGS git-svn-id: trunk@44270 - M compiler/nadd.pas --- commit 6cac8cc77bd6f36cc5f312dc7e932108ba5f467c Author: florian Date: Fri Mar 6 16:16:38 2020 +0000 * fix Peephole Optimization: Cmpcc2Testcc - condition AE/NB/NC/NO --> Always optimization git-svn-id: trunk@44271 - M compiler/x86/aoptx86.pas --- commit 135a88c888e24e3c4559af7fae7d2f25a668f7be Author: Jeppe Johansen Date: Fri Mar 6 17:19:51 2020 +0000 movhlps/movlhps only take xmm registers. Handle spilling of SSE registers. git-svn-id: trunk@44272 - M compiler/x86/aasmcpu.pas M compiler/x86/rgx86.pas --- commit c20b27ede9fed9798af41af9fac56b3785ac6cb0 Author: Jeppe Johansen Date: Fri Mar 6 21:34:22 2020 +0000 Add most SSE instructions as intrinsics. git-svn-id: trunk@44274 - M compiler/ninl.pas M compiler/utils/mkx86inl.pp M compiler/x86/cx86mminnr.inc M compiler/x86/x86intr.dat M compiler/x86/x86mmfirst.inc M compiler/x86/x86mmsecond.inc M compiler/x86/x86mmtype.inc M rtl/i386/cpumminnr.inc M rtl/i386/cpummprocs.inc M rtl/x86_64/cpuinnr.inc M rtl/x86_64/cpumminnr.inc M rtl/x86_64/cpummprocs.inc --- commit a880367b37004dc22aae426c0da8618c941d1fe3 Author: michael Date: Sat Mar 7 11:40:32 2020 +0000 * Show message about creating fppkg/conf.d directory git-svn-id: trunk@44279 - M compiler/utils/samplecfg --- commit 96a712f7ff35dc5ea1e148bff113c3b347c1785e Author: marco Date: Sat Mar 7 17:59:05 2020 +0000 * add FreebSD to weaklinking targets. git-svn-id: trunk@44283 - M compiler/systems.pas --- commit aca97274189a9511dcb3ceb878b2984138b71f62 Author: florian Date: Sun Mar 8 14:30:59 2020 +0000 + OptimizeForLoop: convert for-loops into zero-based backward for-loops if possible, for most architectures, this results in simpler code git-svn-id: trunk@44287 - M compiler/nflw.pas M compiler/optloop.pas M compiler/psub.pas --- commit 30a4f667c171a8a352952bb008f7f7fc7e91284c Author: Jeppe Johansen Date: Sat Mar 21 20:59:32 2020 +0000 tgobj: Change direction of stack. git-svn-id: trunk@44331 - M compiler/tgobj.pas --- commit 523ebb42cfd9705ef1cc6b4614e3ccb610eb7a87 Author: Jonas Maebe Date: Fri Mar 27 21:26:39 2020 +0000 * fix LLVM backend compilation (mantis #36833) git-svn-id: trunk@44374 - M compiler/llvm/llvmbase.pas --- commit 41e554067a781db64def61fdce3d952d1290f8ec Author: pierre Date: Sat Mar 28 13:13:04 2020 +0000 Fix handling of parameters with size below the size of a full register git-svn-id: trunk@44380 - M compiler/cgobj.pas --- commit 79974a96713d98fd78bf838755c31fc44f2d0a48 Author: Jonas Maebe Date: Mon Mar 30 19:58:49 2020 +0000 + -XlS option to specify a suffix for externally called LLVM utilities, e.g. -XlS-7 to call clang-7 instead of clang) * IMPORTANT: changed the -CL llvm code generation options to -Cl, for consistency with the new -Xl option (-XL was already taken) git-svn-id: trunk@44436 - M compiler/assemble.pas M compiler/globals.pas M compiler/llvm/agllvm.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas M compiler/systems.pas --- commit 44d9498effae13337ae677dcf2c59e52e6ec2f4e Author: florian Date: Thu Apr 2 20:04:02 2020 +0000 * cosmetics git-svn-id: trunk@44514 - M compiler/psystem.pas --- commit b033ccbddb9c6ce1b486cd21493e07b6949b02ce Author: florian Date: Thu Apr 2 20:04:03 2020 +0000 * cleanup git-svn-id: trunk@44515 - M compiler/arm/narmcnv.pas --- commit 4ba19f5418bb0dc18ff708c2ad73e7cee160fc5d Author: Jonas Maebe Date: Thu Apr 2 21:21:36 2020 +0000 * add support for creating non-address-only procvars to cprocvar.getreusableprocaddr() git-svn-id: trunk@44516 - M compiler/aasmcnst.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/nllvmld.pas M compiler/llvm/nllvmtcon.pas M compiler/ncgcal.pas M compiler/ncgld.pas M compiler/ncgrtti.pas M compiler/ncgvmt.pas M compiler/ngtcon.pas M compiler/nobj.pas M compiler/symdef.pas --- commit afd0ae44eecd5252eae6dab8a34b0d4dc97722f2 Author: Jonas Maebe Date: Thu Apr 2 21:21:40 2020 +0000 * use tprocvardef.getreusableprocaddr also for non-address-only copies of proc(var)defs git-svn-id: trunk@44517 - M compiler/llvm/nllvmcnv.pas M compiler/llvm/nllvmld.pas M compiler/llvm/nllvmutil.pas M compiler/ncgcnv.pas M compiler/ncnv.pas --- commit d5de84c6c52ce7403f6ea17e9330a1cf7d5e4032 Author: Jonas Maebe Date: Thu Apr 2 21:21:44 2020 +0000 * use typenames in more cases in the generated LLVM IR (results in smaller IR in textual form) git-svn-id: trunk@44518 - M compiler/llvm/llvmdef.pas M compiler/llvm/llvmtype.pas --- commit 66cbee5e31091693cef12ba3c533ffea59e0c549 Author: florian Date: Fri Apr 3 20:15:24 2020 +0000 * factor out first_addfloat_soft git-svn-id: trunk@44540 - M compiler/nadd.pas --- commit fc98a0db4f917852568e8c777bb229ed7f2e53ff Author: florian Date: Fri Apr 3 20:15:25 2020 +0000 * cosmetics git-svn-id: trunk@44542 - M compiler/nld.pas --- commit 3705f95b925b46ea38a795c81425d06de6e2fc5a Author: florian Date: Fri Apr 3 20:15:27 2020 +0000 * compilation fixed git-svn-id: trunk@44545 - M compiler/defutil.pas M compiler/ncgutil.pas --- commit 04f3784af5fd1c73d88a00ece5bc26566313fc2e Author: florian Date: Mon Apr 6 20:44:31 2020 +0000 * better setting of expectloc git-svn-id: trunk@44619 - M compiler/ncnv.pas M compiler/nmat.pas --- commit f3560004cf486d89cb97dd144337c825d7ac0346 Author: michael Date: Sun Apr 12 07:56:01 2020 +0000 * Add FPCBINDIR macro for paths git-svn-id: trunk@44697 - M compiler/globals.pas --- commit 02ed51ea2541071642818c72552216d88aeda71c Author: michael Date: Sun Apr 12 09:32:03 2020 +0000 * Do not expand FPCBINDIR on darwin git-svn-id: trunk@44698 - M compiler/globals.pas --- commit 39fa96579079493b11e2c94e2dba6c924bceb13f Author: michael Date: Sun Apr 12 10:51:14 2020 +0000 * Use exepath on all platforms git-svn-id: trunk@44699 - M compiler/globals.pas --- commit 71784254ab5cda0144cc92d0909533fff965163b Author: michael Date: Sun Apr 12 10:52:24 2020 +0000 * Use exepath on all platforms git-svn-id: trunk@44700 - M compiler/globals.pas --- commit 497ff94cb096fb436b9916b60120b7c235d01d85 Author: florian Date: Sun Apr 12 14:24:56 2020 +0000 + fpu_fpv4_sp_d32 * some fixes to make fpv4-sp-d32 work git-svn-id: trunk@44702 - M compiler/arm/aasmcpu.pas M compiler/arm/cgcpu.pas M compiler/arm/cpuinfo.pas M compiler/arm/narmutil.pas --- commit 38c32bcada3d600fccd74eb60a1961f0dbc200aa Author: florian Date: Sun Apr 12 14:24:56 2020 +0000 * reorganized arm cpu flags git-svn-id: trunk@44703 - M compiler/arm/cpuinfo.pas M compiler/arm/narmadd.pas M compiler/arm/narmcnv.pas M compiler/arm/narminl.pas M compiler/arm/narmmat.pas --- commit d772a42375334be095f5bdfa06b601163695b9d1 Author: florian Date: Sun Apr 12 18:05:50 2020 +0000 * arm: more fixes for fpu_fpv4_sp_d16 * take care of FPUARM_HAS_VFP_DOUBLE * use FPUARM_HAS_VFP_EXTENSION instead of checking fpu_vfp_first and ...last git-svn-id: trunk@44707 - M compiler/arm/agarmgas.pas M compiler/arm/cpupara.pas M compiler/arm/narmadd.pas M compiler/arm/narmcon.pas M compiler/symdef.pas --- commit 4d73a9e637ba7ecb7abd2c849e5683dbe33ada67 Author: florian Date: Sun Apr 12 20:50:39 2020 +0000 * simplify tc_bool_2_int git-svn-id: trunk@44712 - M compiler/ncnv.pas --- commit 458a6000e7c0665adcd9e55e7b09351fcbeb47e9 Author: florian Date: Sun Apr 12 20:50:40 2020 +0000 + arm: optimize sxth/sxtb git-svn-id: trunk@44713 - M compiler/arm/aoptcpu.pas --- commit 3d4cc7c2f663e3a4363c4f16fdface50f50ead8f Author: florian Date: Mon Apr 13 13:09:15 2020 +0000 * fixes compilation on WinCE git-svn-id: trunk@44715 - M compiler/arm/narmcnv.pas --- commit 7c2c8581b7d3543cf28d8fe6c917f09f190d7835 Author: florian Date: Mon Apr 13 17:27:46 2020 +0000 * get rid of fpu_vfp_first/last hack git-svn-id: trunk@44716 - M compiler/arm/cpuinfo.pas M compiler/arm/narmcal.pas M compiler/arm/narmcnv.pas M compiler/arm/narminl.pas --- commit 2bae2a451c4dd4571b3ad81be202253050fb447b Author: florian Date: Mon Apr 13 17:29:09 2020 +0000 * load 0 into unaligned memory in a simpler way git-svn-id: trunk@44717 - M compiler/aarch64/cgcpu.pas --- commit 3dff78621cbf792076eed72a35848b4f572c5d9a Author: florian Date: Mon Apr 13 18:04:34 2020 +0000 * Aarch64: UTX/STX instructions include now the postfix, so it is the same as for ARM git-svn-id: trunk@44718 - M compiler/aarch64/a64att.inc M compiler/aarch64/a64atts.inc M compiler/aarch64/a64ins.dat M compiler/aarch64/a64op.inc M compiler/aarch64/cgcpu.pas --- commit 3022927a6f73b6a74eba24ba6f941b1e78096037 Author: pierre Date: Mon Apr 13 20:56:44 2020 +0000 Handle all existing possible values for init_settings.fputype to set Tag_FP_Arch .eabi_attribute git-svn-id: trunk@44719 - M compiler/arm/narmutil.pas --- commit 2276caae243820b7dc60a7b7feff79b908d96c08 Author: florian Date: Mon Apr 13 21:01:01 2020 +0000 + common assembler optimizer base class for arm and aarch64 git-svn-id: trunk@44720 - M .gitattributes M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas A compiler/armgen/aoptarm.pas --- commit c4b66c89f7c08409f0c7d82869e473ccd84fd8c6 Author: florian Date: Tue Apr 14 20:52:27 2020 +0000 * check for stup instead of stp git-svn-id: trunk@44722 - M compiler/aarch64/cgcpu.pas --- commit 9bcff94e9e7674ca6b87f6aa45b5748aabd65dd3 Author: florian Date: Wed Apr 15 20:21:29 2020 +0000 * factored out TARMAsmOptimizer.OptPass1UXTB * several other routines being very similar for ARM and AAarch64 moved to aoptarm git-svn-id: trunk@44725 - M compiler/aarch64/aoptcpu.pas M compiler/aarch64/cpubase.pas M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit 73b563b3679e0771fe3d0f546da7695b9f911e1f Author: pierre Date: Wed Apr 15 20:47:04 2020 +0000 Avoid invalid typecast in tarmunaryminusnode.pass_1 method git-svn-id: trunk@44726 - M compiler/arm/narmmat.pas --- commit 7172397077ad2126b5d59b985ee1f266d65663c3 Author: florian Date: Thu Apr 16 21:19:12 2020 +0000 * factored out TARMAsmOptimizer.OptPass1UXTH * AArch64: use TARMAsmOptimizer.OptPass1UXTH git-svn-id: trunk@44737 - M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit 19a9d4c4acb2d5dbe4bb14756517d3e3d85d79be Author: florian Date: Thu Apr 16 21:19:13 2020 +0000 * factored out TARMAsmOptimizer.OptPass1SXTB * AArch64: use TARMAsmOptimizer.OptPass1SXTB git-svn-id: trunk@44738 - M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit 9176efbab4ef437703b08d88958ab3506accaca0 Author: florian Date: Thu Apr 16 21:19:14 2020 +0000 * factored out TARMAsmOptimizer.OptPass1SXTH * AArch64: use TARMAsmOptimizer.OptPass1SXTH git-svn-id: trunk@44739 - M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit f5fc806c9d2cc3c880ff98e92f33f764747e6713 Author: svenbarth Date: Fri Apr 17 14:44:11 2020 +0000 * fix comment git-svn-id: trunk@44745 - M compiler/sparc64/tgcpu.pas --- commit 4f16473baad47661a858c77d100d8070af688941 Author: svenbarth Date: Fri Apr 17 14:44:16 2020 +0000 * fix typo git-svn-id: trunk@44747 - M compiler/scanner.pas --- commit 001057b52ec0a30b4ab3a7c5888b11de9e8aff87 Author: florian Date: Fri Apr 17 21:02:35 2020 +0000 * re-added assembler optimization accidently removed in r44738 as noted by margers on the mailing list git-svn-id: trunk@44751 - M compiler/aarch64/aoptcpu.pas --- commit 56ad37133e6225e2a4bf8dd07e9bfb19e0805489 Author: Károly Balogh Date: Fri Apr 17 23:09:16 2020 +0000 m68k-amiga: hack to avoid a linker (vlink) warning about merging sections with different flags together. Amiga doesn't support true read only sections anyway git-svn-id: trunk@44757 - M compiler/aggas.pas M compiler/m68k/ag68kvasm.pas --- commit 5a07298ea516c581c06c1ce1b784fc3a6201159f Author: florian Date: Sat Apr 18 09:38:10 2020 +0000 + AAarch64: FOpFMov2FOp assembler optimization git-svn-id: trunk@44773 - M compiler/aarch64/aoptcpu.pas --- commit 7125cb505c0e428110713679df6ac681bab49a0a Author: florian Date: Sat Apr 18 15:17:29 2020 +0000 + AAarch64: assembler optimization Bl2B git-svn-id: trunk@44785 - M compiler/aarch64/aoptcpu.pas --- commit 4b59bcb0ca289e88f97d84afd1dd37502c48daa5 Author: Jonas Maebe Date: Sat Apr 18 16:08:25 2020 +0000 * regenerated makefiles git-svn-id: trunk@44793 - M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcm/revision.inc M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile --- commit 2b3d7dd42cddd513b70d4f7ddb61e2f7766cdb37 Author: florian Date: Sat Apr 18 17:58:44 2020 +0000 * bail out early if possible git-svn-id: trunk@44794 - M compiler/aarch64/aoptcpu.pas --- commit 6ccb8b83dae165f9c48b9db693d7cdec6dbf1ab6 Author: florian Date: Sat Apr 18 17:58:45 2020 +0000 + AArch64: TCpuAsmOptimizer.OptPass1Mov git-svn-id: trunk@44795 - M compiler/aarch64/aoptcpu.pas --- commit 9211e6cf936ecc789a8d31691bb288bbaed634d0 Author: florian Date: Sat Apr 18 20:39:37 2020 +0000 * FreeRTOS: try not to build native binaries git-svn-id: trunk@44797 - M compiler/Makefile M compiler/Makefile.fpc --- commit 099faf2d2babda25febee94149772fa936244b2e Author: florian Date: Sat Apr 18 21:48:25 2020 +0000 * factored out and improved TARMAsmOptimizer.RedundantMovProcess + AArch64: use TARMAsmOptimizer.RedundantMovProcess git-svn-id: trunk@44799 - M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit db19900eb1c6a4b8580f03fd57506a2592b80314 Author: florian Date: Sun Apr 19 11:04:31 2020 +0000 * TARMAsmOptimizer.RemoveSuperfluousMove should not mess with PC git-svn-id: trunk@44842 - M compiler/armgen/aoptarm.pas --- commit c96a3cc9d1584825f4b8d56fa8b52a1140a2ee67 Author: florian Date: Sun Apr 19 19:07:43 2020 +0000 + take care of OPTNEW when building utils git-svn-id: trunk@44866 - M compiler/utils/Makefile M compiler/utils/Makefile.fpc --- commit be50c77f342dab9fa790edf5597594c665dd97e8 Author: florian Date: Sun Apr 19 19:22:05 2020 +0000 * regenerated git-svn-id: trunk@44867 - M compiler/utils/Makefile --- commit 8ac8c79a71abc78e50e5fa2206c93ff1a555f144 Author: florian Date: Sun Apr 19 20:59:52 2020 +0000 + initial support for arm-freertos largely based on patch by Michael Ring git-svn-id: trunk@44871 - M compiler/aggas.pas M compiler/arm/agarmgas.pas M compiler/arm/cpuelf.pas M compiler/arm/cpuinfo.pas M compiler/arm/cputarg.pas M compiler/options.pas M compiler/systems.inc M compiler/systems.pas M compiler/systems/i_freertos.pas M compiler/systems/t_embed.pas M compiler/systems/t_freertos.pas M compiler/utils/ppuutils/ppudump.pp M rtl/freertos/Makefile.fpc M utils/fpcm/fpcmake.inc M utils/fpcm/fpcmake.ini M utils/fpcm/fpcmmain.pp M utils/fpcm/revision.inc --- commit 57809eb922c2d9e6dbca04fdc54d3c020905df88 Author: pierre Date: Sun Apr 19 21:40:40 2020 +0000 Add several missing -T options in help git-svn-id: trunk@44875 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 068f0d2ec8ee953998eebf578bcb27d821be4dac Author: svenbarth Date: Mon Apr 20 18:42:30 2020 +0000 * fix for Mantis #36935: apply patch by J. Gareth Moreton to fix a typo in cs_opt_remove_empty_proc git-svn-id: trunk@44888 - M compiler/globtype.pas M compiler/ncal.pas M compiler/ncgvmt.pas M compiler/psub.pas M compiler/utils/ppuutils/ppudump.pp --- commit 3e29742fd9b4d483b0cb3c7bd1b0417e6fddbad6 Author: svenbarth Date: Tue Apr 21 06:04:10 2020 +0000 * for PE+ specific checks use a constant in systems.pas instead of an explicit list (easier to extend this way) git-svn-id: trunk@44912 - M compiler/aasmtai.pas M compiler/assemble.pas M compiler/ogcoff.pas M compiler/systems.pas M compiler/systems/t_win.pas --- commit 5b941e3cea65f1bc58bc2189d6eb371b3c3441d4 Author: svenbarth Date: Tue Apr 21 06:04:15 2020 +0000 + implement relocations for Aarch64 for the internal COFF linker git-svn-id: trunk@44913 - M compiler/ogbase.pas M compiler/ogcoff.pas --- commit 3af74d2fd2a9a431d0b0b966b03d2fa07cc0e59a Author: svenbarth Date: Tue Apr 21 06:04:22 2020 +0000 + implement initial compiler support for Win64 on Aarch64 git-svn-id: trunk@44914 - M compiler/aarch64/cputarg.pas M compiler/gendef.pas M compiler/ogcoff.pas M compiler/options.pas M compiler/systems.inc M compiler/systems.pas M compiler/systems/i_win.pas M compiler/systems/t_win.pas M compiler/utils/ppuutils/ppudump.pp --- commit dfde4def62ef9798084f4ea4a8ccd2963b9e354b Author: svenbarth Date: Tue Apr 21 06:04:27 2020 +0000 + add a GAS compatible variant of the Clang assembler (currently used for Aarch64-Win64 as no GNU AS exists for that target, yet) git-svn-id: trunk@44915 - M compiler/aarch64/agcpugas.pas M compiler/systems.inc --- commit a6f1c04f22723ea2da0c5938240f74fe87552aeb Author: svenbarth Date: Tue Apr 21 06:04:31 2020 +0000 * Windows does not support a GOT, so rely on page relative addressing git-svn-id: trunk@44916 - M compiler/aarch64/cgcpu.pas --- commit 3b1d5794e9c7b06e2c8ce9f11610b479d3a55132 Author: svenbarth Date: Tue Apr 21 06:04:34 2020 +0000 * Windows on AArch64 does not support ProgBits either git-svn-id: trunk@44917 - M compiler/aggas.pas --- commit 40633835dcaa2206cf041bb5abca51accb39b1b7 Author: svenbarth Date: Tue Apr 21 06:04:37 2020 +0000 * Windows on Aarch64 requires a relocation section git-svn-id: trunk@44918 - M compiler/pmodules.pas --- commit 613a6e796a30c0e4ee4e926b92f7d5ad8213e817 Author: svenbarth Date: Tue Apr 21 06:04:41 2020 +0000 * Windows on AArch64 requires some DllCharacteristics in the header to be always set git-svn-id: trunk@44919 - M compiler/ogcoff.pas --- commit 12ef0668970c478becd1661e2825d0d0aa2cad3e Author: svenbarth Date: Tue Apr 21 06:04:59 2020 +0000 + add functionality to store a node tree's required temp nodes and their flag upon entering the tree git-svn-id: trunk@44924 - M compiler/psub.pas --- commit 0cc592e9eea8cd2d1943adb20db14fc32d5a64e4 Author: svenbarth Date: Tue Apr 21 06:05:02 2020 +0000 - remove sectiontype2options overload for mach-O, because the relevant sections have the correct flags in the base method already git-svn-id: trunk@44925 - M compiler/ogmacho.pas --- commit 61358b1eaad0f8b5e605d58983b43c1864a38da0 Author: svenbarth Date: Tue Apr 21 06:05:06 2020 +0000 * it's rather useless that sectiontype2options is virtual as we can't use a class type, not to mention that the classes doing the overriding are for the internal assemblers/linkers, but we need it also for external Thus we move the functionality of the overloads to the basemethod and remove the virtual directive; maybe we'll find a better solution in the future... git-svn-id: trunk@44926 - M compiler/ogbase.pas M compiler/ogcoff.pas M compiler/ogomf.pas --- commit b5a4f8837cb7abec3818eaaaa304ae2a4c2a17d0 Author: svenbarth Date: Tue Apr 21 06:05:10 2020 +0000 * rename the local sectionflags and sectionprogbits variables to the more clear usesectionflags and usesectionprogbits git-svn-id: trunk@44927 - M compiler/aggas.pas --- commit 3f62c5f5ef62b791b22aadf5059041619e88a5a2 Author: svenbarth Date: Tue Apr 21 06:05:14 2020 +0000 + introduce a virtual method for writing the section flags git-svn-id: trunk@44928 - M compiler/aggas.pas --- commit 3f40e00392b6701dffd95c5aa1cd38a9a4cf9297 Author: svenbarth Date: Tue Apr 21 06:05:18 2020 +0000 * the clang assembler for COFF requires at least an "r" to generate a readonly section git-svn-id: trunk@44929 - M compiler/aarch64/agcpugas.pas --- commit 329710f5730f6aa9baabab10992a50435b29a390 Author: svenbarth Date: Tue Apr 21 06:05:21 2020 +0000 * use COFF sectionattrs for aarch64-win64 as well git-svn-id: trunk@44930 - M compiler/aggas.pas --- commit f150fc6b7cdf797f9cbbd436ab40ba388f4328bf Author: svenbarth Date: Tue Apr 21 06:05:25 2020 +0000 * at least clang can savely generate relocatable readonly sections, so use "r" for aarch64-win64 git-svn-id: trunk@44931 - M compiler/aggas.pas --- commit fed17122f85f08ee9bd0ce89ce3fdd2860e35eac Author: svenbarth Date: Tue Apr 21 06:05:35 2020 +0000 * as a variant for SEH exception filters we allow them to be *duplicated* instead of being extracted; this can be done unconditionally as for extracted ones their code is set to Nil after they're done and thus won't be picked up by generate_code_exceptionfilters git-svn-id: trunk@44934 - M compiler/psub.pas --- commit 2b59000d563d6177edf02ad3d6bdc73afbbeafba Author: svenbarth Date: Tue Apr 21 06:06:05 2020 +0000 + implement compiler support for SEH on Win64 Note: due to the way we access variables in a nested function (which in this case includes exception filters) we can not extract the finally handlers and call them (like we do on i386 and x86_64, but instead we duplicate the finally code) git-svn-id: trunk@44941 - M .gitattributes M compiler/aarch64/cgcpu.pas M compiler/aarch64/cpunode.pas M compiler/aarch64/cpupi.pas A compiler/aarch64/ncpuflw.pas M compiler/aarch64/racpugas.pas M compiler/aasmtai.pas M compiler/ogcoff.pas M compiler/psub.pas M compiler/x86_64/win64unw.pas --- commit ada6d8ce5e1dcc4c5a86f63348fbe1c50be3c8a7 Author: svenbarth Date: Tue Apr 21 06:06:13 2020 +0000 * the .pdata section currently only needs to be always included for arm-wince (at least until we have full SEH support there as well) git-svn-id: trunk@44943 - M compiler/ogcoff.pas --- commit 6143b8b54d03b8af9704d64fb25223629f0baa6a Author: svenbarth Date: Tue Apr 21 06:06:16 2020 +0000 + add an error message if the size of a function is invalid (in case of aarch64-win64: not a multiple of 4, the instruction size) git-svn-id: trunk@44944 - M compiler/msg/errore.msg --- commit 7f0d582a4a46297bf021722e993cd40fdd121997 Author: svenbarth Date: Tue Apr 21 06:06:20 2020 +0000 + add Win64 target to help text git-svn-id: trunk@44945 - M compiler/msg/errore.msg --- commit 531c93a04e58755dff30399d08c243602e404080 Author: svenbarth Date: Tue Apr 21 06:06:24 2020 +0000 * regenerate msg{idx,txt}.inc git-svn-id: trunk@44946 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 042aae24554402b152750137c37ddd0ba079418b Author: svenbarth Date: Tue Apr 21 06:06:28 2020 +0000 * the clang assembler does not provide support for the SEH directives we need (only the LLVM backend would be able to use them), thus we need to manually convert them to data sections git-svn-id: trunk@44947 - M compiler/aarch64/agcpugas.pas --- commit b88107fa1d7eca0004f0cdeb149f2cb15b711f13 Author: svenbarth Date: Tue Apr 21 06:06:31 2020 +0000 * due to an apparent bug in the clang assembler for COFF when assembling ADRP instructions we can't use symbols that are offset into their section git-svn-id: trunk@44948 - M compiler/aasmcnst.pas --- commit 7f4b94e4087a46b3c89dfb8731ddc6a0ba2c015b Author: svenbarth Date: Tue Apr 21 06:06:36 2020 +0000 * generate jump tables into the same section as the code as otherwise we'll get bogus relocations (in case of clang.exe) or a future support for armasm64.exe will reject the relative symbols outright git-svn-id: trunk@44949 - M compiler/aarch64/ncpuset.pas --- commit e01de8098137ca8a8fe9f5d0a95d742d6e8e7eb2 Author: svenbarth Date: Tue Apr 21 06:06:40 2020 +0000 * register the DLL scanner for aarch64-win64 git-svn-id: trunk@44950 - M compiler/systems/t_win.pas --- commit 55c1ecedac40f079be9fbf04cdbd1dbcecc7660d Author: svenbarth Date: Tue Apr 21 06:07:03 2020 +0000 * set implicitframe for copied tryfinally nodes as well git-svn-id: trunk@44956 - M compiler/nflw.pas --- commit 2aa0e508731a84586222db50b8937831ff8eca44 Author: svenbarth Date: Tue Apr 21 06:07:06 2020 +0000 * implement dogetcopy for the Aarch64 variant of the tryfinally node git-svn-id: trunk@44957 - M compiler/aarch64/ncpuflw.pas --- commit 670e77864372d4e45300e6cadbb3d860064b7e1a Author: florian Date: Fri Apr 24 20:56:56 2020 +0000 + assembler optimization MovxMov2Movx git-svn-id: trunk@45057 - M compiler/x86/aoptx86.pas --- commit 951f02d188c6233ff7e08ceb54590e27f07cf1f1 Author: florian Date: Sat Apr 25 19:35:28 2020 +0000 * correctly set register size git-svn-id: trunk@45076 - M compiler/x86/aoptx86.pas --- commit 60345366f254fe85417c2de4e9d0ccf8f2c85d1c Author: svenbarth Date: Sat Apr 25 22:12:35 2020 +0000 * fix for Mantis #35140: apply patch by Ryan Joseph together with some further changes by me to add support for constant parameters in generics + added tests git-svn-id: trunk@45080 - M .gitattributes M compiler/defcmp.pas M compiler/htypechk.pas M compiler/ncnv.pas M compiler/ncon.pas M compiler/nmat.pas M compiler/node.pas M compiler/nset.pas M compiler/pass_1.pas M compiler/pdecl.pas M compiler/pdecsub.pas M compiler/pdecvar.pas M compiler/pexpr.pas M compiler/pgentype.pas M compiler/pgenutil.pas M compiler/pparautl.pas M compiler/ppu.pas M compiler/pstatmnt.pas M compiler/ptype.pas M compiler/symconst.pas M compiler/symdef.pas M compiler/symsym.pas M compiler/utils/ppuutils/ppudump.pp A tests/test/tgenconst1.pp A tests/test/tgenconst10.pp A tests/test/tgenconst11.pp A tests/test/tgenconst12.pp A tests/test/tgenconst13.pp A tests/test/tgenconst14.pp A tests/test/tgenconst15.pp A tests/test/tgenconst16.pp A tests/test/tgenconst17.pp A tests/test/tgenconst18.pp A tests/test/tgenconst19.pp A tests/test/tgenconst2.pp A tests/test/tgenconst20.pp A tests/test/tgenconst21.pp A tests/test/tgenconst22.pp A tests/test/tgenconst23.pp A tests/test/tgenconst24.pp A tests/test/tgenconst25.pp A tests/test/tgenconst26.pp A tests/test/tgenconst27.pp A tests/test/tgenconst28.pp A tests/test/tgenconst29.pp A tests/test/tgenconst3.pp A tests/test/tgenconst30.pp A tests/test/tgenconst4.pp A tests/test/tgenconst5.pp A tests/test/tgenconst6.pp A tests/test/tgenconst7.pp A tests/test/tgenconst8.pp A tests/test/tgenconst9.pp --- commit f5e89ded35caa36d5dbf0aa664c0d26de59a8983 Author: Jonas Maebe Date: Sun Apr 26 11:36:42 2020 +0000 * fix tc_bool_2_int simplification in case pass typecheck runs again, e.g. after getting a copy of the node during CSE (fixes taddset4 compilation with LLVM after r44712) git-svn-id: trunk@45087 - M compiler/ncnv.pas --- commit 7757306c7885c915de6620ac62ff83cc7db96f1f Author: svenbarth Date: Sun Apr 26 11:46:06 2020 +0000 * destroying constnone constsyms can occur when parsing a generic with a constant parameter that results in an error (e.g. unsupported type) git-svn-id: trunk@45088 - M compiler/symsym.pas --- commit a46733218725a7650c3422aaf18c2fde35551330 Author: svenbarth Date: Sun Apr 26 11:46:10 2020 +0000 * fix for Mantis #36975: arraydefs are not allowed for generic types (this is only used for type declarations; for specializing constant strings which are char arrays are still allowed) + added test git-svn-id: trunk@45089 - M .gitattributes M compiler/pgenutil.pas A tests/webtbf/tw36975.pp --- commit 258331e91421c438e80c926e79833b1f4845ffe8 Author: svenbarth Date: Sun Apr 26 11:46:14 2020 +0000 + add an explicit error message if a type is not supported for a generic constant parameter git-svn-id: trunk@45090 - M compiler/msg/errore.msg --- commit 287c298f378202ba9e5fa38f30f9d12bf8834366 Author: svenbarth Date: Sun Apr 26 11:46:18 2020 +0000 * regenerate msg{txt,idx}.inc git-svn-id: trunk@45091 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 04554d7505569d1dc67bc66f64ed61251ca1c51c Author: svenbarth Date: Sun Apr 26 11:46:24 2020 +0000 * use a more detailed error message if a type is not allowed for a generic constant parameter git-svn-id: trunk@45092 - M compiler/pgenutil.pas --- commit f72a795cc7f2f77d88e0c41056cb7cd4cc996036 Author: florian Date: Sun Apr 26 13:11:02 2020 +0000 * fixed SetIsEmpty git-svn-id: trunk@45094 - M compiler/symdef.pas --- commit e7f7927ca9d6db490e75d66abb30d8b71a358e90 Author: florian Date: Mon Apr 27 19:19:54 2020 +0000 + initialize variables, so compilation with -O3 works git-svn-id: trunk@45141 - M compiler/pgenutil.pas --- commit a084c8829f6375f4ce90b68d7502b8b4a1ec6145 Author: florian Date: Mon Apr 27 19:27:16 2020 +0000 * patch by J. Gareth Moreton: refactor RemoveCurrentP git-svn-id: trunk@45142 - M compiler/aoptobj.pas M compiler/arm/aoptcpu.pas M compiler/avr/aoptcpu.pas M compiler/x86/aoptx86.pas --- commit 29d681168a7997875dd5ba06f0aaa7198abc5631 Merge: a084c8829f a857e60dc1 Author: nickysn Date: Mon Apr 27 20:07:54 2020 +0000 * merged the z80 branch git-svn-id: trunk@45143 --- commit 69c95115f6a9410d7067e624db594f5c5b03e5fe Author: nickysn Date: Mon Apr 27 22:03:36 2020 +0000 - removed GetHigh, GetNextReg, GetLastReg, GetOffsetReg and GetOffsetReg64 from cpubase. The methods in cg should be used instead, because they do better error checking on the register used. git-svn-id: trunk@45147 - M compiler/z80/cpubase.pas M compiler/z80/nz80mem.pas --- commit a5d36e1bc6578d7d0ee6bab5f5defeb71a21c499 Author: nickysn Date: Tue Apr 28 00:05:53 2020 +0000 + added Z80 helper functions is_regpair and split_regpair git-svn-id: trunk@45149 - M compiler/z80/cpubase.pas --- commit 491462fd023245fabbd711538a8fa57de3306bab Author: nickysn Date: Tue Apr 28 00:18:49 2020 +0000 + added another helper for register pairs: register_in git-svn-id: trunk@45150 - M compiler/z80/cpubase.pas --- commit db1ef439b5dee9f0fee101db4ea4a7119fbb1e3b Author: Károly Balogh Date: Tue Apr 28 01:17:29 2020 +0000 z80: sdasz80 won't do section smartlinking for us, but it's used for the zx spectrum target git-svn-id: trunk@45151 - M compiler/z80/agsdasz80.pas --- commit 23fc0fe66a9d780615f6cbf78f0fa955070ff426 Author: Károly Balogh Date: Tue Apr 28 01:23:31 2020 +0000 z80: added quick & dirty vasm assembler support to the target git-svn-id: trunk@45152 - M .gitattributes M compiler/systems.inc M compiler/systems/i_zxspectrum.pas A compiler/z80/agz80vasm.pas M compiler/z80/cputarg.pas --- commit 573d69c8fe2c62d414757b026140f1afd8bea956 Author: nickysn Date: Tue Apr 28 15:14:39 2020 +0000 * unfortunately tf_smartlink_sections is mutually exclusive with tf_smartlink_library, and defining both breaks sdasz80, so put this behind ifdef Z80_SMARTLINK_SECTIONS git-svn-id: trunk@45153 - M compiler/systems/i_zxspectrum.pas --- commit a506fe95602b940cb4a5baa3e448d486fb7bddf1 Author: pierre Date: Tue Apr 28 18:35:53 2020 +0000 Fix cross-compilation on aarch64-linux using -dFPC_SOFT_FPUX80 option git-svn-id: trunk@45154 - M compiler/z80/agsdasz80.pas M compiler/z80/agz80vasm.pas --- commit 589b2b956fbd6a738073b760f6e7298ba08c9736 Author: marcus Date: Tue Apr 28 18:41:45 2020 +0000 Fixed LLVM compilation after r45143 git-svn-id: trunk@45155 - M compiler/llvm/llvmbase.pas --- commit 6dbe1368ef95661336b3d81157dc67710f7e0795 Author: nickysn Date: Tue Apr 28 18:49:50 2020 +0000 + z80: added range checking for d in the (IX+d) and (IY+d) addressing modes in the sdasz80 assembler writer, because sdasz80 silently truncates d to shortint which produces broken code and hides bugs in the z80 code generator. The check is behind ifdef, because the system unit doesn't compile, when this check is enabled, due to bugs that were previously unnoticed. When these bugs are fixed, the ifdef will be removed. git-svn-id: trunk@45156 - M compiler/z80/agsdasz80.pas --- commit 07a8af33b16ce3e69e7d05630bc6b7071136cee7 Author: nickysn Date: Tue Apr 28 19:31:11 2020 +0000 + z80: generate correct code in do_spill_read and do_spill_written for spilling to temp offsets outside the range -128..127 git-svn-id: trunk@45157 - M compiler/z80/rgcpu.pas --- commit 86e04ddd5c5dc2024425c268e2132ebfb28798d3 Author: nickysn Date: Tue Apr 28 19:34:38 2020 +0000 + enable the sdasz80 lameness check permanently, because the system unit now compiles, and it's important to catch other similar errors also git-svn-id: trunk@45158 - M compiler/z80/agsdasz80.pas --- commit 50c221670f87d0ee44a000b2bfe47979787f0dba Author: florian Date: Tue Apr 28 21:25:42 2020 +0000 * do not generate moves unncesssarily in tcgloadparentfpnode.pass_generate_code git-svn-id: trunk@45162 - M compiler/ncgmem.pas --- commit 04bd105cf5d2446cf6953e424af99437327d2abc Author: Károly Balogh Date: Tue Apr 28 23:10:03 2020 +0000 z80: fix global symbols and section attributes in the vasm writer git-svn-id: trunk@45163 - M compiler/z80/agz80vasm.pas --- commit 60c73dd14be996d98af574de4ae98f99e56cdca7 Author: Károly Balogh Date: Tue Apr 28 23:10:35 2020 +0000 z80: fix typo in the previous commit git-svn-id: trunk@45164 - M compiler/z80/agz80vasm.pas --- commit 695a260ff80e53ba01376beb6ec8f0d7076851a2 Author: Károly Balogh Date: Wed Apr 29 01:32:48 2020 +0000 zxspectrum: added support for linking via vlink, and for pascal sysinit code. also some cleanup in the linker code git-svn-id: trunk@45169 - M compiler/systems.pas M compiler/systems/t_zxspectrum.pas --- commit cfb28c765471db145c14fd64749770266205c2b2 Author: nickysn Date: Wed Apr 29 02:00:26 2020 +0000 * fixed bug, causing the global variable stacksize to be destroyed git-svn-id: trunk@45171 - M compiler/z80/cgcpu.pas --- commit f8c2d4a6320417c267863bfcb026ca0b3d687702 Author: nickysn Date: Wed Apr 29 12:19:59 2020 +0000 * added comment, stating that Z80 has no condition subsets git-svn-id: trunk@45172 - M compiler/z80/cpubase.pas --- commit 6654faea084f0c50bba9a059f5593769a2be647f Author: nickysn Date: Wed Apr 29 14:53:21 2020 +0000 + build an instruction table cache for the Z80 git-svn-id: trunk@45173 - M compiler/z80/aasmcpu.pas --- commit 20e2a0eface9ee9e46ca52b173ad1c522402e55c Author: nickysn Date: Wed Apr 29 16:00:25 2020 +0000 + added Z80 register AF' git-svn-id: trunk@45174 - M compiler/z80/rz80con.inc M compiler/z80/rz80dwa.inc M compiler/z80/rz80nor.inc M compiler/z80/rz80num.inc M compiler/z80/rz80rni.inc M compiler/z80/rz80sri.inc M compiler/z80/rz80sta.inc M compiler/z80/rz80std.inc M compiler/z80/rz80sup.inc M compiler/z80/z80reg.dat --- commit 365e320119208fc45b355b96d743af7318c16b47 Author: nickysn Date: Wed Apr 29 16:25:52 2020 +0000 + partial implementation of taicpu.Matches git-svn-id: trunk@45175 - M compiler/z80/aasmcpu.pas --- commit 7f769f024b1772c5b7796b88bf21394a39cac89a Author: nickysn Date: Wed Apr 29 19:44:57 2020 +0000 * Z80: fixed code generation for pure assembler routines, that have no parameters, no local variables and no 'nostackframe' git-svn-id: trunk@45176 - M compiler/z80/cgcpu.pas --- commit 9e0337f2483a3b83187e09c55f1de6f66f8a690d Author: florian Date: Wed Apr 29 20:01:53 2020 +0000 * do not use an extra register in tcginlinenode.second_IncDec if not needed git-svn-id: trunk@45177 - M compiler/cg64f32.pas M compiler/cgobj.pas M compiler/ncginl.pas --- commit e08c7b3642a18d76bfbb16b94224fb17390fe3af Author: nickysn Date: Wed Apr 29 21:38:41 2020 +0000 + z80: added condition checking in taicpu.Matches git-svn-id: trunk@45178 - M compiler/z80/aasmcpu.pas M compiler/z80/cpubase.pas --- commit 5e90aa27d5435a07a44f5fbed44b2a5009a5a0ff Author: nickysn Date: Wed Apr 29 21:46:42 2020 +0000 - z80: oops, forgot to delete some code from taicpu.Matches git-svn-id: trunk@45179 - M compiler/z80/aasmcpu.pas --- commit d5b8e49da276f3fde5443de72e5c338fe6283bb5 Author: nickysn Date: Wed Apr 29 22:12:51 2020 +0000 + z80: implemented taicpu.FindInsentry git-svn-id: trunk@45180 - M compiler/z80/aasmcpu.pas --- commit 552107f577ddee5ac76eb2e8ee6e17cb94b49bb3 Author: nickysn Date: Wed Apr 29 22:21:40 2020 +0000 + z80: implemented taicpu.CheckIfValid git-svn-id: trunk@45181 - M compiler/z80/aasmcpu.pas --- commit a063a538638d32c10ee10e4f5210df43e3f719bc Author: nickysn Date: Wed Apr 29 23:23:20 2020 +0000 + handle OT_IMM_PORT in taicpu.Matches git-svn-id: trunk@45182 - M compiler/z80/aasmcpu.pas --- commit 4c021c100a496f2ca5e2c1d8bc8a376c7bd94516 Author: nickysn Date: Wed Apr 29 23:30:43 2020 +0000 + handle OT_REG8_C_PORT in taicpu.Matches git-svn-id: trunk@45183 - M compiler/z80/aasmcpu.pas --- commit a79d12ae415573a66f6e8f3aa83081f0877d2d2c Author: nickysn Date: Wed Apr 29 23:39:47 2020 +0000 + handle OT_RELJMP8 in taicpu.Matches git-svn-id: trunk@45184 - M compiler/z80/aasmcpu.pas --- commit 34112c932c36c7162f866b4460cbc3700bddc92f Author: nickysn Date: Wed Apr 29 23:45:09 2020 +0000 + handle OT_IMM8 and OT_IMM16 for getting symbol addresses in taicpu.Matches git-svn-id: trunk@45185 - M compiler/z80/aasmcpu.pas --- commit 2f4390ac9bb56128deeaa9d0c1a590388db9eb94 Author: nickysn Date: Wed Apr 29 23:51:23 2020 +0000 + added Z80 inline asm instruction validation git-svn-id: trunk@45186 - M compiler/ncgbas.pas --- commit 9b1eebd333fe8737fce6ac9b31b2c186e4c0849e Author: nickysn Date: Thu Apr 30 00:17:29 2020 +0000 + z80: add operand info to the result of taicpu.GetString, this makes the compiler produce nicer error messages, when it encounters an invalid instruction in inline asm code git-svn-id: trunk@45187 - M compiler/z80/aasmcpu.pas --- commit 19c1ecda547a4d1c97887a8479ada467bdd7ae8a Author: nickysn Date: Thu Apr 30 14:27:48 2020 +0000 + started work on the Z80 internal assembler git-svn-id: trunk@45191 - M .gitattributes A compiler/ogrel.pas M compiler/systems.inc M compiler/z80/cputarg.pas --- commit c0ffa18ee246fa8079c83e3461aa02a774c21dac Author: nickysn Date: Thu Apr 30 17:31:18 2020 +0000 + added class TRelObjOutput git-svn-id: trunk@45195 - M compiler/ogrel.pas --- commit cfe2d94b251692eadb8b6e188be60e5c7aa49efa Author: florian Date: Thu Apr 30 19:42:03 2020 +0000 * fix LLVM after r45177 git-svn-id: trunk@45198 - M compiler/ncginl.pas --- commit 89d9679b53d03e369e22b7cf92c9d5ec1dd2cf98 Author: Károly Balogh Date: Fri May 1 12:06:43 2020 +0000 m68k: have an arch-specific second_length implementation, to make sure length() doesn't return its result in an address register git-svn-id: trunk@45201 - M compiler/m68k/n68kinl.pas --- commit 871f60ef61e733b32cbd5b4c4baa9be196f33443 Author: svenbarth Date: Fri May 1 13:55:01 2020 +0000 * increase PPU version so that 3.2.0 correctly ignores 3.3.1 PPUs instead of fatally failing on the extended header entry git-svn-id: trunk@45209 - M compiler/ppu.pas --- commit 43e6d84f33a40cd994ea08cf3d02ce617da9d892 Author: florian Date: Fri May 1 20:50:18 2020 +0000 * GetCopyAndTypeCheck forces correct type * propagate forinline flag through simplify git-svn-id: trunk@45213 - M compiler/nadd.pas --- commit 0794878b41a2bf44dcefb86d202a0b23ca13af64 Author: florian Date: Fri May 1 20:50:19 2020 +0000 * allow recursive inlines, meanwhile, there are other means to avoid too deep recursion of inlining git-svn-id: trunk@45214 - M compiler/ncal.pas --- commit 950c1d1693007106f9c8449640ce5b91da4019b6 Author: nickysn Date: Sat May 2 02:35:03 2020 +0000 + enable the Z80 internal asm (which doesn't work, yet) if the compiler is compiled with -dZ80_INTERNAL_ASM git-svn-id: trunk@45215 - M compiler/systems/i_embed.pas M compiler/systems/i_zxspectrum.pas --- commit aa6209ab513c9c7b00c73a1d84fb3d5cd87cd5df Author: nickysn Date: Sat May 2 02:35:31 2020 +0000 + added an override of the abstract method TRelObjOutput.writeData (not implemented, yet) git-svn-id: trunk@45216 - M compiler/ogrel.pas --- commit e3870079b223386c5f71c993b69843a64f5fa44f Author: florian Date: Sat May 2 09:01:35 2020 +0000 * remove tempref mess for simple inlined functions git-svn-id: trunk@45217 - M compiler/nbas.pas M compiler/nutils.pas --- commit a61e18091a2275940cb7020abe3a0faee9ca03dc Author: florian Date: Sat May 2 09:29:36 2020 +0000 * compilation with -Oodfa fixed git-svn-id: trunk@45218 - M compiler/systems/t_freertos.pas --- commit 4d710518598a90b8debb01d145cb3af298d41377 Author: marcus Date: Sat May 2 09:32:11 2020 +0000 ppudump: catch exception on illegal datetime (mainly cross compiled units) git-svn-id: trunk@45219 - M compiler/utils/ppuutils/ppudump.pp --- commit de805fddcd15b4eaf9d92764d043d5527c30311b Author: florian Date: Sat May 2 12:33:46 2020 +0000 * properly force the result type after r45217 git-svn-id: trunk@45220 - M compiler/nbas.pas --- commit b6097a0300fbdb8a1d2a18429f3aea0e384b9782 Author: florian Date: Sun May 3 12:41:17 2020 +0000 * correctly handle result type of string constant nodes for internally created nodes git-svn-id: trunk@45231 - M .gitattributes M compiler/ncnv.pas A tests/tbs/tb0671.pp --- commit 3d2945726a482fb6c824e4feb8005782b40b7b75 Author: svenbarth Date: Sun May 3 15:08:31 2020 +0000 * handle generic parameters in Ord() + added test git-svn-id: trunk@45232 - M .gitattributes M compiler/ninl.pas A tests/tbs/tb0672.pp --- commit 8d1660893be11aa243991c52d4dcea7bf4d63a24 Author: florian Date: Sun May 3 15:18:08 2020 +0000 * compilation with -Oodfa fixed git-svn-id: trunk@45234 - M compiler/aarch64/agcpugas.pas --- commit 66a72cfb726bdc5370de99c0f6524469f1af218c Author: nickysn Date: Sun May 3 21:49:03 2020 +0000 + added build mode that enables the Z80 internal assembler git-svn-id: trunk@45239 - M compiler/ppcz80.lpi --- commit 244f1dd83c703b6ed07377cfa50b88d1fb23cfab Author: nickysn Date: Sun May 3 22:16:21 2020 +0000 + added class TRelObjData git-svn-id: trunk@45241 - M compiler/ogrel.pas --- commit 763e0a14fe4b1077e2dc03cb764bc1bed43e72a6 Author: nickysn Date: Sun May 3 22:22:26 2020 +0000 + override the abstract methods from TObjData.sectionname() and .writereloc(). Only sectionname() is implemented for now. git-svn-id: trunk@45242 - M compiler/ogrel.pas --- commit 8e23dc99a110b33a6e24ee75e2cd71c4564d6f1e Author: nickysn Date: Sun May 3 23:00:52 2020 +0000 + write the .rel file header and the list of external symbols git-svn-id: trunk@45243 - M compiler/ogrel.pas --- commit 92e86e7673c326fa09cc93c9ecc0abc2b05068be Author: nickysn Date: Sun May 3 23:10:14 2020 +0000 * the areas global symbols count must be in hex in the .rel format git-svn-id: trunk@45244 - M compiler/ogrel.pas --- commit bba56d627fd799e9d2daefdef6c6f3ad64abe7d0 Author: nickysn Date: Sun May 3 23:16:23 2020 +0000 + write the areas (sections) in the .rel output git-svn-id: trunk@45245 - M compiler/ogrel.pas --- commit 23fa725b0127903999c65e5068ff98e745f8354e Author: nickysn Date: Sun May 3 23:23:24 2020 +0000 + added the global symbols to the .rel output file git-svn-id: trunk@45246 - M compiler/ogrel.pas --- commit 27e9dde81a0738042331616aec0d3dc4f50edc43 Author: nickysn Date: Mon May 4 00:14:28 2020 +0000 + implemented pass1 (calcsize) of the instruction encoding for the Z80 internal asm git-svn-id: trunk@45247 - M compiler/z80/aasmcpu.pas --- commit 5d2be4da1cabec726ea95c0e7e5fb465a7f9a9c1 Author: nickysn Date: Mon May 4 00:20:50 2020 +0000 * Z80: match both signed and unsigned 16-bit constants as OT_IMM16 in the asm instab lookup git-svn-id: trunk@45248 - M compiler/z80/aasmcpu.pas --- commit 90ee079cd15ffbffc9309fd542686680e4606f95 Author: nickysn Date: Mon May 4 01:27:44 2020 +0000 + partial implementation of pass2 asm opcode generation for the Z80 internal asm writer git-svn-id: trunk@45249 - M compiler/ogrel.pas M compiler/z80/aasmcpu.pas --- commit 256597be580a279590586176daee4e9335b3140d Author: nickysn Date: Mon May 4 02:17:30 2020 +0000 + Z80 internal asm: produce correct opcodes for register operands git-svn-id: trunk@45250 - M compiler/z80/aasmcpu.pas --- commit ab878adfff2f9622574cc7f21fa6c29ad6f953b8 Author: nickysn Date: Mon May 4 02:31:19 2020 +0000 + actually produce relocations in TRelObjData.writeReloc git-svn-id: trunk@45251 - M compiler/ogrel.pas --- commit 724676db4315a9a3a5f26bb6e4c05f9c49f80ebf Author: florian Date: Mon May 4 19:58:45 2020 +0000 * Xtensa: patch by Christo Crause: fix addmi/addi handling, resolves #37015 git-svn-id: trunk@45258 - M compiler/xtensa/cgcpu.pas --- commit f1f819516ed91324c3b9680dc7c2cd9f10e3a423 Author: nickysn Date: Tue May 5 00:06:11 2020 +0000 + write the section data in the .rel internal object writer (relocations aren't written, yet) git-svn-id: trunk@45259 - M compiler/ogrel.pas --- commit 569c40611687015c57eae7bb15d1b814c6cb70ca Author: nickysn Date: Tue May 5 00:59:27 2020 +0000 + introduced the TRelRelocation class git-svn-id: trunk@45260 - M compiler/ogrel.pas --- commit 732f1d9df6b379ad8548d0b7348abf40b672aa7c Author: nickysn Date: Tue May 5 01:13:58 2020 +0000 + added TRelRelocationFlags git-svn-id: trunk@45261 - M compiler/ogrel.pas --- commit 03acadaf1ee9e47ae80d8287cdb9d5ea133089a7 Author: nickysn Date: Tue May 5 03:03:02 2020 +0000 + initialize size and relflags in TRelRelocation git-svn-id: trunk@45262 - M compiler/ogrel.pas --- commit 0d11b5bf29f896a93e3f3af271b92628f2efb00f Author: nickysn Date: Tue May 5 03:23:51 2020 +0000 + added method TRelRelocation.EncodeFlags that encodes the flags to string that can be included in the .rel file git-svn-id: trunk@45263 - M compiler/ogrel.pas --- commit 1b5ee0d063119990b66b0952d80ccba4f39c1fe7 Author: pierre Date: Tue May 5 12:20:21 2020 +0000 * Put all code adding cs_fp_emulation by default inside one big {$ifdef cpufpemu} * Add system_arm_freertos and system_xtena_linux to the list of systems that automatically add cs_fp_emulation to init_settings.moduleswitches. + Do not use controller specfic default fputype for xtensa-linux target that does not support use of -Wp option to set controller type. git-svn-id: trunk@45265 - M compiler/options.pas --- commit df275152c24173a66895698413d767f52602152c Author: pierre Date: Tue May 5 12:21:21 2020 +0000 Add -Wp option description for riscv32 and xtensa compiler git-svn-id: trunk@45266 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit f2b924573a2f26c134f2da49277afb8772fc0b37 Author: pierre Date: Tue May 5 12:25:18 2020 +0000 Do not use inherited first_int_to_real when arm FPU_HAS_FPA is in fpu_capabilities git-svn-id: trunk@45267 - M compiler/arm/narmcnv.pas --- commit 5193e8332cd0c3daf4f661a7cde271b13483e2af Author: nickysn Date: Tue May 5 19:51:44 2020 +0000 + also write the relocations in the .rel internal obj writer git-svn-id: trunk@45268 - M compiler/ogrel.pas --- commit 3ab5acccb175706526b82a53805d2cdb77366d0c Author: nickysn Date: Tue May 5 20:35:08 2020 +0000 * the parameter of WriteWord should be word, not byte :) git-svn-id: trunk@45269 - M compiler/z80/aasmcpu.pas --- commit a4695a7015b1a3b218cd15660e276230e5f9e776 Author: florian Date: Tue May 5 20:41:36 2020 +0000 * xtensa-embedded: fix setting of the fpu and abi git-svn-id: trunk@45270 - M compiler/options.pas M compiler/systems/i_embed.pas M compiler/xtensa/cpuinfo.pas --- commit 7dc6049de9a13b7d406accf3fb16c649adf2e6a5 Author: yury Date: Tue May 5 21:56:34 2020 +0000 * Release registers which have been used for a function call before adjusting the stack pointer. On i386 this allows to use eax,ecx,edx in POP instructions for stack adjustment. git-svn-id: trunk@45271 - M compiler/ncgcal.pas --- commit 4fed57adc13e75bc70c1495273cf9caa295c0d07 Author: nickysn Date: Tue May 5 22:18:44 2020 +0000 + lots of fixes to the Z80 internal asm writer git-svn-id: trunk@45272 - M compiler/ogbase.pas M compiler/ogrel.pas M compiler/z80/aasmcpu.pas --- commit 58d6d64fbadceaa81b96543fa2aaa02d88b971be Author: nickysn Date: Tue May 5 22:30:49 2020 +0000 + Z80 internal asm: support OT_REF_ADDR16 in taicpu.gencode.WrinteNN git-svn-id: trunk@45273 - M compiler/z80/aasmcpu.pas --- commit 3e14eddaf6137e2604fe3234da7b4721f9c3bd6b Author: nickysn Date: Tue May 5 22:42:21 2020 +0000 + support conditional operations in the Z80 internal asm git-svn-id: trunk@45274 - M compiler/z80/aasmcpu.pas --- commit 43686720c3225b2390c413452dece43a9b4f9d39 Author: nickysn Date: Tue May 5 22:45:40 2020 +0000 + fix for conditional JP in the Z80 internal asm writer git-svn-id: trunk@45275 - M compiler/z80/aasmcpu.pas --- commit 381be050a50fa99a05b168145c1b66e66a0c7d74 Author: nickysn Date: Tue May 5 23:05:37 2020 +0000 + support creating ar files in the Z80 internal obj writer git-svn-id: trunk@45276 - M compiler/ogrel.pas --- commit 6422e9a803ed33cc9208a0a375f5671b69f5a524 Author: nickysn Date: Tue May 5 23:12:52 2020 +0000 + align files in generated .a files not by #0, but by #10 (Line Feed). This is compatible with GNU ar and others, and fixes linking with sdcc-sdld. git-svn-id: trunk@45277 - M compiler/owar.pas --- commit be26429159dbcab219f1cab5ff4494ca89aa92bd Author: nickysn Date: Tue May 5 23:16:07 2020 +0000 * preserve the actual file size (before aligning it to even bytes), when adding files to .a archives git-svn-id: trunk@45278 - M compiler/owar.pas --- commit 0a0935990636b0600c4cd5a606eb145002614414 Author: nickysn Date: Tue May 5 23:30:44 2020 +0000 + support the RST instruction in the Z80 internal asm writer git-svn-id: trunk@45279 - M compiler/z80/aasmcpu.pas --- commit b164f5aa65ade5e2cb8b2a3861bd73cc8fcd3baf Author: nickysn Date: Tue May 5 23:42:09 2020 +0000 + support relative jumps in the Z80 internal asm writer git-svn-id: trunk@45280 - M compiler/z80/aasmcpu.pas --- commit c81f433795128811d65ee618a1e2b5a17fd8965b Author: nickysn Date: Tue May 5 23:49:41 2020 +0000 + Z80: support conditional JR git-svn-id: trunk@45281 - M compiler/z80/cpubase.pas --- commit 6764056eff5104edaf5eef1cd8dbdec087ad67ec Author: nickysn Date: Tue May 5 23:58:54 2020 +0000 + support the 'in A,(n)' and 'out (n),A' instrunction in the Z80 internal asm writer git-svn-id: trunk@45282 - M compiler/z80/aasmcpu.pas --- commit 11a7b8592f043c9d4f5bf98379afb1aa9bc7ec49 Author: nickysn Date: Wed May 6 00:10:17 2020 +0000 + support instructions like BIT, SET and RES in the Z80 internal asm writer git-svn-id: trunk@45283 - M compiler/z80/aasmcpu.pas --- commit 0d402a13419f68233a97b28919abb3dea383333f Author: nickysn Date: Wed May 6 00:13:10 2020 +0000 + support signed 8-bit immediate constants in the Z80 internal asm writer as well git-svn-id: trunk@45284 - M compiler/z80/aasmcpu.pas --- commit 997184778a01718472c29a67e70ceadb32194e47 Author: nickysn Date: Wed May 6 00:22:22 2020 +0000 + call ApplyAsmSymbolRestrictions for symbols that should be exported from ar files git-svn-id: trunk@45285 - M compiler/ogbase.pas --- commit 0caba1e84df0a72ac4c3fcf71dc688854360d2d0 Author: nickysn Date: Wed May 6 00:38:55 2020 +0000 + added internal error in taicpu.gencode.WriteNN to catch unhandled asm instructions git-svn-id: trunk@45286 - M compiler/z80/aasmcpu.pas --- commit bface9fd9470d0a8fc68ce8b3d8c98540a7d7038 Author: nickysn Date: Wed May 6 00:44:35 2020 +0000 - reverted previous commit, since it was incorrect git-svn-id: trunk@45287 - M compiler/z80/aasmcpu.pas --- commit 4aba225c8bf7e64fee347d77557731fce563618f Author: nickysn Date: Wed May 6 01:57:38 2020 +0000 + fix for writing absolute relocations in the .rel format git-svn-id: trunk@45288 - M compiler/ogrel.pas --- commit 616cb382922c96086cdf5f9298f690af5d003429 Author: nickysn Date: Wed May 6 02:52:28 2020 +0000 * fixed the TRelocDataInt to avoid truncating 16-bit addresses to 8-bit on 8-bit CPUs git-svn-id: trunk@45289 - M compiler/ogbase.pas --- commit 75ce122d36626cfb3423bbc2a1273bdfba1765f8 Author: nickysn Date: Wed May 6 03:24:15 2020 +0000 - removed commented out writeln git-svn-id: trunk@45290 - M compiler/z80/aasmcpu.pas --- commit c1d124d497149d4ffa1998e9c84d9eeffc04b04a Author: yury Date: Wed May 6 14:18:44 2020 +0000 * x86: Fixed peephole optimization introduced in r44233. tb0219 and tb0548 tests have failed with -O2 since then. * Added variants of the tb0219 and tb0548 tests with forced -O2. git-svn-id: trunk@45291 - M .gitattributes M compiler/x86/aoptx86.pas A tests/tbs/tb0219a.pp A tests/tbs/tb0548a.pp --- commit 40504a6f9de8930c6e308427631af0ab225dcbdb Author: yury Date: Wed May 6 14:43:49 2020 +0000 * If a nested procedure does not access its parent's frame pointer, optimize it by removing the hidden $parentfp parameter. * Improved the tisogoto1.pp test. git-svn-id: trunk@45292 - M compiler/defcmp.pas M compiler/nmem.pas M compiler/pexpr.pas M compiler/procinfo.pas M compiler/pstatmnt.pas M compiler/psub.pas M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp M tests/test/tisogoto1.pp --- commit 56b79257a12806069a13c2b655becbfb2d4c1022 Author: nickysn Date: Wed May 6 20:41:01 2020 +0000 * fixed fpmake invokation when building an i386-linux snapshot on a x86_64-linux host git-svn-id: trunk@45298 - M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcm/fpcmake.inc M utils/fpcm/fpcmake.ini M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihx2tzx/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile --- commit 5aaf863d560f9d6dc88fc511a27bbab06ed96a23 Author: nickysn Date: Wed May 6 21:24:19 2020 +0000 * only call cg64.a_XXX_loc for LOC_(C)REFERENCE and LOC_(C)REGISTER locations in tcginlinenode.second_AndOrXorShiftRot_assign git-svn-id: trunk@45301 - M compiler/ncginl.pas --- commit 52572e10e92018a165096c9a530b4cb7d4cee936 Author: nickysn Date: Thu May 7 02:57:57 2020 +0000 * i8086 compilation fixed after r45302 git-svn-id: trunk@45303 - M compiler/i8086/cgcpu.pas --- commit 4f4d8191f00d34702cdc0f9b10ec90bc257fb75c Author: nickysn Date: Thu May 7 03:34:20 2020 +0000 + generate more optimal code for OP_NOT and OP_NEG in tcg64f8086.a_op64_ref git-svn-id: trunk@45304 - M compiler/i8086/cgcpu.pas --- commit 92043c6e209ba987b8326b8abd2ae9b0a5f81b52 Author: nickysn Date: Thu May 7 11:51:58 2020 +0000 * call inherited in tcg64f8086.a_op64_reg_ref for OP_NEG and OP_NOT, because it is handled differently after r45302 git-svn-id: trunk@45305 - M compiler/i8086/cgcpu.pas --- commit f8e7d0bc097fdae022c6e4e2fc22ee61cbf63ecd Author: florian Date: Thu May 7 20:36:09 2020 +0000 - remove unused files, resolves #37032 git-svn-id: trunk@45306 - M .gitattributes D compiler/cpid.pas D compiler/cwindirs.pp --- commit fc5c35362bf995ea3d9c4c5ed087da508f7fc90e Author: Károly Balogh Date: Thu May 7 23:30:13 2020 +0000 m68k: preparations for upcoming full instruction tables, mostly converting code away from using sets of opcodes git-svn-id: trunk@45307 - M compiler/m68k/ag68kgas.pas M compiler/m68k/aoptcpu.pas M compiler/m68k/cgcpu.pas M compiler/m68k/ra68kmot.pas M compiler/m68k/rgcpu.pas --- commit 4d428d945ec6e13053cd96536bb3baad6149c66b Author: nickysn Date: Fri May 8 00:53:05 2020 +0000 + use ApplyAsmSymbolRestrictions on all symbols in the NASM writer git-svn-id: trunk@45308 - M compiler/x86/agx86nsm.pas --- commit d5874b00881a7323897b6d80e9cea2dbfddcf0b6 Author: Károly Balogh Date: Fri May 8 12:05:11 2020 +0000 m68k: added a full instruction table (minus CF MAC/EMAC instructions for now), based on vasm, and the required tool to process it git-svn-id: trunk@45310 - M .gitattributes A compiler/m68k/m68kins.dat A compiler/utils/mk68kins.pp --- commit bc9b8af04b6dbecc12d22b592a4e4790e21ee3ff Author: Károly Balogh Date: Fri May 8 12:11:13 2020 +0000 m68k: add the converted includes, based on m68kins.dat git-svn-id: trunk@45311 - M .gitattributes A compiler/m68k/m68knop.inc A compiler/m68k/m68kop.inc A compiler/m68k/m68kstd.inc A compiler/m68k/m68ktab.inc --- commit 6753f869878e39ec6d0a4bfce351861c5f69a462 Author: Károly Balogh Date: Fri May 8 12:33:04 2020 +0000 m68k: migrate the compiler to the new instruction tables and drop the old ones git-svn-id: trunk@45312 - M compiler/m68k/ag68kgas.pas M compiler/m68k/cpubase.pas M compiler/m68k/itcpugas.pas --- commit 04a42bef84f38626ea7fbfb102ac949d1b819e6a Author: Károly Balogh Date: Fri May 8 21:06:59 2020 +0000 m68k: fixed instruction code formatting in the generated include git-svn-id: trunk@45314 - M compiler/m68k/m68ktab.inc M compiler/utils/mk68kins.pp --- commit bd19575f92a952a6189349c9fef5e17194ad0cde Author: Jonas Maebe Date: Sat May 9 10:08:35 2020 +0000 * fixed -Cl options now showing in the help of an LLVM compiler (and fixed them to read -Cl rather than -CL) git-svn-id: trunk@45316 - M compiler/msg/errore.msg M compiler/msgtxt.inc --- commit bdabf674e1c9cae5387bc3abe884fb1b17545c98 Author: florian Date: Sat May 9 17:36:36 2020 +0000 * propagate forinline git-svn-id: trunk@45319 - M compiler/nadd.pas --- commit a316229ef67f1c58f6b33996637e888f11cf72cf Author: yury Date: Sat May 9 17:52:17 2020 +0000 * Always use parentfp for forward-declared nested procedures. git-svn-id: trunk@45320 - M .gitattributes M compiler/ncal.pas M compiler/symdef.pas A tests/test/tnest2.pp --- commit 254d0c0e2c7384bb225f8376cb1fce78d4047cd7 Author: yury Date: Sat May 9 20:45:00 2020 +0000 * Do not perform optimization of nested procedures for: - targets which use a special struct to access parent's variables; - pure assembler procedures (for compatibility with old code). git-svn-id: trunk@45322 - M compiler/psub.pas --- commit 7cda3d9e57c4cab68647b2de91179c13472fadcf Author: yury Date: Sat May 9 21:53:43 2020 +0000 * Code formatting. git-svn-id: trunk@45323 - M compiler/procinfo.pas M compiler/symdef.pas --- commit ebcae70d72fc7a381f3cebd8760e3634eadda5cc Author: florian Date: Sun May 10 15:25:31 2020 +0000 * avoid unncessary conversions of constants in 64 bit ints when doing constant folding git-svn-id: trunk@45326 - M compiler/nadd.pas --- commit e5e386f94ab4f87880c4358e40dbc31a22e50ea2 Author: florian Date: Sun May 10 18:41:10 2020 +0000 * cosmetics git-svn-id: trunk@45327 - M compiler/nadd.pas --- commit 2a2ec77b10bf6f25093123f55616c5791bfe9eb1 Author: florian Date: Sun May 10 19:41:13 2020 +0000 * improved heuristics for auto-inlining git-svn-id: trunk@45328 - M compiler/psub.pas --- commit 0fbd418cb739d5cb4dfc4c21ce6e67e7d17dc961 Author: svenbarth Date: Sun May 10 20:46:08 2020 +0000 * generate CFI data only if we're either using it for exception handling or if debug output is enabled (or should this only be generated for targets that in theory support DWARF exception handling?). This removes unnecessary bloat from e.g. Windows binaries git-svn-id: trunk@45330 - M compiler/cfidwarf.pas --- commit b581751ef339554b63e2556db2643e421829a1be Author: nickysn Date: Mon May 11 00:46:24 2020 +0000 - cleaned up some x86-specific code from the Z80 inline asm reader git-svn-id: trunk@45331 - M compiler/z80/raz80asm.pas --- commit 9ce97e6ba58f78ee3132c6a9b4e252506560f055 Author: nickysn Date: Mon May 11 00:55:32 2020 +0000 + also recognize alternate registers in the Z80 inline asm scanner. This allows the "EX AF,AF'" instruction to be accepted and assembled as well. git-svn-id: trunk@45332 - M compiler/z80/raz80asm.pas --- commit 06a728df246871ebdf1dad443f12df695617f425 Author: nickysn Date: Mon May 11 04:23:02 2020 +0000 + added the alternate Z80 register pairs BC', DE' and HL' git-svn-id: trunk@45333 - M compiler/z80/rz80con.inc M compiler/z80/rz80dwa.inc M compiler/z80/rz80nor.inc M compiler/z80/rz80num.inc M compiler/z80/rz80rni.inc M compiler/z80/rz80sri.inc M compiler/z80/rz80sta.inc M compiler/z80/rz80std.inc M compiler/z80/rz80sup.inc M compiler/z80/z80reg.dat --- commit 5947adcd7bdd21d7acee39eafc39266ef4776e93 Author: nickysn Date: Mon May 11 14:21:26 2020 +0000 + added a correct implementation of TAOptBase.SuperRegistersEqual for the Z80 git-svn-id: trunk@45337 - M compiler/aoptbase.pas M compiler/z80/cpubase.pas --- commit 4263ff44c1fd7fb1c061a79b6c1d67e24e48120d Author: nickysn Date: Mon May 11 15:29:42 2020 +0000 + Z80: added a registers_interfere helper function git-svn-id: trunk@45338 - M compiler/z80/cpubase.pas --- commit 531cc0ab0d1b22803a1e5b55a4ba7782f853c375 Author: nickysn Date: Mon May 11 16:00:27 2020 +0000 + introduced TAOptBase.RegistersInterfere (which might not always be equivalent to SuperRegistersEqual) git-svn-id: trunk@45339 - M compiler/aoptbase.pas --- commit 1f8a9c708efd1f18f40aefe98e2cf3f3393cf07d Author: nickysn Date: Mon May 11 17:18:00 2020 +0000 * use RegistersInterfere instead of SuperRegistersEqual in TAoptBase.RegInOp and TAoptBase.RegInRef git-svn-id: trunk@45340 - M compiler/aoptbase.pas --- commit b98cc1ebfff7b107ae3429844e19a78e1c68bdd1 Author: nickysn Date: Mon May 11 18:03:29 2020 +0000 + added subregisters for the Z80 flags git-svn-id: trunk@45341 - M compiler/cgbase.pas --- commit 4abc498f2f37d6b789eb3229779f6e716119a479 Author: nickysn Date: Mon May 11 19:17:31 2020 +0000 + added the Z80 individual flag bits as subregisters git-svn-id: trunk@45342 - M compiler/rgbase.pas M compiler/z80/rz80con.inc M compiler/z80/rz80dwa.inc M compiler/z80/rz80nor.inc M compiler/z80/rz80num.inc M compiler/z80/rz80rni.inc M compiler/z80/rz80sri.inc M compiler/z80/rz80sta.inc M compiler/z80/rz80std.inc M compiler/z80/rz80sup.inc M compiler/z80/z80reg.dat --- commit 05091cf0dda02c86b90f46a20d1aff82309fa1ca Author: florian Date: Mon May 11 21:14:06 2020 +0000 + MovAndTest2Test optimization git-svn-id: trunk@45343 - M compiler/x86/aoptx86.pas --- commit bb4d7a7a50d593ec2a1676f105c43b0411e90063 Author: nickysn Date: Mon May 11 22:24:20 2020 +0000 + Z80: implemented TCpuAsmOptimizer.InstructionLoadsFromReg git-svn-id: trunk@45344 - M compiler/z80/aoptcpu.pas --- commit fe120269595d5fd1a50660fda2f374f2de341117 Author: nickysn Date: Mon May 11 23:55:23 2020 +0000 + support the LD instruction in TCpuAsmOptimizer.RegLoadedWithNewValue git-svn-id: trunk@45345 - M compiler/z80/aoptcpu.pas --- commit c6c834949fd50d42e5b724ba4a5981ea13f9c5c3 Author: nickysn Date: Tue May 12 01:47:58 2020 +0000 + Z80: support all the flags subregisters in super_registers_equal git-svn-id: trunk@45346 - M compiler/z80/cpubase.pas --- commit 4beb4bf8b20a899174a472a7c5a5c52c54f01bc5 Author: nickysn Date: Tue May 12 01:58:10 2020 +0000 + Z80: support the flags subregisters in the registers_interfere function git-svn-id: trunk@45347 - M compiler/z80/cpubase.pas --- commit 7dbab3a78f0cefad954346be023db3f0460e407a Author: florian Date: Tue May 12 20:43:15 2020 +0000 * handle OP_XOR for a full mm register correctly in tcgx86.opmm_loc_reg git-svn-id: trunk@45348 - M compiler/x86/cgx86.pas --- commit 7a60e044e3bec9814d891d1761bea3445eca284f Author: florian Date: Wed May 13 20:26:04 2020 +0000 * simplify constant expressions after re-ordering, resolves #37062 git-svn-id: trunk@45360 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw37062.pp --- commit a2174753c1a89a039af948b9b7a72142b3fb6324 Author: Jonas Maebe Date: Wed May 13 21:46:29 2020 +0000 - removed tabstractrecorddef.get_unit_symtable, which did not always return the unit symtable (when you had a local recorddef in a procdef) * modified tdef.get_top_level_symtable() so you can specify whether you want to skip procdefs or not * changed tobjectdef.vmt_def() to no longer require a typesym for the tobjectdef (based on patch by Blaise) git-svn-id: trunk@45361 - M compiler/symcreat.pas M compiler/symdef.pas M compiler/symtable.pas M compiler/symtype.pas --- commit 1df56495b7bc2d97b6506537f34e45f46e19456c Author: Károly Balogh Date: Thu May 14 15:23:27 2020 +0000 * fix a typo in a comment. no functional change git-svn-id: trunk@45364 - M compiler/aasmcnst.pas --- commit 4559620efaefd84906cb6dff08ae912c662eaf13 Author: florian Date: Thu May 14 21:16:12 2020 +0000 * patch by Reynaldo to generate kernel image for the raspi2 embedded port, resolves #27052 git-svn-id: trunk@45365 - M compiler/systems/t_embed.pas --- commit 37b607143a8ed79e9cc4e497535970d539cb2933 Author: nickysn Date: Thu May 14 22:44:48 2020 +0000 + handle the flags register bits for many Z80 instructions in TCpuAsmOptimizer.RegLoadedWithNewValue git-svn-id: trunk@45366 - M compiler/z80/aoptcpu.pas --- commit b239365479351d525b6cf372e7defea70d486f7f Author: florian Date: Fri May 15 21:25:30 2020 +0000 * improved LeaLea2Lea git-svn-id: trunk@45372 - M compiler/x86/aoptx86.pas --- commit f0edd62b88df48c4a4d97f5038bc6e35433f542d Author: nickysn Date: Sat May 16 00:03:54 2020 +0000 + Z80: report flags register information in TCpuAsmOptimizer.RegLoadedWithNewValue for 16-bit ADD,ADC,SBC,INC and DEC git-svn-id: trunk@45373 - M compiler/z80/aoptcpu.pas --- commit 2c8db3bb9ebf1e76b6a30cf16f3e9ed188018d69 Author: Károly Balogh Date: Sat May 16 13:47:18 2020 +0000 m68k: add support for bitfield instructions as CPU capability git-svn-id: trunk@45383 - M compiler/m68k/cpuinfo.pas --- commit d9eddc50fd7d1d3b9becfc1f4706113bb49bcffd Author: florian Date: Sat May 16 15:51:48 2020 +0000 * fix spilling for PAND, POR and PXOR, resolves #37084 git-svn-id: trunk@45388 - M compiler/x86/rgx86.pas --- commit c38efe6d18f2b49a3e6dd58b8a45019543034462 Author: Károly Balogh Date: Sat May 16 19:15:52 2020 +0000 m68k: tabs to spaces and indentation fix, no functional change git-svn-id: trunk@45389 - M compiler/m68k/cgcpu.pas --- commit 5502d6cc58baeedaa471cbf75ec57509dd3a3c51 Author: nickysn Date: Sat May 16 19:58:37 2020 +0000 + Z80: report the flags usage for all the remaining instructions in TCpuAsmOptimizer.RegLoadedWithNewValue git-svn-id: trunk@45390 - M compiler/z80/aoptcpu.pas --- commit 63af4e173dc10c05c6ace5158732eb1f6bb053dd Author: nickysn Date: Sat May 16 20:33:44 2020 +0000 + z80: handle all instructions in TCpuAsmOptimizer.RegLoadedWithNewValue git-svn-id: trunk@45391 - M compiler/z80/aoptcpu.pas --- commit b54d9cfecbf88fade10380b310742c78d002dcad Author: nickysn Date: Sun May 17 11:35:42 2020 +0000 * fixed IsJumpToLabelUncond for the Z80 git-svn-id: trunk@45397 - M compiler/aoptobj.pas --- commit 13028db5a4418508c42143c2574275f9d2b0f158 Author: nickysn Date: Sun May 17 14:38:57 2020 +0000 - z80: disable regvars, because they don't work git-svn-id: trunk@45402 - M compiler/z80/cpuinfo.pas --- commit fcf2cd2bea510174b60d78d534d331aa2477b5f9 Author: florian Date: Sun May 17 17:41:43 2020 +0000 * boolean or/and nodes might be swapped when they have no side effect, in case of short boolean evaluation, firstcomplex is not called so this does not hurt short boolean evaluation git-svn-id: trunk@45403 - M compiler/ncgutil.pas --- commit 97efb03ae67b7035d31b89984f04ba301198b7da Author: florian Date: Sun May 17 17:41:44 2020 +0000 * call x86 addordinal for non short boolean evaluated boolean nodes as this results in better code git-svn-id: trunk@45404 - M compiler/x86/nx86add.pas --- commit af0ba7be83258ee9f9b21f45fd645abf093953ed Author: florian Date: Sun May 17 18:14:48 2020 +0000 * when auto-inlining is used, do not require that inlining is explicitly turned on git-svn-id: trunk@45405 - M compiler/psub.pas --- commit edcc14a5ce33716e0e51d37dd4e281c0465ac369 Author: nickysn Date: Sun May 17 23:38:23 2020 +0000 * Z80: JR can be both conditional and uncoditional jump, just like JP git-svn-id: trunk@45411 - M compiler/aoptobj.pas M compiler/z80/aoptcpub.pas --- commit 9b54588d75372d25f022459da9bfe131e7a23795 Author: florian Date: Mon May 18 21:28:45 2020 +0000 + PXorPXor2PXor optimization git-svn-id: trunk@45430 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 2808873d1bc4e9cfea75304d1e99f39691298657 Author: yury Date: Tue May 19 13:17:47 2020 +0000 * Reworked the optimization of unused $parentfp for nested routines. - Do not remove the $parentfp parameter as was done in the previous optimization approach. Instead when $parentfp is unused to the following: - On the caller side: Omit passing the value for $parentfp for targets where tcgcallparanode.push_zero_sized_value_para=false (classic CPU targets). Pass 0/nil as $parentfp for targets where tcgcallparanode.push_zero_sized_value_para=true; - On the callee side: Prevent allocation of registers/resources for $parentfp. - When possible keep $parentfp in a register. - Set the pio_nested_access flag in tprocinfo.set_needs_parentfp() to properly handle deep nesting levels; git-svn-id: trunk@45436 - M compiler/dbgbase.pas M compiler/defcmp.pas M compiler/ncgcal.pas M compiler/ncgmem.pas M compiler/ncgnstmm.pas M compiler/ncgutil.pas M compiler/nld.pas M compiler/nmem.pas M compiler/pparautl.pas M compiler/procinfo.pas M compiler/psub.pas M compiler/symdef.pas --- commit afc568cf93fdfaa09f75eb0ab65d3cbaa2f628f0 Author: yury Date: Tue May 19 14:01:19 2020 +0000 * Fixed the jvm target after r45436. git-svn-id: trunk@45437 - M compiler/ncgnstmm.pas --- commit 30e61067a0ee062c25830ca4aa5415972a0dc5c2 Author: yury Date: Tue May 19 14:09:54 2020 +0000 * It is needed to mark $parentfp as used for all targets. git-svn-id: trunk@45438 - M compiler/pparautl.pas --- commit 9d1c81438706b4f59bc37d7f7905e59617dd48ac Author: yury Date: Tue May 19 14:14:16 2020 +0000 * Added the thlcgobj.a_load_undefined_cgpara() method to pass an undefined value as a parameter to a routine. The generic version passes the 0/nil value if the parameter's location is not a register. * Use a_load_undefined_cgpara() to load values for unused parameters. git-svn-id: trunk@45439 - M compiler/hlcgobj.pas M compiler/ncgcal.pas --- commit 15baa272fecd73081cb57d776969aedfcf7ba1e3 Author: florian Date: Tue May 19 20:34:41 2020 +0000 * exceptions are side effects which must be considered in boolean expressions git-svn-id: trunk@45441 - M compiler/ncgutil.pas --- commit 4f707c3d7eb52dc9199a7f369436ba964dbb67d8 Author: florian Date: Wed May 20 20:10:15 2020 +0000 * patch by Karl-Michael Schindler to update the German help files, resolves #37122 git-svn-id: trunk@45448 - M compiler/msg/errord.msg M compiler/msg/errordu.msg --- commit 2507c1ace69387df7feb0d805cb33ec6611089d7 Author: nickysn Date: Wed May 20 20:20:10 2020 +0000 * Reg1ReadDependsOnReg2 moved to TAoptBaseCpu * use Reg1ReadDependsOnReg2 in TAoptBaseCpu.RegModifiedByInstruction to handle properly Z80 subregisters git-svn-id: trunk@45449 - M compiler/z80/aoptcpu.pas M compiler/z80/aoptcpub.pas --- commit cc47a49c81781928ec5a59e127d0040dcce8a855 Author: nickysn Date: Wed May 20 20:57:59 2020 +0000 + Z80: handle all instructions that modify registers, that are not an operand in TAoptBaseCpu.RegModifiedByInstruction git-svn-id: trunk@45450 - M compiler/z80/aoptcpub.pas --- commit 88b6bbe6cc9815f45f954e955a2c0d1d69e82c62 Author: nickysn Date: Wed May 20 21:02:46 2020 +0000 * compilation fixed after r45450 git-svn-id: trunk@45451 - M compiler/z80/aoptcpub.pas --- commit 56632b720c4b0dfe65586504aad09855984e8cdf Author: nickysn Date: Wed May 20 21:21:26 2020 +0000 + Z80: handle the flags register in TAoptBaseCpu.RegModifiedByInstruction git-svn-id: trunk@45452 - M compiler/z80/aoptcpub.pas --- commit 627fcb4354a9027f4008b793050a60e66e482958 Author: yury Date: Thu May 21 09:36:40 2020 +0000 * Do not use the LOC_VOID location to indicate unused parameters. * Added the tprocdef.parentfpsym property. Set parentfpsym.varstate to vs_read instead of using the pio_needs_parentfp flag. * Replaced tcgcallparanode.push_zero_sized_value_para by tparamanager.has_strict_proc_signature. git-svn-id: trunk@45454 - M compiler/jvm/cpupara.pas M compiler/jvm/njvmcal.pas M compiler/llvm/llvmpara.pas M compiler/llvm/nllvmcal.pas M compiler/ncal.pas M compiler/ncgcal.pas M compiler/ncgmem.pas M compiler/ncgnstmm.pas M compiler/ncgutil.pas M compiler/nmem.pas M compiler/paramgr.pas M compiler/pparautl.pas M compiler/procinfo.pas M compiler/symconst.pas M compiler/symdef.pas M compiler/symsym.pas M compiler/utils/ppuutils/ppudump.pp --- commit 4caa471a241bc1bb67d6374bd831e1f58687dc41 Author: Jonas Maebe Date: Thu May 21 10:56:39 2020 +0000 * implemented a_load_undefined_cgpara for LLVM, fixes LLVM code generator after the changes to optimize unused parentfp parameters git-svn-id: trunk@45456 - M compiler/llvm/hlcgllvm.pas --- commit 5be84e807933f3bb545db3502e9787d5e0b271a2 Author: Jonas Maebe Date: Fri May 22 13:11:52 2020 +0000 * replaced custom packed record with tmethod git-svn-id: trunk@45465 - M compiler/ncnv.pas --- commit e76f9e5b36e164ef69a4ba68cb10c21520aba710 Author: florian Date: Fri May 22 20:54:45 2020 +0000 * patch by Christo Crause: fix register search on xtensa, resolves #37121 git-svn-id: trunk@45467 - M compiler/xtensa/cpubase.pas M compiler/xtensa/itcpugas.pas --- commit 58af742f3a57c156531c3e46332dd558194c77ef Author: Károly Balogh Date: Sat May 23 11:13:07 2020 +0000 m68k: atari syscalls might also destroy D2 and A2 git-svn-id: trunk@45469 - M compiler/m68k/cpupara.pas --- commit 6cc818cbe3e70ce85c23f3f6bba6bc22f79909a4 Author: Károly Balogh Date: Sat May 23 12:13:30 2020 +0000 m68k: avoid more vlink warnings regarding changed section attributes, when the target system has no write-protected sections git-svn-id: trunk@45470 - M compiler/aggas.pas --- commit 8f0a3cfce77aee2a6a85f76c1eeb5615d45cd7f9 Author: florian Date: Sat May 23 17:50:13 2020 +0000 * x86-64: adjust stack by push/pop if possible git-svn-id: trunk@45476 - M compiler/x86/cgx86.pas M compiler/x86_64/cgcpu.pas --- commit 809fb8333433fb37349425d52b026fa43a99d61c Author: florian Date: Sat May 23 17:50:14 2020 +0000 * adapt optimizer to handle push/pop for stack alignment * adapt test git-svn-id: trunk@45477 - M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas M tests/test/tasm23b.pp --- commit aa243faab836d9287b124de54ef2fe125d556198 Author: Jonas Maebe Date: Sat May 23 19:03:14 2020 +0000 * do not load unused parameters, as their localloc has not been set (and there is no point in doing so if it were) o fixes compilation of RTL with LLVM/AArch64 git-svn-id: trunk@45478 - M compiler/hlcgobj.pas --- commit 0bce44e342eeda9f92a915132e88de456b867637 Author: florian Date: Sat May 23 21:33:14 2020 +0000 * compilation on i386 fixed git-svn-id: trunk@45480 - M compiler/x86/aoptx86.pas --- commit 3d81c8e51d16f919680b66b71d3fa68a7d66b177 Author: florian Date: Sun May 24 13:56:41 2020 +0000 * re-activate copy_mm: using it instead of movs might reduce register pressure git-svn-id: trunk@45482 - M compiler/x86/cgx86.pas --- commit 78381bd1ae37be8526eae9e6979c55c687f71d67 Author: florian Date: Sun May 24 13:56:42 2020 +0000 * x86 has to use newalignment as well git-svn-id: trunk@45483 - M compiler/x86/nx86mem.pas --- commit 82a3877126afb9658096f981be0ebe1ac2d18a59 Author: florian Date: Sun May 24 17:52:05 2020 +0000 + x86: track use of full ymm registers and generate vzeroupper if needed git-svn-id: trunk@45484 - M compiler/globtype.pas M compiler/i386/cgcpu.pas M compiler/utils/ppuutils/ppudump.pp M compiler/x86_64/cgcpu.pas --- commit 93eb40b05c4157a929a6cf9c4946c0bda6812833 Author: florian Date: Sun May 24 17:52:06 2020 +0000 * create vpxor instead of pxor in avx mode git-svn-id: trunk@45485 - M compiler/x86/cgx86.pas --- commit 88c98a57419e0aff7c3ba8b7478cdb119c5e7ccd Author: florian Date: Sun May 24 17:52:07 2020 +0000 * improve copy_avx gencopy mode git-svn-id: trunk@45486 - M compiler/x86/cgx86.pas --- commit afb68dbcf35ecfb9a3b5671ae481981423b4e0e5 Author: florian Date: Sun May 24 17:52:07 2020 +0000 * factored out OptPass1VPXor git-svn-id: trunk@45487 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 84a1f614d96a2104f99e3be8b707846462ad0c62 Author: florian Date: Sun May 24 17:52:09 2020 +0000 * fix several double ; git-svn-id: trunk@45488 - M compiler/aarch64/racpugas.pas M compiler/aasmtai.pas M compiler/cgexcept.pas M compiler/fmodule.pas M compiler/jvm/cpupara.pas M compiler/nbas.pas M compiler/nset.pas M compiler/objcgutl.pas M compiler/paramgr.pas M compiler/pkgutil.pas M compiler/powerpc64/nppcadd.pas M compiler/rautils.pas M compiler/symtable.pas M compiler/utils/ppuutils/ppuout.pp M compiler/x86/aasmcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/cgcpu.pas --- commit 36323fe424c1b3e543c4706dacd3754a806e7814 Author: nickysn Date: Sun May 24 22:47:54 2020 +0000 * always use 1-byte section alignment for the rel internal obj writer git-svn-id: trunk@45490 - M compiler/ogrel.pas --- commit e8af7427bb0ead629eea25ac86556605b1dea252 Author: nickysn Date: Mon May 25 00:16:38 2020 +0000 * the len parameter of TObjData.alloc changed to TObjSectionOfs git-svn-id: trunk@45491 - M compiler/ogbase.pas --- commit 850964f321a46cad5912ceba6a7d682deb144279 Author: nickysn Date: Mon May 25 00:17:29 2020 +0000 + also write sections with no data in the .rel internal obj writer git-svn-id: trunk@45492 - M compiler/ogrel.pas --- commit 362d2b50df8d28dd4f769b6c90a18e23d5edf12d Author: nickysn Date: Mon May 25 00:32:55 2020 +0000 + enable the Z80 internal assembler git-svn-id: trunk@45493 - M compiler/systems/i_embed.pas M compiler/systems/i_zxspectrum.pas --- commit c5d04d1a541555b29b176bc2cb7e96bed089d8af Author: nickysn Date: Mon May 25 15:53:51 2020 +0000 + Z80: added the JRJP pseudo instruction git-svn-id: trunk@45496 - M compiler/z80/z80ins.dat M compiler/z80/z80nop.inc M compiler/z80/z80op.inc M compiler/z80/z80stdopnames.inc M compiler/z80/z80tab.inc --- commit f71b6f341b7ffdc3e6e58cb60f2f8884fd92fd25 Author: nickysn Date: Mon May 25 16:12:06 2020 +0000 + added JRJP to various instruction lists git-svn-id: trunk@45497 - M compiler/z80/aasmcpu.pas M compiler/z80/aoptcpu.pas M compiler/z80/aoptcpub.pas M compiler/z80/cpubase.pas M compiler/z80/raz80asm.pas --- commit 195e7e09180e7187ffc1bf5a83625162651ff051 Author: nickysn Date: Mon May 25 16:29:31 2020 +0000 * translate jrjp to jp in the sdcc-sdasz80 asm writer git-svn-id: trunk@45498 - M compiler/z80/agsdasz80.pas --- commit b4de0b2e9c8ddd9dca7af3f7f24bbdd825dfd7e8 Author: florian Date: Mon May 25 20:38:19 2020 +0000 * insert fwait after fcompp, resolves #37136 git-svn-id: trunk@45500 - M .gitattributes M compiler/x86/nx86add.pas A tests/webtbs/tw37136.pp --- commit 0a62e6040b062e7176b404926328281c3355e42a Author: pierre Date: Mon May 25 22:14:13 2020 +0000 Reorder and complete list of supported CPUs git-svn-id: trunk@45501 - M compiler/pp.pas --- commit c49213c561171e398d76eb7957f8e965cbf2295e Author: nickysn Date: Mon May 25 22:40:41 2020 +0000 + Z80: implemented the JRJP pseudo instruction in the Z80 internal asm writer git-svn-id: trunk@45502 - M compiler/z80/aasmcpu.pas --- commit d88da03e7da8bb0ee227a558db7f18a6cfa83942 Author: nickysn Date: Tue May 26 19:52:27 2020 +0000 * z80: use the JRJP pseudo instruction to generate shorter code (it is translated to JR wherever possible, otherwise to JP) git-svn-id: trunk@45510 - M compiler/z80/cgcpu.pas --- commit 3f95fa50efa96180d5c9648b354d280090ba4cea Author: nickysn Date: Thu May 28 21:08:02 2020 +0000 * use const_align(sizeof(pint)) alignment instead of sizeof(pint) for various compiler-generated structures, so they don't waste any extra alignment space on 8-bit CPUs like the Z80 and the AVR git-svn-id: trunk@45524 - M compiler/ngenutil.pas --- commit 651f5cb8a1e914c77dfbd99336b2b6d38da558e7 Author: florian Date: Thu May 28 21:37:05 2020 +0000 * ARM: (V)LDM do not load from the registers in the reg. set git-svn-id: trunk@45525 - M compiler/arm/aoptcpu.pas --- commit 2353b1adee799a3821832dff63cfda1f4cd30b2e Author: nickysn Date: Fri May 29 18:13:18 2020 +0000 + started work on the Z80 internal linker git-svn-id: trunk@45528 - M compiler/ogrel.pas M compiler/systems.inc M compiler/systems/t_zxspectrum.pas --- commit 0acae47310dc0a6fa2ffaffe21b2544ba869e100 Author: florian Date: Fri May 29 20:51:04 2020 +0000 * ARM: get rid of more unneeded sxtb/h uxtb/h instructions git-svn-id: trunk@45529 - M compiler/arm/aoptcpu.pas --- commit c5d7e6807cce2042f90ce429335ddf0bb0223144 Author: florian Date: Sat May 30 20:44:19 2020 +0000 * ARM: factor out TARMAsmOptimizer.OptPass1And git-svn-id: trunk@45536 - M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit 11cc085870fb6f58eac5195496f64d9d2d7f5ec3 Author: nickysn Date: Sun May 31 17:45:12 2020 +0000 + implemented TRelObjInput.CanReadObjData git-svn-id: trunk@45540 - M compiler/ogrel.pas --- commit 3c8ac8d35697b44a8caf069a925da30ed5aea2b0 Author: nickysn Date: Sun May 31 19:30:59 2020 +0000 - removed the z80_internal_asm build mode, since it's now a feature enabled by default, not hidden behind an ifdef git-svn-id: trunk@45541 - M compiler/ppcz80.lpi --- commit 4a296c9f5dc776d68c1e52443758efc52c5f21f1 Author: nickysn Date: Sun May 31 19:39:12 2020 +0000 * enable the Z80 internal linker (not working yet) if the compiler is compiled with the Z80_INTERNAL_LINKER define git-svn-id: trunk@45542 - M compiler/systems/i_zxspectrum.pas --- commit 8ffd7565466fbda97e7551cea9036314fefcba78 Author: nickysn Date: Sun May 31 20:26:07 2020 +0000 + added 'z80_internal_linker' build mode to the z80 lazarus project git-svn-id: trunk@45543 - M compiler/ppcz80.lpi --- commit 42e4d66c5e4891900162f826f868e0a177a82ab1 Author: florian Date: Sun May 31 21:40:59 2020 +0000 * AArch64: enable TARMAsmOptimizer.OptPass1And git-svn-id: trunk@45544 - M compiler/aarch64/aoptcpu.pas --- commit b2714052d1a10ab417ae2eb783b671403c43922f Author: nickysn Date: Mon Jun 1 13:10:39 2020 +0000 + override TInternalLinkerZXSpectrum.InitSysInitUnitName git-svn-id: trunk@45546 - M compiler/systems/t_zxspectrum.pas --- commit 6104cd321c72d825b6e28c708bc513f8375af515 Author: nickysn Date: Mon Jun 1 13:14:46 2020 +0000 + set cobjdata in TRelObjInput.create git-svn-id: trunk@45547 - M compiler/ogrel.pas --- commit 3685b50e752eea9b4b5c234ced112624b15a9b58 Author: nickysn Date: Mon Jun 1 13:53:28 2020 +0000 + set cobjdata in TIntelHexExeOutput.create; git-svn-id: trunk@45548 - M compiler/ogrel.pas --- commit 7eb782446e41d1c60614af575f74b560320bb325 Author: nickysn Date: Mon Jun 1 13:54:27 2020 +0000 + create a linker script for the ZX Spectrum internal linker git-svn-id: trunk@45549 - M compiler/systems/t_zxspectrum.pas --- commit 996eaf16b36c0517a1985b88adceffc75d86efc5 Author: nickysn Date: Mon Jun 1 14:02:10 2020 +0000 + override TInternalLinkerZXSpectrum.GetCode/Data/BssSize to avoid access violation error git-svn-id: trunk@45550 - M compiler/systems/t_zxspectrum.pas --- commit 8873a199ec1c07867420b46d0637633801194e93 Author: nickysn Date: Mon Jun 1 15:17:47 2020 +0000 * buffered text reading functions moved from being local to TRelObjInput.CanReadObjData to being class members, so they can be used by ReadObjData as well git-svn-id: trunk@45551 - M compiler/ogrel.pas --- commit 31b7fd8965f0e707d2411c82dd03a11d96a16493 Author: nickysn Date: Mon Jun 1 17:29:29 2020 +0000 + partial implementation of TRelObjInput.ReadObjData git-svn-id: trunk@45552 - M compiler/ogrel.pas --- commit c8337937b374901d58d7aa4b9bd5af7674084a19 Author: nickysn Date: Mon Jun 1 18:06:15 2020 +0000 + parse the REL header git-svn-id: trunk@45553 - M compiler/ogrel.pas --- commit 19a66947bc974b4dd1f42314874c26348717f1c1 Author: nickysn Date: Mon Jun 1 19:52:25 2020 +0000 + parse the area records of REL files git-svn-id: trunk@45554 - M compiler/ogrel.pas --- commit 792cf056eb5a2c82f83b9b81588a46a6e6337c02 Author: florian Date: Mon Jun 1 20:50:38 2020 +0000 * a nil node is also a constant pointer node + convert (v1=const1) and (v2=const2) into ((v1 xor const1) or (v2 xor const2))=0 if the expressions have no side effects git-svn-id: trunk@45555 - M compiler/nadd.pas M compiler/node.pas --- commit 0e54ea6babe4b1966ded98127de92435e6cf76f4 Author: nickysn Date: Mon Jun 1 21:07:21 2020 +0000 + parse the REL symbol records git-svn-id: trunk@45556 - M compiler/ogrel.pas --- commit 3e2cf16d1ffa53d02e375cd9bee14d039100f6fa Author: nickysn Date: Mon Jun 1 22:14:01 2020 +0000 * TRelObjInput.ReadObjData: return success, if file was read correctly git-svn-id: trunk@45557 - M compiler/ogrel.pas --- commit d0beacc35fdf89306b82234e03d99021a5986741 Author: nickysn Date: Mon Jun 1 22:25:31 2020 +0000 * return the correct size for files in ar archive. This is required by the REL reader, which reads files until the end of file git-svn-id: trunk@45558 - M compiler/owar.pas M compiler/owbase.pas --- commit 6d3bfccbe3f2fd59bd3ae9247b992c43522ba8a7 Author: nickysn Date: Mon Jun 1 22:34:10 2020 +0000 * set MaxMemPos to $FFFF in the Z80 internal linker git-svn-id: trunk@45559 - M compiler/ogrel.pas --- commit a91b42bd8d65dc68ff22ce64af52a5b9358eb3d5 Author: nickysn Date: Mon Jun 1 22:37:37 2020 +0000 + add .text, .data and .bss exe sections and define the entry point in the ZX Spectrum internal linker script git-svn-id: trunk@45560 - M compiler/systems/t_zxspectrum.pas --- commit ad66f17a876853bed249a1fd0727740b352af9b3 Author: nickysn Date: Mon Jun 1 22:48:51 2020 +0000 * group T and R records together and call a function (not implemented yet) to handle them in pairs git-svn-id: trunk@45561 - M compiler/ogrel.pas --- commit 788797d0786e45a34d2715d280fc91ac9a358bbb Author: nickysn Date: Tue Jun 2 17:48:06 2020 +0000 + implemented reading of T and R records git-svn-id: trunk@45564 - M compiler/ogrel.pas --- commit 6d3b74f96e86e18a02101971f6d04d77eada3911 Author: florian Date: Tue Jun 2 20:58:44 2020 +0000 * extended r45555 to take care of chars as well git-svn-id: trunk@45565 - M compiler/nadd.pas --- commit 996ab2feba4407d20b087817aae89dbb13a659b5 Author: nickysn Date: Tue Jun 2 22:44:57 2020 +0000 * renamed some REL sections to follow a similar naming convention git-svn-id: trunk@45566 - M compiler/ogrel.pas M compiler/systems/t_zxspectrum.pas M compiler/z80/agsdasz80.pas --- commit b29257fd05f4ef1516360700a89954e2f1b48506 Author: nickysn Date: Tue Jun 2 22:54:16 2020 +0000 * avoid setting the oso_Data flag on bss sections git-svn-id: trunk@45567 - M compiler/ogrel.pas --- commit 4a5a2f5ba2467ffed2bc718cfacd963271af636d Author: nickysn Date: Tue Jun 2 23:01:07 2020 +0000 + set IMAGEBASE in the Z80 internal linker script git-svn-id: trunk@45568 - M compiler/systems/t_zxspectrum.pas --- commit 9c54d753f56bab86b9b451c8f4415cd041357a36 Author: nickysn Date: Tue Jun 2 23:07:45 2020 +0000 * ImageBase changed to qword (same type as CurrMemPos) to avoid truncating to 8-bit on Z80 git-svn-id: trunk@45569 - M compiler/ogbase.pas --- commit da2bd5f78908e630cce860ca25fe7da8454ce6fa Author: nickysn Date: Tue Jun 2 23:10:31 2020 +0000 * ImageBase changed to qword to avoid 8-bit truncation in the internal linker map file git-svn-id: trunk@45570 - M compiler/ogmap.pas --- commit a5ab1c03ea466e93f6fb92f4c8da5dec7ed24b1a Author: nickysn Date: Tue Jun 2 23:13:32 2020 +0000 * avoid 8-bit truncation of the sizes in the internal linker map git-svn-id: trunk@45571 - M compiler/ogmap.pas --- commit 4b5c8982ff496d89a179061ac28cbd1413776ebd Author: nickysn Date: Wed Jun 3 15:35:42 2020 +0000 + implemented IHX writing in the Z80 internal linker git-svn-id: trunk@45575 - M compiler/ogrel.pas --- commit 3023a9f0e2c82664c26c89c15dd2ca71f7d0c2ae Author: nickysn Date: Wed Jun 3 15:39:28 2020 +0000 - removed the GetCode/Data/BssSize overrides in the ZX Spectrum internal linker, since the default implementation, inherited from parent now works git-svn-id: trunk@45576 - M compiler/systems/t_zxspectrum.pas --- commit 12dce172f95e77e67672ea56f25488e3bb42b288 Author: nickysn Date: Wed Jun 3 17:12:41 2020 +0000 + implemented TIntelHexExeOutput.DoRelocationFixup git-svn-id: trunk@45577 - M compiler/ogrel.pas --- commit 84cd9e129b2cb9a674dd105856a6fd6441ec585a Author: nickysn Date: Wed Jun 3 19:33:03 2020 +0000 + ZX Spectrum internal linker: invoke the ihx2tzx to postprocess the ihx file, produced by the internal linker (in the future, the code of this utility may be integrated into the compiler) * changed the exe extension of ZX Spectrum to '.tzx' git-svn-id: trunk@45578 - M compiler/systems/i_zxspectrum.pas M compiler/systems/t_zxspectrum.pas --- commit d1377777be89c2515e6769e8f551257bd6d98d53 Author: nickysn Date: Wed Jun 3 19:36:41 2020 +0000 + enabled the ZX Spectrum internal linker git-svn-id: trunk@45579 - M compiler/systems/i_zxspectrum.pas --- commit 1263880ef02c11403bb728c7a61bb557faf0138c Author: nickysn Date: Wed Jun 3 19:37:44 2020 +0000 - removed the z80_internal_linker build mode from the lazarus project git-svn-id: trunk@45580 - M compiler/ppcz80.lpi --- commit f5489b567809e6690dd4603154ae0b0b50c0fbec Author: nickysn Date: Wed Jun 3 20:09:27 2020 +0000 + allow specifying the program load address for the ZX Spectrum target via the -WB option git-svn-id: trunk@45581 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas M compiler/systems/t_zxspectrum.pas --- commit b776d48367cfbef2debb5c62e383192be8d05ba1 Author: florian Date: Wed Jun 3 20:29:00 2020 +0000 + x86: optimziation MovMov2MovMov 2 git-svn-id: trunk@45582 - M compiler/x86/aoptx86.pas --- commit b2d6c36e70cf8e5b1f7fd558a70ff67ae41011e5 Author: svenbarth Date: Sat Jun 6 17:15:53 2020 +0000 + add support for DEFB and DEFW directives to the internal assembler reader git-svn-id: trunk@45591 - M compiler/z80/raz80asm.pas --- commit 2b7d9c5a1fe1802c3ecd429e6b9f6821865de9a9 Author: svenbarth Date: Sat Jun 6 17:15:57 2020 +0000 * also handle single character register names (needed on Z80 for example) git-svn-id: trunk@45592 - M compiler/pstatmnt.pas --- commit bf96709e398bba07fec3462e83d60dfdb1dbbef7 Author: svenbarth Date: Sat Jun 6 17:16:08 2020 +0000 * with ihx2tzx now also supporting binary output it makes sense to rename it to something more generic git-svn-id: trunk@45594 - M .gitattributes M compiler/systems/t_zxspectrum.pas M utils/fpmake_add.inc M utils/fpmake_proc.inc R100 utils/ihx2tzx/Makefile utils/ihxutil/Makefile R100 utils/ihx2tzx/Makefile.fpc utils/ihxutil/Makefile.fpc R076 utils/ihx2tzx/fpmake.pp utils/ihxutil/fpmake.pp R100 utils/ihx2tzx/ihxreader.pas utils/ihxutil/ihxreader.pas R094 utils/ihx2tzx/ihx2tzx.lpi utils/ihxutil/ihxutil.lpi R092 utils/ihx2tzx/ihx2tzx.lpr utils/ihxutil/ihxutil.lpr R100 utils/ihx2tzx/tzxwriter.pas utils/ihxutil/tzxwriter.pas R100 utils/ihx2tzx/zxbasic.pas utils/ihxutil/zxbasic.pas --- commit 921e73ab0ca3d1af0b69d86d165ebf67884c422a Author: svenbarth Date: Sat Jun 6 17:16:20 2020 +0000 + add compiler support for the Z80 MSX-DOS target git-svn-id: trunk@45596 - M .gitattributes M compiler/ngenutil.pas M compiler/ogrel.pas M compiler/options.pas M compiler/systems.inc M compiler/systems.pas A compiler/systems/i_msxdos.pas A compiler/systems/t_msxdos.pas M compiler/utils/ppuutils/ppudump.pp M compiler/z80/agsdasz80.pas M compiler/z80/agz80vasm.pas M compiler/z80/cputarg.pas --- commit e2d8f7b68fc4ee2c687c2e16497660aeda0f6418 Author: svenbarth Date: Sat Jun 6 17:16:35 2020 +0000 * allow executable/library name to be changed for an intermediate file git-svn-id: trunk@45599 - M compiler/link.pas --- commit b3ddd4e7863b16b0ce22c239f298f418afa20cac Author: svenbarth Date: Sat Jun 6 17:18:48 2020 +0000 * regenerate Makefiles git-svn-id: trunk@45601 - M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile --- commit 85149ab9a4c96bfe1b9f1defe7fee3b4b6a2c1da Author: svenbarth Date: Sat Jun 6 18:20:40 2020 +0000 * change exe extension for MSX-DOS from exe to com git-svn-id: trunk@45602 - M compiler/systems/i_msxdos.pas --- commit 3d4ad5b69487e66a162ce2844350f0e57c05470b Author: svenbarth Date: Sat Jun 6 18:28:39 2020 +0000 + add MSX-DOS to help text for -T git-svn-id: trunk@45603 - M compiler/msg/errore.msg --- commit 2c053b4f9c15d0cb14be6bf39c5c5aa1143c2a7e Author: svenbarth Date: Sat Jun 6 18:28:44 2020 +0000 * regenerate msg{txt,idx}.inc after adding MSX-DOS to help text git-svn-id: trunk@45604 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 5f67d830e74a409b9b17d52c7005cb15472342ef Author: florian Date: Sat Jun 6 19:21:04 2020 +0000 * better rules if a 3 op mul operation is tried git-svn-id: trunk@45605 - M compiler/x86/cgx86.pas M compiler/x86/nx86add.pas --- commit c793f4227167b5f2bdb8e27396ae58ff2bad2f70 Author: svenbarth Date: Sun Jun 7 12:24:59 2020 +0000 + add intrinsics for Z80 port IN/OUT git-svn-id: trunk@45607 - M .gitattributes A compiler/z80/ccpuinnr.inc M compiler/z80/cpunode.pas A compiler/z80/nz80inl.pas M rtl/z80/cpuh.inc A rtl/z80/cpuinnr.inc --- commit d1cb341cfacd61705fe3a2b9e098243faeac85a2 Author: svenbarth Date: Sun Jun 7 18:22:26 2020 +0000 * include the Z80 specific intrinsic values git-svn-id: trunk@45612 - M compiler/compinnr.pas --- commit 9710b2cbb406c6fe6bfb66b88fe72906038056d7 Author: florian Date: Sun Jun 7 20:04:17 2020 +0000 + some basic stuff for mips64el git-svn-id: trunk@45614 - M .gitattributes M compiler/fpcdefs.inc M compiler/mips/cgcpu.pas A compiler/ppcmips64el.lpi M utils/fpcm/fpcmmain.pp --- commit c90f78488c5c590a17d05c3880dba5077263c207 Author: nickysn Date: Sun Jun 7 20:47:37 2020 +0000 + added the 'AREA' directive support to the Z80 inline assembler, that allows you to define custom sections git-svn-id: trunk@45617 - M compiler/ogrel.pas M compiler/z80/agsdasz80.pas M compiler/z80/agz80vasm.pas M compiler/z80/raz80asm.pas --- commit 09bd361b484806a5d45865a963d3579b1133e787 Author: nickysn Date: Sun Jun 7 22:17:10 2020 +0000 + support the OFFSET directive in the Z80 inline assembler reader git-svn-id: trunk@45618 - M compiler/z80/raz80asm.pas --- commit dfa736bdcaaa5e466bdf59563601ae2cfae6345c Author: nickysn Date: Sun Jun 7 22:17:47 2020 +0000 + add the _BSSEND section after the _BSS section git-svn-id: trunk@45619 - M compiler/systems/t_zxspectrum.pas --- commit 47ba80a54525b5ef8662f28282e4ccd73fc7d698 Author: nickysn Date: Sun Jun 7 23:05:13 2020 +0000 * the len parameter of TObjData.writebytes changed to TObjSectionOfs to avoid 8-bit truncation on Z80 git-svn-id: trunk@45620 - M compiler/ogbase.pas --- commit a0e2cd36382e3ad061e54cf9a32804b729e527ba Author: nickysn Date: Sun Jun 7 23:07:39 2020 +0000 * use qword instead of aword for bsssize to avoid 8-bit truncation on Z80 git-svn-id: trunk@45621 - M compiler/link.pas --- commit 5816a4a9403df29aa77a5ed54e02d4dcde5651d9 Author: nickysn Date: Sun Jun 7 23:21:42 2020 +0000 * fixed a bug in the Z80 internal linker when reading symbol offsets from .rel files git-svn-id: trunk@45622 - M compiler/ogrel.pas --- commit aafc22bd74cf83c82037e51a1699abb3517cd9f6 Author: florian Date: Mon Jun 8 20:33:27 2020 +0000 + optimize real operations with 0 and 1 if fast math is turned on git-svn-id: trunk@45627 - M compiler/nadd.pas M tests/webtbs/tw3160a.pp --- commit 5f118da6001068537b38bfcdab33319d1a0243a4 Author: florian Date: Tue Jun 9 20:50:47 2020 +0000 * optimize a/a and a-a if fast math is on git-svn-id: trunk@45630 - M compiler/nadd.pas --- commit b2ed667a86f9a978c6d2eb6dae48e3f1932a86f8 Author: florian Date: Thu Jun 11 17:19:56 2020 +0000 * swap fpu stack correctly when moving data into xmm registers git-svn-id: trunk@45637 - M compiler/x86/nx86add.pas --- commit 4ec76072b4e4a02cb94cbe38363c12014181d9a9 Author: svenbarth Date: Sat Jun 13 09:36:18 2020 +0000 * ensure that the BSS section for MSX-DOS is correctly initialized to 0 git-svn-id: trunk@45642 - M compiler/systems/t_msxdos.pas M rtl/msxdos/si_prc.pp --- commit c45c543faaef72817b1e1d9ddc7e774f599b9835 Author: svenbarth Date: Sat Jun 13 18:42:21 2020 +0000 * fix typo (no code changes) git-svn-id: trunk@45644 - M compiler/psub.pas --- commit febeef03e4830cc4ecfcda0a5236e6f6b86d483b Author: svenbarth Date: Sat Jun 13 18:42:31 2020 +0000 * for adding procdefs to forwarddefs check for the specialization flag instead of whether it's a full specialization; fixes implicit finalization handlers on x86_64-win64 not being found + added tests git-svn-id: trunk@45646 - M .gitattributes M compiler/pparautl.pas A tests/tbs/tb0673.pp A tests/tbs/tb0674.pp A tests/tbs/ub0674.pp --- commit 33094d263fdfc7c0aba42e6bb9c48d349831207a Author: florian Date: Sun Jun 14 14:16:49 2020 +0000 * Aarch: handle 0 in AndAnd2And and check if the resulting constant is really a shifter constant, resolves #37203 git-svn-id: trunk@45651 - M compiler/armgen/aoptarm.pas --- commit b3817f6d9275f887b48fb10db3400ec2c3a686fc Author: florian Date: Sun Jun 14 14:56:48 2020 +0000 * slash and divn might have an exception as side effect git-svn-id: trunk@45652 - M compiler/nutils.pas --- commit c6c996f506797b54228c248a3784265582a4975d Author: florian Date: Mon Jun 15 19:50:49 2020 +0000 * write length/code page when writing the string type git-svn-id: trunk@45654 - M compiler/symdef.pas --- commit 62c417c8bfd8a82909eea05dc63c52661b545e67 Author: florian Date: Mon Jun 15 19:57:39 2020 +0000 * temporarily fix #37034 by disabling the problematic optimization until the real cause is fixed git-svn-id: trunk@45655 - M .gitattributes M compiler/nbas.pas A tests/webtbs/tw37034.pp --- commit 8738b4b47f3868d3c795f94743aebe743a1ea49d Author: florian Date: Wed Jun 17 20:33:04 2020 +0000 + might_have_sideeffects checks also if the tempinitcode of a tempref node might have side effects git-svn-id: trunk@45656 - M compiler/nutils.pas --- commit 2e36783d0e4fd89fecdf84623a1dddf32e491109 Author: florian Date: Thu Jun 18 20:32:55 2020 +0000 * better check for short boolean evaluation in firstcomplex git-svn-id: trunk@45658 - M compiler/ncgutil.pas --- commit a2303bd89994f2997949a6f5e4a6043604cbaa98 Author: florian Date: Fri Jun 19 19:55:14 2020 +0000 * fixed copy&paste error of r45658 git-svn-id: trunk@45659 - M compiler/ncgutil.pas --- commit 11fd466394d945f20de98d013acb95b8603437c2 Author: yury Date: Sat Jun 20 11:14:43 2020 +0000 * Optimize parentfp when optimization level 1 and higher to be debugger friendly. git-svn-id: trunk@45661 - M compiler/ncgcal.pas --- commit cc23515927ef60eb3675a5626802cefbce0d7d2b Author: Károly Balogh Date: Sat Jun 20 16:51:15 2020 +0000 z80: vasm doesn't support the JRJP pseudo instruction, so change it to JP during write git-svn-id: trunk@45663 - M compiler/z80/agz80vasm.pas --- commit c15b6f4516adb7c8e524adc70d7adfd1c1682bc6 Author: yury Date: Sat Jun 20 18:28:07 2020 +0000 * Fixed the parentfp optimization for some cases when nested procvars are used. git-svn-id: trunk@45664 - M .gitattributes M compiler/nld.pas A tests/test/tnest3.pp --- commit 7bffafdf8b0adf60492709c939e24c73a0de0139 Author: yury Date: Sat Jun 20 18:34:26 2020 +0000 * Improved the parentfp optimization to properly handle cases when a nested routine calls other nested routines. git-svn-id: trunk@45665 - M compiler/ncal.pas M compiler/ncgcal.pas M compiler/nld.pas M compiler/nmem.pas M compiler/paramgr.pas M compiler/procinfo.pas --- commit 4e1e35aef550f6a05f9307b0d39346f39e3eceee Author: yury Date: Sat Jun 20 18:47:42 2020 +0000 * Added optimization option cs_opt_unused_para. It is enabled for -O2 and higher. The parentfp optimization is tied to cs_opt_unused_para. git-svn-id: trunk@45666 - M compiler/globtype.pas M compiler/paramgr.pas --- commit 78698beaadba891b06eb4e32534e95b6fcd08c91 Author: florian Date: Sat Jun 20 20:22:21 2020 +0000 * compilation fixed git-svn-id: trunk@45668 - M compiler/utils/ppuutils/ppudump.pp --- commit 27943baa2f65cb749ff9d0be8c37b4298abc1c60 Author: nickysn Date: Sat Jun 20 23:30:50 2020 +0000 + support z80 in the fpc launcher utility git-svn-id: trunk@45669 - M compiler/utils/fpc.pp --- commit a423bf64027c49e48d69cb365831a7ec15bd628b Author: Jonas Maebe Date: Sun Jun 21 12:26:52 2020 +0000 * fix -Agas-darwin to say Aas-darwin for x86-64, and also add it for i386 (mantis #37230) git-svn-id: trunk@45670 - M compiler/msg/errore.msg --- commit cc7b6d0b05fd4871c2ba9909d6aac59a74837800 Author: Jonas Maebe Date: Sun Jun 21 12:26:55 2020 +0000 * regenerated message files git-svn-id: trunk@45671 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit a7c0fa0deffdb9341c31c45bd3f1918faa42bab5 Author: florian Date: Sun Jun 21 14:51:40 2020 +0000 o patch for Xtensa by Christo Crause, resolves #37099 + Added postfix parsing in tattreader.GetToken - Removed all postfixed versions of OpCodes from the instruction list + Added all missing OpCodes from Xtensa ISA * Changed branch OpCode to A_B, similar to ARM + Added missing branch condition flags BCI and BSI * Updated existing compiler code that referred to the old postfixed instructions + Added prefix and postfix handling in TxtensaInstrWriter.WriteInstruction * Updated TCPUAddNode.second_addfloat to specify .S postfix * Updated tcpuunaryminusnode.second_float to specify .S postfix + Implemented prefix and postfix identification in txtensaattreader.is_asmopcode * Adapted branch condition extraction to respect postfixes * Changed itcpugas to call findreg_by_name_table from raatt.pas (same as issue #0037121, difficult to test these changes without including a fix for the register name search problem) git-svn-id: trunk@45672 - M .gitattributes M compiler/raatt.pas M compiler/xtensa/aasmcpu.pas M compiler/xtensa/agcpugas.pas M compiler/xtensa/aoptcpub.pas M compiler/xtensa/cgcpu.pas M compiler/xtensa/cpubase.pas M compiler/xtensa/ncpuadd.pas M compiler/xtensa/ncpumat.pas M compiler/xtensa/racpugas.pas M compiler/xtensa/raxtensa.pas M compiler/xtensa/xtensaatt.inc M compiler/xtensa/xtensaop.inc A tests/webtbs/tw37099.pp --- commit 221d8d84aeeea1c61d689aadc1a13017b9cb5af2 Author: florian Date: Sun Jun 21 19:16:27 2020 +0000 * Xtensa: MatchInstruction requires a postfix parameter git-svn-id: trunk@45674 - M compiler/xtensa/aoptcpu.pas --- commit e63c03125a8b066638cec8593d96eb8eb38ed3d9 Author: yury Date: Sun Jun 21 19:52:14 2020 +0000 * Reworked tprocdef.is_implemented to fix a bug with the parentfp optimization. The bug was detected when using the llvm backend. + Added a test. git-svn-id: trunk@45675 - M .gitattributes M compiler/ncal.pas M compiler/psub.pas M compiler/symdef.pas A tests/test/tnest4.pp --- commit e41912b07644864a3a685ac339de2085d252706e Author: nickysn Date: Mon Jun 22 14:13:54 2020 +0000 * limit the ZX Spectrum programs address space up to $FDFC, because the RTL now installs an interrupt handler at $FDFD git-svn-id: trunk@45678 - M compiler/ogrel.pas M compiler/systems/t_zxspectrum.pas --- commit cb11e2568d5afb2616e29fda4fe6cb2634c1ab40 Author: florian Date: Mon Jun 22 19:05:13 2020 +0000 + Xtensa: patch by Christo Crause to add optional MAC16 registers, resolves #37130 git-svn-id: trunk@45679 - M .gitattributes M compiler/cgbase.pas M compiler/x86/aasmcpu.pas M compiler/xtensa/rxtensacon.inc M compiler/xtensa/rxtensadwa.inc M compiler/xtensa/rxtensanor.inc M compiler/xtensa/rxtensanum.inc M compiler/xtensa/rxtensarni.inc M compiler/xtensa/rxtensasri.inc M compiler/xtensa/rxtensasta.inc M compiler/xtensa/rxtensastd.inc M compiler/xtensa/rxtensasup.inc M compiler/xtensa/xtensareg.dat A tests/webtbs/tw37130.pp --- commit f94518a9aefd1cd9511a9816cc842e838c7d4266 Author: svenbarth Date: Mon Jun 22 20:39:55 2020 +0000 * fix typo (no code changes) git-svn-id: trunk@45680 - M compiler/symdef.pas --- commit cba109c55d10bf8f95b8cdd88782f109c6e1e7ba Author: florian Date: Tue Jun 23 20:44:54 2020 +0000 + Xtensa: patch by Christo Crause: support call0 abi in init final code part of #37242 git-svn-id: trunk@45684 - M compiler/xtensa/ncpuutil.pas --- commit caee96399eec1c792b1168b222b809d2b424fb57 Author: florian Date: Tue Jun 23 20:46:40 2020 +0000 * patch by Christo Crause: support call0 abi in entry/exit code, part of #37242 git-svn-id: trunk@45685 - M compiler/xtensa/cgcpu.pas --- commit d401639b24ba6635c3dd05718459557c216b7b27 Author: svenbarth Date: Thu Jun 25 20:42:47 2020 +0000 * fix for Mantis #37251: apply patches by Bi0T1N to implement the IsConstValue() intrinsic + added tests git-svn-id: trunk@45695 - M .gitattributes M compiler/compinnr.pas M compiler/ninl.pas M compiler/pexpr.pas M compiler/psystem.pas A tests/test/tisconstvalue1.pp A tests/test/tisconstvalue2.pp A tests/test/tisconstvalue3.pp A tests/test/tisconstvalue4.pp --- commit d62d6af7ec5a5103b53b0430ea07952e36700e8b Author: florian Date: Thu Jun 25 20:50:43 2020 +0000 * Xtensa: patch by Christo Crause: fix controller date for esp8266, part of #37242 git-svn-id: trunk@45696 - M compiler/xtensa/cpuinfo.pas --- commit 225b06e84a29cab4fa183ec914291ecfb74ddd4d Author: florian Date: Fri Jun 26 20:16:44 2020 +0000 * Xtensa: patch by Christo Crause: add IDF_PATH variable, read from the appropriate environment variable, part of #37242 git-svn-id: trunk@45698 - M compiler/systems/t_freertos.pas --- commit 4bacec0ee36e3f999ed33047be4136fc65aacdf2 Author: florian Date: Sat Jun 27 19:59:27 2020 +0000 * building for arm fixed git-svn-id: trunk@45704 - M compiler/systems/t_freertos.pas --- commit eaa2a2006c6c6ad4502c71dfe3f7746b2237589e Author: svenbarth Date: Sat Jun 27 22:33:31 2020 +0000 * fix for Mantis #37272: also allow the empty set for dynamic array parameters; Delphi probably started to allow that together with array constructors. + added tests git-svn-id: trunk@45706 - M .gitattributes M compiler/defcmp.pas M compiler/ncnv.pas A tests/webtbf/tw37272b.pp A tests/webtbs/tw37272a.pp --- commit c29a0d029b5c22e27b14b4a5f59c9c389d7854bb Author: florian Date: Sun Jun 28 20:33:10 2020 +0000 * reverted some stuff accidently committed in r45704 git-svn-id: trunk@45710 - M compiler/systems/t_freertos.pas --- commit d41f4c7c4e806156ffbec259a83016fdd598e58e Author: florian Date: Mon Jun 29 20:36:54 2020 +0000 * correctly handle sign/zero extensions for optimization "var3", resolves #37254 git-svn-id: trunk@45713 - M .gitattributes M compiler/x86/aoptx86.pas A tests/webtbs/tw37254.pp --- commit ff295bf3498bb353abaf168a8834a80c33e8268f Author: florian Date: Tue Jun 30 20:36:51 2020 +0000 * delay setting of pd_body and pd_implement till the header of a generic procedure is parsed, resolves #37261 git-svn-id: trunk@45717 - M .gitattributes M compiler/pgenutil.pas A tests/webtbs/tw37261.pp --- commit 8f91920c9bec7eeea70b2557a3b417aa8d90b58a Author: florian Date: Wed Jul 1 20:45:58 2020 +0000 * use the fpu on suitable x86 targets to copy extended values git-svn-id: trunk@45718 - M compiler/ncgld.pas --- commit b7ef93030aa9484a8f1e34196ee1e314bc069817 Author: florian Date: Thu Jul 2 21:14:43 2020 +0000 * set mm register subreg properly when cleaning them with xor git-svn-id: trunk@45721 - M compiler/hlcgobj.pas --- commit 965964d07c0ba60f9e13c5ce1ec577be698d65c2 Author: florian Date: Fri Jul 3 21:12:05 2020 +0000 * fix compilation with newer FPC git-svn-id: trunk@45725 - M compiler/utils/mkx86inl.pp --- commit b72419e2a517b6f89fcfa7dcc9506533b30745c7 Author: florian Date: Fri Jul 3 21:12:06 2020 +0000 * regenerated git-svn-id: trunk@45727 - M compiler/Makefile --- commit 72f6752b1cb6920c6483abe4705252f2eb51275e Author: florian Date: Fri Jul 3 21:12:06 2020 +0000 + add intrdat target git-svn-id: trunk@45726 - M compiler/Makefile.fpc --- commit e73dd883cd4f1efe93cebef228c9b2119b1edf4b Author: florian Date: Fri Jul 3 21:12:07 2020 +0000 + handle OS_128 in mm code git-svn-id: trunk@45728 - M compiler/x86/cgx86.pas --- commit 9142ad8950d2e2db6b115cd43b7a9471f1ef227b Author: Károly Balogh Date: Sat Jul 4 06:14:40 2020 +0000 bump ppudump copyright year git-svn-id: trunk@45729 - M compiler/utils/ppuutils/ppudump.pp --- commit 58dcbab10e05674baaf11635fffaa8fa5b4c45a3 Author: florian Date: Sat Jul 4 15:03:21 2020 +0000 * (modified) patch by Michael Ring from the mailing list to fix linking for arm-freertos git-svn-id: trunk@45730 - M compiler/systems/t_freertos.pas --- commit 5ad02a3799684c950e71879877469b1f1021de1a Author: florian Date: Sat Jul 4 21:18:13 2020 +0000 + Xtensa: more cpu capabilites + Xtensa: set cpu for xtensa-linux as call window support is required git-svn-id: trunk@45731 - M compiler/options.pas M compiler/xtensa/cgcpu.pas M compiler/xtensa/cpuinfo.pas M compiler/xtensa/ncpuadd.pas --- commit 3caacc529a4b00dacfcf3b75a0ec32305ca79ff1 Author: florian Date: Sun Jul 5 09:19:14 2020 +0000 * fix abs() intrinsic optimisation, resolves #37301 git-svn-id: trunk@45732 - M .gitattributes M compiler/x86/aoptx86.pas A tests/webtbs/tw37301.pp --- commit ec3fe2f99029fcedf165d41049d038a75f8382f8 Author: pierre Date: Mon Jul 6 13:50:10 2020 +0000 Fix overflow when value is high(int64) in OptPass1And method git-svn-id: trunk@45734 - M compiler/armgen/aoptarm.pas --- commit 3655c469825be8d1b8bd81810001049aa0e28771 Author: florian Date: Mon Jul 6 19:46:19 2020 +0000 * clean up git-svn-id: trunk@45735 - M compiler/utils/mkarmins.pp --- commit d9d231c87534ecf76b51ee362f8ceb1509a62e19 Author: florian Date: Tue Jul 7 20:56:19 2020 +0000 * AAarch64: handle initializations of vector registers with zero properly git-svn-id: trunk@45740 - M compiler/aarch64/cgcpu.pas --- commit 792eafadef3b817d59d64706b32906f5b33d2ec8 Author: florian Date: Wed Jul 8 19:45:55 2020 +0000 * properly calc new src register for OP_XOR git-svn-id: trunk@45743 - M compiler/aarch64/cgcpu.pas --- commit 91149df87f25d472ee905860129da887fde63f5d Author: florian Date: Thu Jul 9 20:34:32 2020 +0000 * patch by Christo Crause: fix volatile registers for call0 abi, resolves #37317 git-svn-id: trunk@45749 - M compiler/xtensa/cpupara.pas --- commit cb41b22fdc575e248db3ef960ad4efd449fda102 Author: pierre Date: Thu Jul 9 22:50:34 2020 +0000 Try to fix tarmunaryminusnode.pass_1 git-svn-id: trunk@45750 - M compiler/arm/narmmat.pas --- commit 96ac7f29f7ccf21a55fe34dd90b511076b6f706e Author: pierre Date: Thu Jul 9 22:51:42 2020 +0000 Only try to use softfpu functions when fputype is fpu_soft git-svn-id: trunk@45751 - M compiler/arm/narmcnv.pas --- commit a62534d11f455e37605a3796f131c4c036b60cf3 Author: pierre Date: Fri Jul 10 09:38:27 2020 +0000 Add z80 to PPC_TARGETS to reove ppcz80 on clean git-svn-id: trunk@45754 - M compiler/Makefile M compiler/Makefile.fpc --- commit 39f3a72c625daaf370453334f069b170bb7e3d5d Author: pierre Date: Fri Jul 10 09:43:15 2020 +0000 tarmunaryminusnode.pass_1 must call inherited method for system_arm_wince git-svn-id: trunk@45755 - M compiler/arm/narmmat.pas --- commit 87bf6a4b5680796d37efd0d6779cbd4ffdfbfdb6 Author: pierre Date: Fri Jul 10 14:15:22 2020 +0000 Do not use .hidden for systems_wince, as is done for systems_windows git-svn-id: trunk@45756 - M compiler/aggas.pas --- commit 350d2d92f991538432c0b980efff1c04a2c02a2e Author: Jonas Maebe Date: Fri Jul 10 22:08:30 2020 +0000 * regenerated Makesfiles git-svn-id: trunk@45762 - M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile --- commit fb23834367314528567e4bae71f0299a6ae31c1e Author: Jonas Maebe Date: Sat Jul 11 09:51:28 2020 +0000 * regenerated Makefiles again git-svn-id: trunk@45766 - M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile --- commit 166ccc49a108d29c967d0d8e91e5f4e435507b86 Author: florian Date: Sun Jul 12 20:46:53 2020 +0000 * scalar operations should take single/double values and not full registers git-svn-id: trunk@45777 - M compiler/x86/x86intr.dat --- commit ac5407268cf8b160aaa714668dba7e2986c695b2 Author: florian Date: Sun Jul 12 20:46:54 2020 +0000 * regenerated git-svn-id: trunk@45778 - M compiler/x86/x86mmfirst.inc M compiler/x86/x86mmsecond.inc M compiler/x86/x86mmtype.inc M rtl/i386/cpummprocs.inc M rtl/x86_64/cpumminnr.inc M rtl/x86_64/cpummprocs.inc --- commit cca536a86a82719d2ffabe7ed1e54c16c92162e6 Author: pierre Date: Tue Jul 14 05:52:54 2020 +0000 * TAOptObj.MakeUnconditional: Set as internal error for MIPS cpu: MIPS conditional instructions conntain the computation of the condition itself, so changing the instruction to unconditional should never be done. * TAOptObj.OptimizeConditionalJump: Return false early if the conditional instruction has more than one operand. git-svn-id: trunk@45782 - M compiler/aoptobj.pas --- commit 02fd6f6e54e5e947b20a87591708439e92f1c587 Author: pierre Date: Tue Jul 14 06:00:23 2020 +0000 * tcg.a_load_cgparaloc_ref: Always enable SHR instruction for mips/mipsel CPUs This is normally only used on big-endian targets, to re-convert records of size < OS_INT into values fitting inside the byte size of the record, after it was left-shifted to comply with ABI stipulating it but be writable as a full-size register into a OS_INT size memory. git-svn-id: trunk@45783 - M compiler/cgobj.pas --- commit 13afd5c6c75487336b6ecef0a62cf0220f5e015b Author: pierre Date: Wed Jul 15 08:16:53 2020 +0000 Do not set value of stoploop to avoid infinite loop git-svn-id: trunk@45785 - M compiler/aoptobj.pas --- commit 0e9fc31dd7c0a55227f1b360acf1b851d5d9ef3d Author: pierre Date: Wed Jul 15 08:34:18 2020 +0000 Also check that HP1 is a jump instruction with more than one operand to exit early git-svn-id: trunk@45786 - M compiler/aoptobj.pas --- commit dfdfbf896da044c1e175bb194ae79b189032cfe1 Author: pierre Date: Wed Jul 15 08:59:59 2020 +0000 Fix several warnings about uninitialized local variables git-svn-id: trunk@45787 - M compiler/ogrel.pas M compiler/z80/aasmcpu.pas M compiler/z80/cgcpu.pas --- commit bb6d4929d88b68fae8f0eab3c43291aa34badeaf Author: pierre Date: Fri Jul 17 15:27:27 2020 +0000 * Handle R_SUBMMWHOLE in reg_cgsize for R_MMREGISTER type * Disable range and overflow checking inside is_continuous_mask function. git-svn-id: trunk@45798 - M compiler/arm/cpubase.pas --- commit db250b04e05e775542e030bbf3c1fffdd616671c Author: florian Date: Fri Jul 17 16:45:52 2020 +0000 * generate soft float code for arm vfp units which have no double operation support git-svn-id: trunk@45799 - M compiler/arm/narmmat.pas --- commit 3e9e0a0f7db475f96238ed76722ff083d470ec0a Author: Jonas Maebe Date: Fri Jul 17 20:57:20 2020 +0000 * completely disable records containing float fields in registers again, as the code generator does not support subsetreg loads of floats git-svn-id: trunk@45800 - M compiler/symdef.pas --- commit 59331c3d3cb4cbe05ecd209ca2c221e598f842da Author: Jonas Maebe Date: Fri Jul 17 20:57:24 2020 +0000 * enable putting records that contain a single field into records on all targets (patch by J. Gareth Moreton, mantis #37343) git-svn-id: trunk@45801 - M compiler/optcse.pas M compiler/symsym.pas --- commit 043c3df292fbea7a70d7c86d70811dbbf00b1bc3 Author: florian Date: Sat Jul 18 18:32:17 2020 +0000 * properly handle boolean64 xor boolean64 on i386 git-svn-id: trunk@45804 - M compiler/x86/nx86add.pas --- commit d6d92e366675c7d73713b66966af423cd46fdc87 Author: florian Date: Sun Jul 19 19:54:22 2020 +0000 * revert part of r44879: flock must use kernel_off_t: off_t breaks e.g. i386 git-svn-id: trunk@45810 - M compiler/symdef.pas M compiler/symsym.pas M rtl/linux/ostypes.inc --- commit 09125e834f81eda0f3cd6aa45d51e1bfb4401ba5 Author: florian Date: Sun Jul 19 20:50:13 2020 +0000 + patch by J. Gareth Moreton: SHL-centric peephole optimisations, resolves #37389 git-svn-id: trunk@45811 - M compiler/x86/aoptx86.pas --- commit 0c6998bb110a06cc739c3f0657e403aaaf0dc0ab Author: pierre Date: Sun Jul 19 21:21:18 2020 +0000 Try to fix mipsel-android by making sure P does not point to a freed instruction git-svn-id: trunk@45812 - M compiler/mips/aoptcpu.pas --- commit 14bc6674a6cd8a7974266635487bf09f384d02bf Author: florian Date: Mon Jul 20 20:21:44 2020 +0000 * revert part of r45810 which was accidently committed git-svn-id: trunk@45813 - M compiler/symdef.pas M compiler/symsym.pas --- commit 667a0103573e43d1b650ef56a08a2108f498e434 Author: pierre Date: Tue Jul 21 05:22:26 2020 +0000 Avoid wrong overflow error when using -Criot options git-svn-id: trunk@45815 - M compiler/ogrel.pas --- commit 57b8f28574087bde2fdca66d5f26e8eecbb2f433 Author: pierre Date: Tue Jul 21 05:23:36 2020 +0000 Avoid overflow errors on z80 CPU by changing local variable type from aint to tcgint git-svn-id: trunk@45816 - M compiler/ncgld.pas M compiler/ncnv.pas --- commit 2c3792a1aea113b378a88e4acaa54fafb3308e66 Author: pierre Date: Tue Jul 21 14:08:24 2020 +0000 Add list of generated executable to svn:ignore git-svn-id: trunk@45820 - M .gitignore --- commit 5da913de0ee29c1d4f70569ddb248e996e761e27 Author: florian Date: Tue Jul 21 20:09:39 2020 +0000 * float operations can have an exception as a side effect, resolves #37398 git-svn-id: trunk@45824 - M .gitattributes M compiler/nutils.pas A tests/webtbs/tw37398.pp --- commit 6478a727d78ec4d0fda9522f279b1cf3c7184c46 Author: yury Date: Wed Jul 22 11:40:21 2020 +0000 * Fixed the peephole optimization of conditional movs for mips. git-svn-id: trunk@45826 - M compiler/mips/aoptcpu.pas --- commit d7122c6338b637f0a4ec5e780764104350a39dff Author: Károly Balogh Date: Thu Jul 23 11:57:20 2020 +0000 z80: preserve system ID and linker ID for the Amstrad CPC git-svn-id: trunk@45831 - M compiler/systems.inc M compiler/utils/ppuutils/ppudump.pp --- commit 80facfa0bf6b866c9ca14d2222f3631f8f7caa54 Author: yury Date: Thu Jul 23 12:45:40 2020 +0000 * Fixed indentations of the interference graph. * Added register names to the interference graph. git-svn-id: trunk@45832 - M compiler/rgobj.pas --- commit 15f411a3328e2f191fdba93b851ed2cc0fe008e1 Author: yury Date: Thu Jul 23 12:52:17 2020 +0000 * Improved r45832. git-svn-id: trunk@45833 - M compiler/rgobj.pas --- commit a258774ba958dc8332d0d0064bf8fd4eedbd9f47 Author: yury Date: Thu Jul 23 13:10:50 2020 +0000 * To check the size of a register(s) corresponding to a variable it is needed to use localloc.size instead of def_cgsize(vardef). git-svn-id: trunk@45834 - M compiler/ncgutil.pas --- commit c455e942e5dd3bccd111e086d798d69b9ed4de10 Author: yury Date: Fri Jul 24 14:08:18 2020 +0000 * Try to avoid spilling of an imm register if it contains a value loaded from an already spilled imm register. It likely leads to an endless loop and the register allocation fails. This fixes the register allocation for i8086 when handling registers for very constrained instructions such as "mov ireg1,[ireg2+ireg3]". Here ireg2 can be only BX or BP. So in most cases only BX is available. When ireg2 is spilled, its value must be loaded to BX only. Coloring of the ireg which holds the spilled value must be as early as possible to be able to assign BX to this ireg. This fix should also help register allocation for other constrained/old CPUs. git-svn-id: trunk@45843 - M compiler/rgobj.pas --- commit b1b9d1f341feb04d4dc668981e469a0fc864cc62 Author: yury Date: Fri Jul 24 16:39:26 2020 +0000 * i8086: Removed internal error, since global vars can be in registers if used only in pascalmain. git-svn-id: trunk@45845 - M compiler/i8086/n8086ld.pas --- commit 34a5dfc8856ca177e6cd8848b41ef2200741f508 Author: yury Date: Fri Jul 24 16:42:09 2020 +0000 * i8086: Fixed referencing using BP and SP as base when FAR or HUGE memory model is used. git-svn-id: trunk@45846 - M compiler/i8086/hlcgcpu.pas --- commit 28395337766e49f89b58e690ec80b3a140201bdd Author: yury Date: Fri Jul 24 16:45:44 2020 +0000 * i8086: Enabled the cs_opt_regvar optimization. It works fine now. git-svn-id: trunk@45847 - M compiler/i8086/cpuinfo.pas --- commit a5bad32b7c1bfd2b0578d7cb2eaffa71bf4d34ab Author: Jonas Maebe Date: Sat Jul 25 16:11:54 2020 +0000 - removed no longer used -target $TARGET parameter (triplet is used instead) git-svn-id: trunk@45853 - M compiler/llvm/agllvm.pas --- commit f6e6b807d5db9adaebd4f17f83b331bed1e09399 Author: florian Date: Sat Jul 25 16:42:19 2020 +0000 + optimize mod for x86-64 as well git-svn-id: trunk@45854 - M compiler/x86/nx86mat.pas --- commit 72dc2145e9692cae4667563847612df46e37d73b Author: yury Date: Sat Jul 25 17:13:29 2020 +0000 * In Delphi mode throw a conversion error when trying to typecast a pointer to a procdef when they use different memory models. git-svn-id: trunk@45856 - M compiler/defcmp.pas --- commit e6b89c98f526394b5b7fbc197a551ab3e8229c2d Author: yury Date: Sat Jul 25 18:29:59 2020 +0000 * Changed tsuperregisterworklist.get() to always return the last item from the list. * Reversed sort order of simplifyworklist so nodes with most interferences will get their colors first. Since degree of nodes in simplifyworklist before sorting is always less than the number of usable registers this should not trigger spilling and should lead to a better register allocation in some cases. After these changes sysutils.o for i386-win32 is 80 bytes less. :) git-svn-id: trunk@45857 - M compiler/cgbase.pas M compiler/rgobj.pas --- commit a1720647670f3e009f0543c741c3dbf46f7e778c Author: florian Date: Sun Jul 26 14:41:50 2020 +0000 * patch by J. Gareth Moreton: fix for incorrect alignment removal, resolves #37420 git-svn-id: trunk@45864 - M compiler/aoptobj.pas --- commit 55c4986c8d14bc058781031f016bacda3a8a4c41 Author: florian Date: Mon Jul 27 21:00:25 2020 +0000 * modified patch by J. Gareth Moreton: MovOpMov2Op/Lea2Add/Lea2Sub consolidation, resolves #37422 git-svn-id: trunk@45865 - M compiler/x86/aoptx86.pas --- commit cc936710a0818e446e8154999a200a5d41f5e450 Author: yury Date: Tue Jul 28 20:08:41 2020 +0000 * mips: Added support for unaligned load/store. It greatly improves performance and prevents bus errors on systems which do not emulate unaligned memory access. git-svn-id: trunk@45871 - M compiler/mips/cgcpu.pas --- commit 0b5c50ea413dce745a264bf418f9bc15073bc2e9 Author: florian Date: Tue Jul 28 20:46:05 2020 +0000 * Aarch64: set register size correctly for AndStrb2Strb optimization, resolves #37427 git-svn-id: trunk@45872 - M .gitattributes M compiler/armgen/aoptarm.pas A tests/webtbs/tw37427.pp --- commit 2b86651914f674eeeb61d4c9a739a4b0f45a1003 Author: yury Date: Tue Jul 28 23:16:21 2020 +0000 * Re-enabled safe generic jump optimizations for mips. git-svn-id: trunk@45873 - M compiler/aoptobj.pas --- commit 2d8873d0854df357c28def22214ba55d5f0ad2d9 Author: yury Date: Tue Jul 28 23:27:42 2020 +0000 * Fixed TAOptObj.CollapseZeroDistJump to properly handle delay slots. git-svn-id: trunk@45874 - M compiler/aoptobj.pas --- commit 941020af1a9cc9f5136668d1fd03be5aa378c7ea Author: florian Date: Wed Jul 29 21:11:46 2020 +0000 * patch by J. Gareth Moreton: Minor oversight in MovAnd2Mov 3 optimisation, resolves #37442 git-svn-id: trunk@45961 - M compiler/x86/aoptx86.pas --- commit 42f2e5f8ad0ca44b0d13b98b98c167354645d19f Author: florian Date: Thu Jul 30 20:35:34 2020 +0000 + simplify "x mod -1", resolves #37449 git-svn-id: trunk@45969 - M .gitattributes M compiler/nmat.pas A tests/webtbs/tw37449.pp --- commit b62045809d9e996591c2bb9f2fa80e34108f557a Author: svenbarth Date: Fri Jul 31 15:55:34 2020 +0000 * reject overloads if they only differ in the result types (as long as they aren't operator overloads) + added tests git-svn-id: trunk@45973 - M .gitattributes M compiler/pparautl.pas A tests/test/tover5.pp A tests/test/tover6.pp A tests/test/tover7.pp A tests/test/tover8.pp A tests/test/tover9.pp --- commit 6f661e44d0af94fddc382f5c563e44a53b2bdcee Author: florian Date: Fri Jul 31 21:03:35 2020 +0000 * do not throw an internal error later on in case of a recursive call, if the declaration of the function was faulty, resolves #37460 git-svn-id: trunk@45975 - M .gitattributes M compiler/x86_64/cpupara.pas A tests/webtbf/tw37460.pp --- commit f542ee7b92e90fca148df15f35c50d3040d3fd03 Author: florian Date: Sat Aug 1 21:11:35 2020 +0000 * do not throw an internal error if an errorneous type is passed to str, resolves #37462 git-svn-id: trunk@45983 - M .gitattributes M compiler/ninl.pas A tests/webtbf/tw37462.pp --- commit 4964f5cf76586871ef5350d2c4d62de6a9156599 Author: yury Date: Sun Aug 2 11:50:43 2020 +0000 * Count the number of interferences with real registers. * Do not coalesce registers 'u' and 'v' if 'u' is the last usable real register available for imaginary register 'n' which also interferences with 'v'. This prevents endless spilling in some cases for constrained CPUs such as AVR. Resolves issue #37421. Also this reduces the number of spilled registers in some cases and even eliminates spilling completely for some simple routines for i386 and AVR. * Added a debug output of the number of spilled registers for each routine. This allows to easily compare results after changes in spilling algorithms. git-svn-id: trunk@45987 - M compiler/rgobj.pas --- commit 848ec1d2197dfbd696b5c69a8fcb39011ec5ec56 Author: svenbarth Date: Sun Aug 2 12:28:46 2020 +0000 * allow overloads with same result type for external Java classes due to Java supporting covariant return types for interfaces git-svn-id: trunk@45988 - M compiler/pparautl.pas --- commit 346adf7f556fda4abeb469c173efe806cdb4b7a6 Author: Jonas Maebe Date: Sun Aug 2 14:39:50 2020 +0000 * replace explicit (sometimes incomplete) tests with calls to doshortbooleval() * the c-style boolean evaluation of "and" is independent of short-circuit evaluation (you always have to consider the complete values in case the first one is <> 0) git-svn-id: trunk@45990 - M compiler/nadd.pas --- commit 0daba072460a9e6d5240b61fb28da62c7483066a Author: yury Date: Mon Aug 3 16:18:32 2020 +0000 * Enhanced the debug output of spilling statistics. Now it includes efficiency of the spilling which is based on weight and usage count of registers. Range 0-100%. Such statistics are very handy when you modify the register allocator. git-svn-id: trunk@46196 - M compiler/rgobj.pas --- commit 601e05f17f1e82cd60a2b4f863f68b5f44551459 Author: yury Date: Mon Aug 3 16:24:14 2020 +0000 * Count only usable real registers. git-svn-id: trunk@46197 - M compiler/rgobj.pas --- commit ff820247c3b3ae7ba88bf244127b6a36abb33423 Author: yury Date: Mon Aug 3 16:46:25 2020 +0000 * Early during register allocation, spill registers which interfere with all usable real registers. It is pointless to keep them for further processing. Also it may cause endless spilling. This can happen when compiling for very constrained CPUs such as i8086 where indexed memory access instructions allow only few registers as arguments and additionally the calling convention provides no general purpose volatile registers. git-svn-id: trunk@46199 - M compiler/rgobj.pas --- commit e70c8985039c67cc4dba5371dc515db77b3b942d Author: yury Date: Mon Aug 3 16:51:20 2020 +0000 * Removed the i8086 specific hack. Since r46199 the register allocator is able to handle the problem code. git-svn-id: trunk@46200 - M compiler/i8086/cgcpu.pas --- commit ddea92992347f28a2f9a0043b7743889d3e3e452 Author: yury Date: Mon Aug 3 18:45:38 2020 +0000 * For 8 and 16 bit CPUs preload the ref base and index to a separate temp register in the generic implementation of a_load64_reg_ref() and a_load64_ref_reg(). This reduces spilling and produces a better code. git-svn-id: trunk@46203 - M compiler/cg64f32.pas --- commit 0000682043decf5ac145fb13535c1de0ed570bbf Author: yury Date: Mon Aug 3 18:52:17 2020 +0000 * i8086: When a ref points to the 32-bit data, preload the ref base to a temp register to reduce spilling. git-svn-id: trunk@46204 - M compiler/i8086/cgcpu.pas --- commit 3047ce71bc0506c71e21db1725009fbb983ae3cd Author: Jonas Maebe Date: Mon Aug 3 20:36:02 2020 +0000 * fixed LLVM register allocator after r46199 git-svn-id: trunk@46212 - M compiler/llvm/rgllvm.pas M compiler/rgobj.pas --- commit 06a5ec5b5c771a120f864753daeacae98f6bb0a7 Author: Jonas Maebe Date: Mon Aug 3 20:51:37 2020 +0000 * fixed peephole optimizer replace lea by add even if the flags were in use (patch by J. Gareth Moreton) git-svn-id: trunk@46213 - M compiler/x86/aoptx86.pas --- commit c17ad509e2c3589a781f96da8128eb3f23188806 Author: svenbarth Date: Mon Aug 3 21:53:29 2020 +0000 * fix for Mantis #36775: apply patch by J. Gareth Moreton + added tests git-svn-id: trunk@46220 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw36775.pp A tests/webtbs/tw36775a.pp A tests/webtbs/tw36775b.pp A tests/webtbs/tw36775c.pp --- commit fdb1cd38abbeba81032f75edb3df6b05510774e3 Author: pierre Date: Tue Aug 4 07:45:03 2020 +0000 Disable limitation of handling of negative shift values, can be enalbed again by setting LIMIT_NEG_SHIFTVALUES macro git-svn-id: trunk@46221 - M compiler/cgobj.pas --- commit 719220e8a4f5b2b30bf8b7261581bf84c72555e7 Author: yury Date: Tue Aug 4 20:45:29 2020 +0000 * For 8/16 bit CPUs and TP mode, disable expansion to a larger integer type for subtract operations on unsigned integers. This is TP7 compatible. git-svn-id: trunk@46233 - M compiler/nadd.pas --- commit 1d3ed354debe8b6a937517192cce2abeb1dbc347 Author: florian Date: Tue Aug 4 20:51:52 2020 +0000 * patch by J. Gareth Moreton: unifies internalerrors, resolves #37471 git-svn-id: trunk@46234 - M compiler/x86/rax86int.pas M compiler/z80/raz80asm.pas --- commit 86d55055df60fa6c773832076cbdbd29d0e2ec78 Author: Jonas Maebe Date: Tue Aug 4 21:12:06 2020 +0000 * made internalerror unique git-svn-id: trunk@46236 - M compiler/llvm/aasmllvm.pas --- commit 28f25b2df0b1422fbcd6ac195a83cfbda40e4d9e Author: florian Date: Wed Aug 5 21:15:32 2020 +0000 * reworked usage of tcgnotnode.handle_locjump git-svn-id: trunk@46275 - M compiler/aarch64/ncpumat.pas M compiler/arm/narmmat.pas M compiler/avr/navrmat.pas M compiler/m68k/n68kmat.pas M compiler/mips/ncpumat.pas M compiler/ncgmat.pas M compiler/powerpc/nppcmat.pas M compiler/powerpc64/nppcmat.pas M compiler/riscv32/nrv32mat.pas M compiler/riscv64/nrv64mat.pas M compiler/sparcgen/ncpumat.pas M compiler/x86/nx86mat.pas M compiler/z80/nz80mat.pas --- commit e14a3f17e6d8d6ced42026b3c49e1f6d179e983d Author: florian Date: Wed Aug 5 21:15:33 2020 +0000 * reverted r46220 as it is fixed now properly git-svn-id: trunk@46276 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw37493.pp --- commit 315819692a6a92cd1c22f7a2031a0c0f139acc63 Author: florian Date: Wed Aug 5 21:30:37 2020 +0000 - do not call firstpass in tinnode.pass_typecheck as it prevents further optimizations git-svn-id: trunk@46277 - M compiler/nset.pas --- commit d9db6809373f3e8ac0a0a0d0123988982dbd661d Author: yury Date: Thu Aug 6 17:57:30 2020 +0000 * In assembly comments include all used registers by a variable for 8/16 bit CPUs. * Do not add comments about unused varlocs. git-svn-id: trunk@46296 - M compiler/rgobj.pas --- commit fcf085b141dbd7ffb23f79e3bc37f52bc7b7a1ae Author: yury Date: Thu Aug 6 19:04:08 2020 +0000 * msdos: Include debug info only when it is enabled by options. git-svn-id: trunk@46297 - M compiler/systems/t_msdos.pas --- commit 985220d94c6092336c956ed5dea464eb80c6c0ce Author: yury Date: Thu Aug 6 20:21:13 2020 +0000 * Added virtual function TObjSection.GetAltName to be able to specify additional section name by descendants. * OMF: Use the name of the first global symbol as an addition section name. This name is visible in the linker map file and helps tracking of section references. git-svn-id: trunk@46298 - M compiler/ogbase.pas M compiler/ogomf.pas --- commit af1e6fde5c8e7e77a96f43366b0ab6a69b1d0609 Author: florian Date: Thu Aug 6 20:49:07 2020 +0000 * setelementn cannot be the root node of a cse domain, resolves #37477 git-svn-id: trunk@46299 - M .gitattributes M compiler/optcse.pas A tests/webtbs/tw37477.pp --- commit bb25c604cf7281bfbf85edae9f90ecf78aaf99cd Author: florian Date: Thu Aug 6 20:49:08 2020 +0000 + optimize a in [a] git-svn-id: trunk@46300 - M compiler/nset.pas --- commit f20c76d73baf4c534c487b2196b9291de88a3d1d Author: Károly Balogh Date: Fri Aug 7 07:54:26 2020 +0000 m68k: fixed a long standing issue, where FPU registers would be clamped to single precision during spilling git-svn-id: trunk@46307 - M compiler/m68k/aasmcpu.pas --- commit d7ba09f5432fed805603c776afb6770daf65bb53 Author: florian Date: Fri Aug 7 21:43:00 2020 +0000 * insert type casts when creating new unaryminus nodes during simplification, resolves #37508 git-svn-id: trunk@46309 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw37508.pp --- commit e2bf83b5734772ada599ce9176ec4072bc60f18a Author: florian Date: Sat Aug 8 14:48:23 2020 +0000 * do not spill_replace if the register is used another time in the instruction git-svn-id: trunk@46331 - M compiler/m68k/rgcpu.pas --- commit f798141d30d284a7471c1c4c5f8f2edb89dfad34 Author: florian Date: Sat Aug 8 14:48:24 2020 +0000 * simplified code git-svn-id: trunk@46333 - M compiler/m68k/rgcpu.pas --- commit 995d2d280a79c02d3889fff62aadedc74874ec4d Author: florian Date: Sat Aug 8 14:48:24 2020 +0000 - no need to call add_move_instruction if data is moved between different register classes git-svn-id: trunk@46332 - M compiler/m68k/cgcpu.pas --- commit 867786c9539272bbd6be20a4614bbd5fbd0a0a94 Author: florian Date: Sun Aug 9 18:52:25 2020 +0000 * update version - -Oodfa removed git-svn-id: trunk@46345 - M compiler/pp.lpi --- commit 87615458481ea121410a7951a387694af6a65a7b Author: florian Date: Sun Aug 9 18:55:46 2020 +0000 * patch by J. Gareth Moreton: Long-range MOV + MOVS/Z optimisation, resolves #37390 git-svn-id: trunk@46346 - M compiler/x86/aoptx86.pas --- commit 2de0be96334891fdf07966fec883e1b9c612fcdf Author: Károly Balogh Date: Sun Aug 9 21:31:18 2020 +0000 * attempt to correct bitpacked arrays on big-endian systems after r43186. this fixed tparray13 test on m68k at least git-svn-id: trunk@46347 - M compiler/ngtcon.pas --- commit fb0a0cb65c41e07549813b86cc6b9afb3d1c7430 Author: florian Date: Mon Aug 10 17:08:45 2020 +0000 * patch by Kai Burghardt to use https urls, resolves #37522 git-svn-id: trunk@46351 - M compiler/msg/errorct.msg M compiler/msg/errord.msg M compiler/msg/errorda.msg M compiler/msg/errordu.msg M compiler/msg/errore.msg M compiler/msg/errores.msg M compiler/msg/errorf.msg M compiler/msg/errorfi.msg M compiler/msg/errorhe.msg M compiler/msg/errorheu.msg M compiler/msg/errorid.msg M compiler/msg/erroriu.msg M compiler/msg/errorn.msg M compiler/msg/errorpl.msg M compiler/msg/errorpli.msg M compiler/msg/errorpt.msg M compiler/msg/errorptu.msg M compiler/msg/errorr.msg M compiler/msg/errorru.msg M compiler/msg/errorues.msg --- commit a668814613173d9a682271b4c5a85a5137c83ce3 Author: florian Date: Mon Aug 10 17:08:46 2020 +0000 * regenerated git-svn-id: trunk@46352 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit ff34fb16455ed861cd81137997c187b4906e7011 Author: florian Date: Tue Aug 11 18:17:56 2020 +0000 * better complexity handling of mul, slash, div, mod git-svn-id: trunk@46365 - M compiler/nutils.pas --- commit b88d12c7b9e35798bac97672a92ed9bda401696e Author: svenbarth Date: Wed Aug 12 19:08:25 2020 +0000 + add option -FF to force the use of fpcres as RC compiler Note: if we merge this to 3.2.x then we can switch to this by default once 3.2.2 is released git-svn-id: trunk@46398 - M compiler/comprsrc.pas M compiler/options.pas M compiler/rescmn.pas --- commit f3541984ee18971ee2bdc8d8580653828d85fdba Author: svenbarth Date: Wed Aug 12 19:08:31 2020 +0000 * make sure that the resource compiler related globals are reset git-svn-id: trunk@46399 - M compiler/comprsrc.pas --- commit 4faea3a1869969c91c3a17f891f88a24fa1219f3 Author: svenbarth Date: Wed Aug 12 19:11:34 2020 +0000 * fix order of options git-svn-id: trunk@46401 - M compiler/msg/errore.msg --- commit 352489c397080a5acab70ec57836256de380dfb0 Author: svenbarth Date: Wed Aug 12 19:11:45 2020 +0000 * document -FF option git-svn-id: trunk@46402 - M compiler/msg/errore.msg --- commit fab0cf953719bd6a772552ee374c77968cffe928 Author: svenbarth Date: Wed Aug 12 19:11:49 2020 +0000 * regenerate msg*.inc files git-svn-id: trunk@46403 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit dc4637862ff15560c16e5438618e8daf125b627a Author: svenbarth Date: Thu Aug 13 05:42:36 2020 +0000 + add a constant that describes all internal COFF writers (be it PE/COFF or not) git-svn-id: trunk@46409 - M compiler/systems.pas --- commit 17d583a419b65457783dc7b816297b69309157f0 Author: svenbarth Date: Thu Aug 13 05:42:41 2020 +0000 * fix for Mantis #37559: the adjustment of the section type should only be done for internal COFF writers git-svn-id: trunk@46410 - M compiler/ogbase.pas --- commit 7b65f85a0b9c398dea2dd5bac7cd1b6140480950 Author: yury Date: Thu Aug 13 18:46:57 2020 +0000 * Accidental commit. git-svn-id: trunk@46415 - M compiler/aasmdata.pas M compiler/ncal.pas M compiler/ncgcal.pas M compiler/psub.pas --- commit aefc1be555590a7dd6aef6a9b625f7ace096651b Author: yury Date: Thu Aug 13 18:48:19 2020 +0000 * Reverted accidentally committed files. git-svn-id: trunk@46416 - M compiler/aasmdata.pas M compiler/ncal.pas M compiler/ncgcal.pas M compiler/psub.pas --- commit ac6f74a6a24bfb0cd007bf8745728dbd506c5a04 Author: florian Date: Thu Aug 13 20:35:11 2020 +0000 * patch by Christo Crause to make nostackframe with the windowed xtensa abi working, resolves #37550 git-svn-id: trunk@46417 - M compiler/xtensa/cgcpu.pas --- commit 887de9f27c255dfcba30973cd24b1c98431d6b05 Author: yury Date: Fri Aug 14 13:10:12 2020 +0000 * Fixed nasm writer by adding a new line after the GLOBAL directive. git-svn-id: trunk@46427 - M compiler/x86/agx86nsm.pas --- commit 631ec771578492fefe448d4f861283f04f1a5521 Author: yury Date: Fri Aug 14 16:17:18 2020 +0000 * 8086: Fixed calling of local routines with the near attribute in the 'far code' memory models. git-svn-id: trunk@46431 - M compiler/i8086/hlcgcpu.pas --- commit 9d3b105fab0d6d66192678520c14c20d9d638357 Author: yury Date: Fri Aug 14 16:21:12 2020 +0000 * msdos: By default external routine names with the pascal calling convention must be all upper case. This is TP and TASM compatible. git-svn-id: trunk@46432 - M compiler/pdecsub.pas --- commit f7d14128b53ad2147e50042d1d148e4ae9de62b3 Author: yury Date: Fri Aug 14 16:56:13 2020 +0000 * 8086: Do not force far calls in the TP mode by default. This is TP compatible. Other modes need forced far calls by default in order to compile non-TP code. git-svn-id: trunk@46433 - M compiler/scanner.pas --- commit 1ba8255af07aa5e3c5a75d487c47b7e97d4a2016 Author: florian Date: Fri Aug 14 18:10:56 2020 +0000 * do not try to unroll a loop if previously an error was thrown, resolves #37475 git-svn-id: trunk@46435 - M .gitattributes M compiler/optloop.pas A tests/webtbf/tw37475.pp --- commit ad7c3d9a098dd5d354390c3497e95681b2ee0f73 Author: Jonas Maebe Date: Sat Aug 15 12:14:45 2020 +0000 * don't convert lea to add/inc/dec/sub if there's a symbol in the reference o fixes make cycle on Darwin/i386 git-svn-id: trunk@46448 - M compiler/x86/aoptx86.pas --- commit cc14f066771b4f7814b8295a2f85e037fc14f6bf Author: Jonas Maebe Date: Sat Aug 15 15:13:08 2020 +0000 * when a function returns a value in a register, but normally that type would never be put in that kind of register by the compiler, store it to memory to avoid issues down the line o fixes tcalext6 on darwin/i386 git-svn-id: trunk@46449 - M compiler/ncgcal.pas --- commit 18b8b9c566f597015de7e0c3a03ac98cedc2a6fb Author: florian Date: Sat Aug 15 18:29:26 2020 +0000 * do not apply range test optimization if the variable is a string being compared against a char constants, resolves #37476 git-svn-id: trunk@46453 - M .gitattributes M compiler/nadd.pas A tests/webtbf/tw37476.pp --- commit 154ada9e86cd4b6b42857d97437caedbd4d0104e Author: yury Date: Sun Aug 16 10:34:23 2020 +0000 * 8086: enable cs_force_far_calls when m_nested_procvars is enabled. * 8086: when the compiler mode switches to a non-TP mode, enable cs_force_far_calls. git-svn-id: trunk@46454 - M compiler/scanner.pas --- commit 721e89fafde6662c200a5efc3d67bc5480e4386e Author: yury Date: Sun Aug 16 10:45:45 2020 +0000 * msdos: Force names of external routines to be all uppercase only in TP mode. git-svn-id: trunk@46455 - M compiler/pdecsub.pas --- commit f26735fc778f7f1a9ce234c93f1fad5002fa04f2 Author: Jonas Maebe Date: Sun Aug 16 12:29:31 2020 +0000 * execute the tempinitcode whent the tempcreate node gets processed rather than when the first temprefnode to it gets processed. Solves the issue the foreachnodestatic processes the tempinitcode when seeing the tempcreatenode and ignores it when seeing temprefnodes, even though it may actually be executed/generated for the temprefnode. It's impossible to easily process it for the "correct" temprefnode (since there may be multiple temprefnodes for the same tempcreatenode) o fixes tarray12 for Darwin/i386 and Linux/i386 git-svn-id: trunk@46457 - M compiler/nbas.pas M compiler/ncgbas.pas M compiler/nutils.pas --- commit a88288bab3803476bfa3e54c432f8cc3ed264b0f Author: Jonas Maebe Date: Sun Aug 16 12:46:21 2020 +0000 - reverted r46457, accidentally committed (breaks -Oooptcse) git-svn-id: trunk@46459 - M compiler/nbas.pas M compiler/ncgbas.pas M compiler/nutils.pas --- commit b4139720e60b86e64780e535c74176676ee2b67f Author: yury Date: Sun Aug 16 13:27:56 2020 +0000 * RTTI: Offset of record fields is defined as SizeInt not ptruint. git-svn-id: trunk@46460 - M compiler/ncgrtti.pas --- commit f72f021da42839f838f8161a5d186becd1f21368 Author: florian Date: Sun Aug 16 16:26:39 2020 +0000 + AAarch64: FMovFMov2FMov optimization git-svn-id: trunk@46461 - M compiler/aarch64/aoptcpu.pas --- commit 324deca817a97a8513ffe60bda659485b739a734 Author: yury Date: Sun Aug 16 17:08:00 2020 +0000 * wlib: Explicitly specify the smallest possible record align to reduce the size of .a files. git-svn-id: trunk@46462 - M compiler/link.pas M compiler/systems.pas --- commit f9ddc3ac66d587eb8547bc09d33e855db16b033e Author: florian Date: Sun Aug 16 21:41:56 2020 +0000 + Xtensa: L32IMov2L32I optimization git-svn-id: trunk@46464 - M compiler/xtensa/aoptcpu.pas --- commit 86360152650fffd6720af949cd52579a735badd2 Author: florian Date: Sun Aug 16 21:48:30 2020 +0000 + Xtensa: consider also floating point stores in TCpuAsmOptimizer.RegLoadedWithNewValue git-svn-id: trunk@46465 - M compiler/xtensa/aoptcpu.pas --- commit 6878ffbf041008c0300f263ec901ae645ec0414d Author: yury Date: Mon Aug 17 09:25:45 2020 +0000 * In the TP mode for 16-bit CPUs uint8+uint8 is extended to sint16+sint16. This is TP compatible. git-svn-id: trunk@46468 - M compiler/nadd.pas M tests/test/cpu16/taddint1.pp --- commit 222f981dd17189cc46d30d248c13d9e50e128797 Author: yury Date: Mon Aug 17 13:37:55 2020 +0000 * 8086: Fixed Ofs() for far routines. resultdef of typeconvnode.typecheck_proc_to_procvar() is reused every time you get an address of a proc. So it is forbidden to change the far/near attribute of resultdef - it leads to mess during code generation. Instead it is needed to use separate reusable resultdefs with new flags pc_far_address and pc_offset. git-svn-id: trunk@46470 - M compiler/i8086/n8086cnv.pas M compiler/symdef.pas --- commit 15d1d00c34f1cd0b913afb83bbd88486a6ca8053 Author: yury Date: Mon Aug 17 14:23:27 2020 +0000 * fixed a typo. git-svn-id: trunk@46473 - M compiler/utils/ppuutils/ppudump.pp --- commit 075057f929f9a197b4c3abca520edcd61315ed6a Author: svenbarth Date: Mon Aug 17 19:45:13 2020 +0000 * fix for Mantis #37579: mark the 'German' tokens with the characters they represent git-svn-id: trunk@46475 - M compiler/tokens.pas --- commit 2186846ab1d273fdab3ad47a053db8bf3cfb717e Author: yury Date: Tue Aug 18 09:19:20 2020 +0000 * 8086: Fixed an internal error for cases like FarPtr2 := FarPointer($12345678) + int16; git-svn-id: trunk@46477 - M compiler/i8086/n8086add.pas --- commit e4b717c81766d4ee4b614e4627887045a781d771 Author: yury Date: Tue Aug 18 09:52:40 2020 +0000 * 8086: More fixes for Ofs() handling. git-svn-id: trunk@46478 - M compiler/i8086/n8086cnv.pas M compiler/i8086/symcpu.pas --- commit 764227193a358e8e5ab83e5a141631a8abfde89a Author: yury Date: Tue Aug 18 11:31:39 2020 +0000 * Added on option to implement library based smartlinking of the dead stripable vectorized lists (e.g. resource strings index). By default smartlinking of such lists only supported when the section based smartlinking (tf_smartlink_sections) is enabled for a target. git-svn-id: trunk@46479 - M compiler/aasmcnst.pas M compiler/cresstr.pas M compiler/llvm/nllvmtcon.pas --- commit c75953c12bf0ce476422c8b9ab4964de607bf97b Author: yury Date: Tue Aug 18 11:36:39 2020 +0000 * msdos: Implemented library based smartlinking of the dead stripable vectorized lists. It is enabled for the internal linker and wlink. These linkers sort sections by name by default. git-svn-id: trunk@46480 - M compiler/systems/t_msdos.pas M compiler/x86/agx86nsm.pas --- commit 17e75004c5fac061abeecb38bd55f136292faba3 Author: yury Date: Tue Aug 18 12:02:20 2020 +0000 * Allow library based smartlinking of indirect symbol entries. git-svn-id: trunk@46481 - M compiler/aasmcnst.pas --- commit 9e11f8122f49356bf6f3429c67052d95ddc0fef0 Author: yury Date: Tue Aug 18 12:27:46 2020 +0000 * Corrected r46481. Use both tcalo_new_section and tcalo_make_dead_strippable flags since only the default implementation implies a new section creation when tcalo_make_dead_strippable is specified. git-svn-id: trunk@46482 - M compiler/aasmcnst.pas --- commit 580e9e516970c6788ec04994e130f3192d5f8faf Author: yury Date: Tue Aug 18 20:02:19 2020 +0000 * wlib: calculate the record size according to the number of files in the library. git-svn-id: trunk@46483 - M compiler/link.pas --- commit 004ac4d1f4e0d67c811fdc51d3070c0203b0c774 Author: florian Date: Tue Aug 18 21:10:06 2020 +0000 * Xtensa: set abi correctly git-svn-id: trunk@46485 - M compiler/options.pas --- commit b267f6fcb3f3e7d7f2e99b10dce495d510863b27 Author: florian Date: Tue Aug 18 21:10:25 2020 +0000 * internal error unified git-svn-id: trunk@46486 - M compiler/xtensa/cgcpu.pas --- commit 4873ec73a796b55e7002e8b5971189dd9ce570da Author: yury Date: Wed Aug 19 10:20:47 2020 +0000 * 8086: Fixed loading a 32-bit ref to a register in case the target register is used as the ref base or index. git-svn-id: trunk@46490 - M compiler/i8086/cgcpu.pas --- commit 97eb32e6fd2216cb5e284329b4eb9758720b8a16 Author: yury Date: Wed Aug 19 10:27:19 2020 +0000 * 8086: Also fixed loading a register to a 32-bit ref in case the source register is used as the ref base or index. git-svn-id: trunk@46491 - M compiler/i8086/cgcpu.pas --- commit 120825d1d6976806b5e7ab02e77ef1455598b03c Author: florian Date: Wed Aug 19 21:09:44 2020 +0000 * do not throw an internal error on illegal assembler expressions, resolves #37439 git-svn-id: trunk@46499 - M .gitattributes M compiler/x86/rax86att.pas A tests/webtbf/tw37459.pp --- commit 5d0e1dbe5a148350b5aa041c511a5115a04a5ae0 Author: yury Date: Thu Aug 20 11:20:10 2020 +0000 * msdos: Fixed section based smartlinking after my recent changes. git-svn-id: trunk@46504 - M compiler/systems/t_msdos.pas --- commit ac36a214bff45a88a2018584105934233a524b60 Author: pierre Date: Thu Aug 20 13:17:59 2020 +0000 Do not set EXCLUDE_80BIT_TARGETS to 1 if OPT variable contains -dFPC_SOFT_FPUX80 git-svn-id: trunk@46507 - M compiler/Makefile M compiler/Makefile.fpc --- commit b1ee6f7fdc9bcaa9e249d6e7403e3ee2b5bdc113 Author: pierre Date: Thu Aug 20 16:01:34 2020 +0000 Fix error in previous commit Try to avoid unneeded steps for fullinstallsymlink git-svn-id: trunk@46510 - M compiler/Makefile M compiler/Makefile.fpc --- commit 1002a7c5901cdb185711fc197b4b0c6cee1de91d Author: yury Date: Thu Aug 20 16:35:27 2020 +0000 * 8086: Fixed very long section names when $HUGECODE is ON and section based smartlinking is used. * Added a utility function TrimStrCRC32(). git-svn-id: trunk@46511 - M compiler/fpccrc.pas M compiler/ogomf.pas M compiler/x86/agx86nsm.pas --- commit 75e5afd45b8ad8fae83c2931a7d04e66de893f7f Author: yury Date: Thu Aug 20 16:59:10 2020 +0000 * When optimization is off always load unused parentfp to a local location to be debugger friendly. git-svn-id: trunk@46514 - M compiler/ncgutil.pas --- commit c69090446ae513ade58e3c803a3f1d6092b8e6aa Author: yury Date: Thu Aug 20 17:39:45 2020 +0000 * msdos: Fixed AV in the internal linker in some cases when code or data exceeds 64k. git-svn-id: trunk@46519 - M compiler/ogomf.pas --- commit e28fca97299911fbf77142d001c0b905f4337711 Author: yury Date: Thu Aug 20 18:30:09 2020 +0000 * If parentfp is passed in the stack it can be skipped only if po_delphi_nested_cc is set for the routine. git-svn-id: trunk@46520 - M compiler/ncgcal.pas --- commit 0a34a090e0f6676bae0ed2afb9570969b37a461b Author: yury Date: Thu Aug 20 19:59:36 2020 +0000 x86: It is more optimal to push some register (NR_FRAME_POINTER_REG) instead of a constant value in a_load_undefined_cgpara(). git-svn-id: trunk@46521 - M compiler/x86/hlcgx86.pas --- commit de3a479be3a56a2bcb4f43c778d735b4b95e4d99 Author: yury Date: Thu Aug 20 20:08:10 2020 +0000 * Added assembler comments about unused parameters. git-svn-id: trunk@46522 - M compiler/ncgcal.pas --- commit 7157bac9fddade13cb9325499b12202009d0f7d5 Author: florian Date: Thu Aug 20 21:29:48 2020 +0000 * patch by Christo Crause, resolves #37335 * ESP8266 support for t_freertos.pas + -Ff switch to be able to pass the IDF_PATH without using an evironment variable git-svn-id: trunk@46527 - M compiler/globals.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas M compiler/systems/t_freertos.pas --- commit 0881e4fd9827791a508b5ad985e6f8def25f496a Author: florian Date: Thu Aug 20 21:29:49 2020 +0000 * insert literals after the section start which belongs to the current procedure git-svn-id: trunk@46528 - M compiler/xtensa/hlcgcpu.pas --- commit 85d19af48c004817142f0542782741e0d4a46c3a Author: pierre Date: Fri Aug 21 09:13:59 2020 +0000 * Remove debug ECHO lines * Fix detection of -dFPC_SOFT_FPUX80, as OPT is reset after being copied over to LOCALOPT. + Add FULL_TARGETS that list all targets concerned by fullcyle and associated targets. git-svn-id: trunk@46532 - M compiler/Makefile M compiler/Makefile.fpc --- commit 5801a7431c7f923681ab48ad4f29332ba2fd4d9e Author: svenbarth Date: Fri Aug 21 12:37:42 2020 +0000 * reset idfpath when globals are initialized (needed for the textmode IDE) git-svn-id: trunk@46535 - M compiler/globals.pas --- commit 1f073818bad405b90da52ca942da5f70db6a1ec4 Author: florian Date: Fri Aug 21 21:02:01 2020 +0000 * cleanup ARM remainders * locals can have 0 as offset, force a reference in this case git-svn-id: trunk@46536 - M compiler/xtensa/racpugas.pas --- commit 92d5e613b5bc2a33c97153c0a736848b10eb6a37 Author: florian Date: Fri Aug 21 21:35:50 2020 +0000 * Xtensa: needs no mul helper, all variants have the MULL instruction git-svn-id: trunk@46539 - M compiler/fpcdefs.inc --- commit 5ec489c018f207fa13ef58ef1f86a07bfd93fae7 Author: yury Date: Sat Aug 22 10:58:21 2020 +0000 * ait_varloc instructions are handled and removed by Trgobj.translate_registers() and never left for an assembler. git-svn-id: trunk@46541 - M compiler/aggas.pas M compiler/llvm/agllvm.pas M compiler/x86/agx86nsm.pas --- commit c2c7ac634a3e201575638f6e4452ccc0b1afb28a Author: svenbarth Date: Sat Aug 22 13:33:53 2020 +0000 * fix for Mantis #37616: apply patch by Kai Burghardt to complain about the correct type used by setjmp/longjmp git-svn-id: trunk@46542 - M compiler/psub.pas --- commit 31cb670b2013c0128101c3b4556891b48b897386 Author: florian Date: Sat Aug 22 17:21:36 2020 +0000 + Xtensa: make use of muluh/mulsh instructions git-svn-id: trunk@46544 - M compiler/xtensa/cpuinfo.pas M compiler/xtensa/ncpuadd.pas --- commit 6f222e276ed1cba81b3a1cfd328b859eb00d2556 Author: florian Date: Sat Aug 22 18:00:25 2020 +0000 * Xtensa: make use of divide extension if available git-svn-id: trunk@46545 - M compiler/xtensa/cpuinfo.pas M compiler/xtensa/ncpumat.pas --- commit 15fe9f104786ec06addb735eaa3e4aba863ebcf2 Author: florian Date: Sat Aug 22 19:38:08 2020 +0000 * cosmetics git-svn-id: trunk@46547 - M compiler/xtensa/cpupara.pas --- commit eaa7d95a9d1994bff8d476b57ae61e93cb663760 Author: florian Date: Sat Aug 22 19:38:09 2020 +0000 + Xtensa: implemented TCPUAddNode.second_cmp64bit properly git-svn-id: trunk@46548 - M compiler/xtensa/ncpuadd.pas --- commit 26e2759c272b992021388c1cf0685194f6d45aa3 Author: florian Date: Sat Aug 22 19:38:10 2020 +0000 * Xtensa: fixed tcg64fxtensa.a_op64_reg_reg_reg for unsigned operations git-svn-id: trunk@46549 - M compiler/xtensa/cgcpu.pas --- commit 6e777d89671eb2d303c33a31645b9529e6848d38 Author: yury Date: Sat Aug 22 19:53:39 2020 +0000 * ait_comment,ait_regalloc,ait_tempalloc,ait_varloc instructions produce only comments in the external assembler output. Moved handling of these instructions to TExternalAssembler.WriteComments(). This eliminates code duplication and improves maintainability. git-svn-id: trunk@46550 - M compiler/aggas.pas M compiler/assemble.pas M compiler/jvm/agjasmin.pas M compiler/llvm/agllvm.pas M compiler/z80/agsdasz80.pas M compiler/z80/agz80vasm.pas --- commit 04846345b2c8b7d805869582e9f3b6f96fa124ca Author: florian Date: Sat Aug 22 20:33:30 2020 +0000 * Xtensa: more fixes to tcg64fxtensa.a_op64_const_reg_reg and tcg64fxtensa.a_op64_reg_reg_reg git-svn-id: trunk@46551 - M compiler/xtensa/cgcpu.pas M compiler/xtensa/ncpuadd.pas M rtl/inc/systemh.inc --- commit 8cc58423174fd272b2890011b5315b2d30f294db Author: yury Date: Sat Aug 22 20:47:54 2020 +0000 * Use TExternalAssembler.WriteComments() also by nasm and intel assembler writers. git-svn-id: trunk@46553 - M compiler/x86/agx86int.pas M compiler/x86/agx86nsm.pas --- commit 4dcdaa259a4396078bc00bbe98b7fe2853a4b415 Author: yury Date: Sat Aug 22 20:50:02 2020 +0000 * 8086: Use CX as a scratch register instead of BX. git-svn-id: trunk@46554 - M compiler/x86/cgx86.pas --- commit a45f71d0dcf5b8c9605c20f63fa2bbe62ad6c0ce Author: florian Date: Sat Aug 22 21:28:08 2020 +0000 * Xtensa: optimize some shifts by constants git-svn-id: trunk@46556 - M compiler/xtensa/cgcpu.pas M compiler/xtensa/ncpumat.pas --- commit 6a3971c9b631c0e8a0f214d27125278dbd6aa6bd Author: yury Date: Sat Aug 22 22:12:40 2020 +0000 * 8086: If a far procvar is called, it must be in a memory location. This fixes a hack to emulate CALL reg1:reg2. git-svn-id: trunk@46557 - M compiler/i8086/cgcpu.pas M compiler/i8086/hlcgcpu.pas M compiler/i8086/n8086cal.pas --- commit eee67af68444314bc1668862a77548d1c8882628 Author: yury Date: Sat Aug 22 22:17:03 2020 +0000 * 8086: Fixed using far procvars in a near code memory model and vice versa. git-svn-id: trunk@46558 - M compiler/i8086/hlcgcpu.pas --- commit 5ec101d578ec46059cf5a619e3b30ad85d0be7eb Author: yury Date: Sat Aug 22 23:06:55 2020 +0000 * 8086: Do not destroy contents of the BX parameter when calling a procvar by ref with a base. git-svn-id: trunk@46559 - M compiler/i8086/n8086cal.pas M compiler/x86/nx86cal.pas --- commit 00db7646c8b9dee96948af82c76d2aba55a13089 Author: yury Date: Sat Aug 22 23:42:12 2020 +0000 * 8086: Fixed register allocation failure after r46559. git-svn-id: trunk@46560 - M compiler/i8086/n8086cal.pas --- commit 04baeb2bcf31735ca563e3806e7c6d4c3fecf4c3 Author: yury Date: Sun Aug 23 00:17:40 2020 +0000 * 8086: Reverted r46557. It must be implemented differently. git-svn-id: trunk@46561 - M compiler/i8086/cgcpu.pas M compiler/i8086/hlcgcpu.pas M compiler/i8086/n8086cal.pas --- commit e5a923eb7abe7a6dc063a1c297381d573418be66 Author: yury Date: Sun Aug 23 10:26:54 2020 +0000 * 8086: Proper implementation of: If a far procvar is called, it must be in a memory location. This fixes a hack to emulate CALL reg1:reg2. git-svn-id: trunk@46641 - M compiler/i8086/cgcpu.pas M compiler/i8086/hlcgcpu.pas M compiler/i8086/n8086cal.pas M compiler/ncal.pas --- commit d1d3d7cd089fdf840bae5269fa4655f6c8054884 Author: Jonas Maebe Date: Sun Aug 23 11:27:59 2020 +0000 * never create a regular temp for inline parameters that can be modified by the caller (mantis #37465)a o in theory, the regular checks for doing so should never trigger, but due to compiler-generated nodes (such as calls to fpc_ansistr_unique), they could. Internal address nodes can deal with taking the address of the function result in this case. git-svn-id: trunk@46660 - M .gitattributes M compiler/ncal.pas A tests/webtbs/tw37465.pp --- commit ea2ae3b8f0a677dbda1288f158eab2e57379b0f4 Author: florian Date: Sun Aug 23 14:17:01 2020 +0000 + Xtensa: use extui for and with constants git-svn-id: trunk@46664 - M compiler/xtensa/cgcpu.pas --- commit 27fbf8c91e97f06d972c43315f2fa9c2fb6d2b88 Author: florian Date: Sun Aug 23 19:13:19 2020 +0000 * Xtensa: tcpunotnode.second_boolean fixed git-svn-id: trunk@46672 - M compiler/ncgutil.pas M compiler/xtensa/ncpumat.pas --- commit 453bfcd37094c40c7baafdfe477eaa137a3eaa43 Author: Jonas Maebe Date: Sun Aug 23 21:11:09 2020 +0000 * emit the correct declaration for procdefs used to force a procname in LLVM o fixes lazarus startup on macOS/AArch64 when compiled with the LLVM cg git-svn-id: trunk@46675 - M compiler/jvm/njvmcal.pas M compiler/llvm/nllvmcal.pas M compiler/ncal.pas M compiler/ncgcal.pas --- commit 3208929e176a2e6664f803ccb6db0fa03b22c246 Author: Jonas Maebe Date: Sun Aug 23 21:11:13 2020 +0000 * add Xcode-11.0 as LLVM target version versin git-svn-id: trunk@46676 - M compiler/llvm/llvminfo.pas --- commit 03a0e6e82f4c6616fe6215e8a241b9aba7b00c23 Author: florian Date: Mon Aug 24 21:02:08 2020 +0000 * Xtensa: fixed TCPUAddNode.second_cmpsmallset git-svn-id: trunk@46678 - M compiler/xtensa/ncpuadd.pas --- commit 46c354ae583e0e983ffa0bca2d46402108c6cc9e Author: pierre Date: Tue Aug 25 13:27:53 2020 +0000 Fix EXTDEBUG code: tai_comment requires use of strpnew function with constant string git-svn-id: trunk@46688 - M compiler/powerpc64/nppcadd.pas --- commit d4c9e1f26047eaf2b6a6f339db190d82a93f9975 Author: pierre Date: Tue Aug 25 13:29:16 2020 +0000 Replace outdated cgop2string function by tcgsize2str function from cgbase unit to fix EXTDEBUG cycle on powerpc64le-linux git-svn-id: trunk@46689 - M compiler/powerpc64/cgcpu.pas M compiler/powerpc64/hlcgcpu.pas M compiler/ppcgen/cgppc.pas M compiler/riscv/cgrv.pas M compiler/riscv64/hlcgcpu.pas --- commit 6e25a014e636af31e6985d017fa63455312b9a98 Author: florian Date: Tue Aug 25 21:39:39 2020 +0000 * Xtensa: force correct location into a register in tcpunotnode.second_boolean git-svn-id: trunk@46695 - M compiler/xtensa/ncpumat.pas --- commit f30f62231f1231664b155cbff22f37ad60ad78b5 Author: florian Date: Tue Aug 25 21:39:40 2020 +0000 * reverted 46417: if a assembler subroutine needs an entry instruction, it should be added explicitly git-svn-id: trunk@46696 - M compiler/xtensa/cgcpu.pas --- commit f4ded560cca46d7230e612511bf63349ba4ab3a1 Author: florian Date: Wed Aug 26 21:01:00 2020 +0000 * Xtensa: OP_NOT fixed git-svn-id: trunk@46706 - M compiler/xtensa/cgcpu.pas --- commit 250c0750a2ab541cb22a57490ef1c2dab64238f8 Author: florian Date: Wed Aug 26 21:03:42 2020 +0000 * Xtensa: several issues with parameter passing of the windowed api fixed git-svn-id: trunk@46708 - M compiler/psub.pas M compiler/xtensa/cpupara.pas M compiler/xtensa/cpupi.pas M compiler/xtensa/symcpu.pas --- commit 47d6699a2ee7a439b7bf02c4b53ed1f3638b2d99 Author: florian Date: Thu Aug 27 21:31:31 2020 +0000 * Xtensa: some issues with large parameters fixed git-svn-id: trunk@46720 - M compiler/xtensa/cpupara.pas --- commit fd0515344cd7b29f9b3cded698d44cbea3e30ebc Author: florian Date: Fri Aug 28 20:18:35 2020 +0000 * Xtensa: record alignment is upto 8 bytes done git-svn-id: trunk@46727 - M compiler/systems/i_freertos.pas --- commit 292574f3fc2bd068c68d7fba9425954ca3fa6eb0 Author: florian Date: Fri Aug 28 20:18:35 2020 +0000 * Xtensa: fix single<>single git-svn-id: trunk@46726 - M compiler/xtensa/ncpuadd.pas --- commit 3eb7a130885beda849b90b73e4cb54cc3c92c711 Author: florian Date: Fri Aug 28 20:18:36 2020 +0000 + Xtensa: implemented tcpuparamanager.ret_in_param according to API * fixed passing of variant parameters git-svn-id: trunk@46728 - M compiler/xtensa/cpupara.pas --- commit 2c00016fdde15638a0737f51c75582409eea4e12 Author: florian Date: Sat Aug 29 20:24:31 2020 +0000 + Xtensa: reused constant pool entries if possible git-svn-id: trunk@46731 - M compiler/xtensa/cgcpu.pas --- commit 867ed59459168b90f10f42cb7d9b2450347fe61c Author: florian Date: Sat Aug 29 20:24:32 2020 +0000 * Xtensa: various stack handling fixes git-svn-id: trunk@46732 - M compiler/xtensa/cgcpu.pas M compiler/xtensa/cpupi.pas --- commit b36597c76ae267ba6b245209b1bd3e14e6eaff5e Author: florian Date: Sun Aug 30 20:53:59 2020 +0000 * better calculation of estimated stack frame size git-svn-id: trunk@46733 - M compiler/ncal.pas M compiler/nld.pas M compiler/xtensa/cgcpu.pas M compiler/xtensa/cpupara.pas M compiler/xtensa/cpupi.pas --- commit 6879a16cc33d649b0084668fb59e9775f2f9d966 Author: florian Date: Sun Aug 30 20:54:00 2020 +0000 * Xtensa: rewrote parameter handling * Xtensa: aggregate types up to 16 bytes are returned in registers git-svn-id: trunk@46734 - M compiler/xtensa/cpupara.pas M compiler/xtensa/cpupi.pas --- commit 4407670d15bd4110dc758305a4d74923a3710f89 Author: florian Date: Sun Aug 30 21:32:45 2020 +0000 * Xtensa: fix operand size and location handling in TCPUAddNode.second_cmp git-svn-id: trunk@46735 - M compiler/xtensa/ncpuadd.pas --- commit d5ce344b67a811e9360b47ee0f02cbeeebd44953 Author: florian Date: Mon Aug 31 21:01:26 2020 +0000 * stack size estimation again improved git-svn-id: trunk@46739 - M compiler/xtensa/cpupi.pas --- commit 1e38369d06eea6c5e8c7fbda743b6af27d147a62 Author: florian Date: Wed Sep 2 20:47:53 2020 +0000 * Xtensa: set expectloc of not nodes correctly git-svn-id: trunk@46752 - M compiler/xtensa/ncpumat.pas --- commit b2177fb50e628d3a1fccde2245428b431940ca4b Author: svenbarth Date: Fri Sep 4 15:44:23 2020 +0000 * fix for Mantis #37650: apply adjusted patch by Ryan Joseph do not range check the length of ShortStrings if their length parameter is based on a generic constant + added test git-svn-id: trunk@46766 - M .gitattributes M compiler/pexpr.pas A tests/webtbs/tw37650.pp --- commit 965f759c0df8ec5383a0f0f6fad9b5203d86d99a Author: florian Date: Fri Sep 4 20:58:14 2020 +0000 * Xtensa: arrays are always passed as by reference but still returned in up to 4 registers git-svn-id: trunk@46770 - M compiler/xtensa/cpupara.pas --- commit cc315e0ac7d0022197a7b49f4473ab219c3aa6b7 Author: Jonas Maebe Date: Sat Sep 5 12:25:09 2020 +0000 * fix tw3930 after r37927 o "unique" class (and interface) type aliases should actually not exist at all except for overload resolution. All the rest (VMT, UUID, RTTI, ...) should be taken from the aliased class/interface o there is one Delphi-incompatibily left after this change, but it shouldn't matter: tw8180 does not compile if you change the declaration to "tcl=class(TInterfacedObject,XStr,iinterface)", while Kylix does compile that. It doesn't really matter though, because in Kylix this actually adds iinterface twice as implemented interface, so there is no point in accepting this. git-svn-id: trunk@46773 - M compiler/ncgrtti.pas M compiler/ncgvmt.pas M compiler/pdecl.pas M compiler/symdef.pas M compiler/symtable.pas M tests/webtbs/tw29367.pp M tests/webtbs/tw8180.pp --- commit 23956e9f10e8bad74b4521ae2db58b2d75b9d6d6 Author: Jonas Maebe Date: Sat Sep 5 12:25:13 2020 +0000 * prevent quadratic complexity in the size of the inheritance chain when comparing objectdefs for equality git-svn-id: trunk@46774 - M compiler/defcmp.pas --- commit acef1e22d36eb351e2d9e7bf7b3c8929a894d118 Author: yury Date: Sat Sep 5 16:06:41 2020 +0000 * Improved output of spilling statistics: - Do not use count_uses, since weight already represents a usage count of a register. - Do not count spills of registers with weight less than 100. git-svn-id: trunk@46775 - M compiler/rgobj.pas --- commit c2dc342c556e5fd9a6db27b7de8f12e193b0fbb0 Author: yury Date: Sat Sep 5 18:20:18 2020 +0000 * Use the initial location of stack parameters as a spilling location if spilling is needed. This leads to the following optimizations: - no spill temp is allocated; - no load of a stack parameter to a spill temp; - if a stack parameter is used only once do not preload it to a register. The parameter can be accessed directly in the stack if the target CPU supports this. git-svn-id: trunk@46776 - M compiler/ncgutil.pas M compiler/rgobj.pas --- commit 71fcb74e956c0022724c7428c171146994bdf2ef Author: yury Date: Sat Sep 5 18:39:09 2020 +0000 * Fixed r46776: With -O3 do not "coalesce" spilled nodes if the initial location is set. git-svn-id: trunk@46777 - M compiler/rgobj.pas --- commit 451bb09e8f570a00db9949f7b6e3ed81652a2ec8 Author: florian Date: Sat Sep 5 20:25:28 2020 +0000 * Xtensa: tcgcpu.g_concatcopy uses OC_NE so the branch requires one instruction less git-svn-id: trunk@46780 - M compiler/xtensa/cgcpu.pas --- commit 1edf99c324592b9d220984f35b754ccb8b52eff9 Author: florian Date: Sat Sep 5 20:25:28 2020 +0000 * Xtensa: tcpuunaryminusnode.second_float fixed for double git-svn-id: trunk@46779 - M compiler/xtensa/ncpumat.pas --- commit 8ef63723407a4467752d2c482d92cae4ec67100f Author: florian Date: Sat Sep 5 20:25:29 2020 +0000 * Xtensa: tcgcpu.g_concatcopy makes use of loop extensions if available git-svn-id: trunk@46781 - M compiler/xtensa/cgcpu.pas M compiler/xtensa/cpuinfo.pas --- commit aea85fcd66002e9c80162781f6d9b3458f4c5a75 Author: florian Date: Sat Sep 5 20:25:30 2020 +0000 * Xtensa-freeRTOS: fix linking against libc git-svn-id: trunk@46782 - M compiler/systems/t_freertos.pas --- commit 243300c85fb465f5cc250bc3574667ba75dd8b5f Author: florian Date: Sat Sep 5 20:25:31 2020 +0000 * more ABI compliant parameter passing git-svn-id: trunk@46783 - M compiler/xtensa/cpupara.pas --- commit 9337b2a3acf2ffdc6a43077a4902e71e7f4f616f Author: florian Date: Sat Sep 5 20:25:32 2020 +0000 * Xtensa: handle references with offset only properly git-svn-id: trunk@46784 - M compiler/xtensa/cgcpu.pas --- commit 60c23daa91f9ed7154c8566e86113aee573e53f7 Author: yury Date: Mon Sep 7 12:54:20 2020 +0000 * Fixed the stack parameters optimization (r46776) for big endian CPUs. git-svn-id: trunk@46794 - M compiler/ncgutil.pas M compiler/rgobj.pas --- commit 93eef547ae2ef3996a290ad16ce73d783f339977 Author: florian Date: Mon Sep 7 20:28:38 2020 +0000 * improve call0 calling conventions git-svn-id: trunk@46797 - M compiler/psub.pas M compiler/xtensa/cpupara.pas M compiler/xtensa/cpupi.pas --- commit e159c9296703c2ae67c48efbab431db049467474 Author: yury Date: Tue Sep 8 18:50:58 2020 +0000 * Do not use stack parameter location for spilling if its size is less than the register size for all CPU targets except x86. git-svn-id: trunk@46801 - M compiler/ncgutil.pas --- commit d34168742e56e3b6e9f38ac2961eec23333f0317 Author: yury Date: Tue Sep 8 20:17:50 2020 +0000 * Fixed r46801 for the case of int64 params with a single paralocation. git-svn-id: trunk@46802 - M compiler/ncgutil.pas --- commit c8f592d26055bf2ad05afb611fc5bef0522a732e Author: florian Date: Tue Sep 8 20:30:59 2020 +0000 * RiscV32: corrected tcpuparamanager.getcgtempparaloc, resolves #37709 * cleanup git-svn-id: trunk@46803 - M compiler/riscv32/cpupara.pas --- commit 27b4f3df60156766fee4f681dac5f3d784de856f Author: florian Date: Wed Sep 9 21:08:03 2020 +0000 * Xtensa: taicpu.spilling_get_operation_type improved git-svn-id: trunk@46819 - M compiler/xtensa/aasmcpu.pas --- commit ddf26cb3d2aa757a578531e5f59ba2bef189fdbf Author: florian Date: Wed Sep 9 21:08:04 2020 +0000 * Xtensa: trgcpu.do_spill_op fixed * cleanup git-svn-id: trunk@46820 - M compiler/xtensa/cpupi.pas M compiler/xtensa/rgcpu.pas --- commit 8e74a04dc5fb758057bf1cc3d856d7596123e698 Author: florian Date: Thu Sep 10 20:53:11 2020 +0000 * Xtensa: stack size calculation for the call0 abi fixed git-svn-id: trunk@46833 - M compiler/xtensa/cgcpu.pas M compiler/xtensa/cpupara.pas --- commit c06744b62b251146be8ecab4bfb42cc5fcbbc169 Author: yury Date: Fri Sep 11 12:36:31 2020 +0000 * Include stack location of spilled variables in the assembler output. git-svn-id: trunk@46835 - M compiler/rgobj.pas --- commit b5abefe03ed357ffdc0e7c69f76827899c9fb87f Author: yury Date: Fri Sep 11 13:32:18 2020 +0000 * Moved spilling of registers which have the initial memory location and are used only once to a stage after coalescing is done. This produces a better code. git-svn-id: trunk@46836 - M compiler/rgobj.pas --- commit d1521e80616f2f52b6c8fa6a1db55f872e3e763c Author: svenbarth Date: Fri Sep 11 21:24:59 2020 +0000 * a classrefdef might also be created with a forwarddef, so handle that correctly git-svn-id: trunk@46850 - M compiler/symdef.pas --- commit f8b17c410b1e347f39de7d988b5f95336b73a1a4 Author: florian Date: Fri Sep 11 21:51:48 2020 +0000 + Xtensa: make use of ABS.S + extended test for abs(...) with single tests git-svn-id: trunk@46852 - M compiler/xtensa/aasmcpu.pas M compiler/xtensa/ncpuinl.pas M tests/test/units/system/tabs.pp --- commit 2f21f5ae93a99d573bbfca779593100b70db1f5a Author: yury Date: Sat Sep 12 10:13:00 2020 +0000 * Reverted r46836, since it does not work as expected for yet unknown reason. git-svn-id: trunk@46856 - M compiler/rgobj.pas --- commit d7fe9914a79453141c419fdfa3e9bac379868fcc Author: florian Date: Sat Sep 12 21:23:57 2020 +0000 + introduce tcgobj.a_loadfpu_reg_intreg + make use of it in tcgtypeconvnode.second_nothing + Xtensa: implementation of a_tcgcpu.a_loadfpu_intreg_reg and tcgcpu.a_loadfpu_reg_intreg git-svn-id: trunk@46858 - M compiler/cgobj.pas M compiler/fpcdefs.inc M compiler/hlcg2ll.pas M compiler/ncgcnv.pas M compiler/xtensa/cgcpu.pas --- commit 7f8f733963df9d4afa363f206ee71aa50f619cf7 Author: florian Date: Sat Sep 12 21:32:11 2020 +0000 * RiscV32 correctly set operands of div/mod operations, resolves #37743 git-svn-id: trunk@46859 - M compiler/riscv32/nrv32mat.pas --- commit 2c54477807cf33e8ac18cecb469969a65bdf6797 Author: florian Date: Sun Sep 13 19:35:09 2020 +0000 * patch by J. Gareth Moreton: introduce RemoveInstruction and make as much as possible use of RemoveCurrentP, resolves #37399 git-svn-id: trunk@46862 - M compiler/aoptobj.pas M compiler/x86/aoptx86.pas --- commit 60bd9c5ba094da176c97adbe10f61d4ec878ec2e Author: florian Date: Thu Sep 17 19:58:55 2020 +0000 * write a proper error message if types are read/written which are not supported in iso mode, resolves #37763 git-svn-id: trunk@46885 - M .gitattributes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/ninl.pas A tests/webtbf/tw37763.pp --- commit de180d765636fe651f86a239e98b0ebb5538041f Author: Károly Balogh Date: Thu Sep 17 20:51:25 2020 +0000 * m68k: fix index register usage in memory references, when the index is 8 or 16 bit wide and unsigned git-svn-id: trunk@46886 - M compiler/m68k/n68kmem.pas --- commit d3e18ccb5eef80f35ccaab8f8551cdbc7acd9f7d Author: svenbarth Date: Fri Sep 18 15:00:10 2020 +0000 * fix for Mantis #37221: apply adjusted patch by Ondrej Pokorny to allow the use of Copy() on open array parameters (the result will be a dynamic array) + added test git-svn-id: trunk@46890 - M .gitattributes M compiler/ninl.pas M rtl/inc/compproc.inc M rtl/inc/dynarr.inc A tests/test/tarray22.pp --- commit 2ff18e48a0dbc1fa9ba54c0ce9f0bf670ddc7d80 Author: svenbarth Date: Fri Sep 18 15:00:15 2020 +0000 * fix for Mantis #36909: apply patch by Ryan Joseph so that array constructors can be used for static arrays as well. + added test git-svn-id: trunk@46891 - M .gitattributes M compiler/defcmp.pas M compiler/ncnv.pas A tests/test/tarrconstr10.pp A tests/test/tarrconstr11.pp A tests/test/tarrconstr12.pp A tests/test/tarrconstr13.pp A tests/test/tarrconstr14.pp A tests/test/tarrconstr15.pp A tests/test/tarrconstr9.pp --- commit bf1eae7bd67e6fb7d3c29733068083f66f4a8762 Author: svenbarth Date: Fri Sep 18 15:00:17 2020 +0000 * small formatting adjustments for the sake of consistency git-svn-id: trunk@46892 - M compiler/ncnv.pas --- commit 2c372071fd140265dafc10645cabda2080c57e2e Author: svenbarth Date: Sat Sep 19 21:20:07 2020 +0000 * correctly handle static arrays with a lower index <> 0 + added test git-svn-id: trunk@46901 - M .gitattributes M compiler/ncnv.pas A tests/test/tarrconstr16.pp --- commit e83d214e984bd5e8eb4f3d64fe7c78a3dc0f38a8 Author: florian Date: Sun Sep 20 08:47:00 2020 +0000 + allow in ISO mode that { ... } and (* ... *) comments are paired, resolves at least partly #37428 git-svn-id: trunk@46903 - M compiler/scanner.pas M tests/webtbs/tw37428.pp --- commit 9f42931eeb56a4073864ecb6a1d0d45d11cfb53f Author: Jonas Maebe Date: Sun Sep 20 10:29:51 2020 +0000 * don't print range check warnings when evaluating inlined explicit typecasts git-svn-id: trunk@46904 - M .gitattributes M compiler/ncnv.pas A tests/tbs/tb0676a.pp --- commit aa75d39ab5e07a783f97247d544f774a67151579 Author: Jonas Maebe Date: Sun Sep 20 12:43:45 2020 +0000 * don't perform "(x=y) or (z=u)" -> "(x xor y) or (z xor u)" optimization if z or u may raise exceptions (mantis #37780) git-svn-id: trunk@46905 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw37780.pp --- commit 0bdc1fdea4812db1a728171fe9148a5fe95d2209 Author: florian Date: Sun Sep 20 18:57:00 2020 +0000 * do not set nonlocal for inter-procedural labels, this is not needed, they use the jmpbuf to reach the target git-svn-id: trunk@46907 - M compiler/nflw.pas M compiler/pexpr.pas M compiler/pstatmnt.pas --- commit 08b61997ca9e025df4355079a3b58a1db189d736 Author: florian Date: Mon Sep 21 17:57:18 2020 +0000 * MovzAnd2Movz* optimization improved + MovzAnd2And optimization introduced git-svn-id: trunk@46911 - M compiler/x86/aoptx86.pas --- commit b55c74070211d90ee90c925b1f6576b07e9c95bd Author: florian Date: Mon Sep 21 17:57:19 2020 +0000 * extended AndMovzToAnd to support more variants git-svn-id: trunk@46912 - M compiler/x86/aoptx86.pas --- commit 9d6e34ffc8e4776b8bdf83c522b7c10c621be7bd Author: florian Date: Mon Sep 21 19:46:47 2020 +0000 * compilation on i386 fixed git-svn-id: trunk@46914 - M compiler/x86/aoptx86.pas --- commit ff4e1345ffa0adb4d28fb269aee7b1dc138528fd Author: svenbarth Date: Mon Sep 21 20:17:55 2020 +0000 * fix for Mantis #37779: use init RTTI instead of full RTTI when copying an array + added test git-svn-id: trunk@46915 - M .gitattributes M compiler/ninl.pas A tests/webtbs/tw37779.pp --- commit 74e83e9d8ba5be9c594849ce8ef3caab36ea0700 Author: pierre Date: Tue Sep 22 15:44:15 2020 +0000 Disable af_smartlink_sections option for Z80 vasm and z80asm assemblers, as it leads to errors git-svn-id: trunk@46916 - M compiler/z80/agz80asm.pas M compiler/z80/agz80vasm.pas --- commit 4de5195a9ac9a3dd0e90af7f93c717a3c6b10cd1 Author: florian Date: Tue Sep 22 19:51:42 2020 +0000 + modified patch by J. Gareth Moreton: Aarch64: LDR/STR pairing optimisation, resolves #37580 git-svn-id: trunk@46917 - M compiler/aarch64/aoptcpu.pas --- commit dfc485c4f44ff22cab66875a50e9a7e4178f8391 Author: florian Date: Wed Sep 23 20:25:04 2020 +0000 * better error message in case of illegal nodes for string constants, resolves #34054 git-svn-id: trunk@46931 - M compiler/ngtcon.pas --- commit a4e520180f0ab00ea3d030a151081c2598c9d39e Author: pierre Date: Thu Sep 24 16:06:49 2020 +0000 Avoid range check error in a_op_const_reg_reg method when compiled with -CriotR git-svn-id: trunk@46945 - M compiler/xtensa/cgcpu.pas --- commit df6baa888b23c4b43c8d083b68eeff8eedb1983a Author: florian Date: Thu Sep 24 20:09:33 2020 +0000 * another error message changed into a better one git-svn-id: trunk@46947 - M compiler/ngtcon.pas --- commit 61da70bb72ebfc5b119b836c6b74cb763740a4cf Author: florian Date: Fri Sep 25 20:06:26 2020 +0000 * do not copy unused paravarsyms git-svn-id: trunk@46954 - M compiler/hlcgobj.pas --- commit 1fb7603f615884cb678045ae687636fe27a00da1 Author: florian Date: Fri Sep 25 20:06:27 2020 +0000 * x86: ImulMov2Imul optimization * x86: apply OptPass1VOP also to vsqrts* git-svn-id: trunk@46955 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit aa8fdabe1f0ed4157fef8c25c4a4ef688877a843 Author: florian Date: Sat Sep 26 15:44:37 2020 +0000 * xtensa-freertos: patch by Alfred for better tool search, resolves #37308 git-svn-id: trunk@46958 - M compiler/systems/t_freertos.pas --- commit 112f8a41add94fb12a75636a4b45a155725d9b1e Author: florian Date: Sat Sep 26 20:12:27 2020 +0000 * Xtensa: set is_jmp flag so branch optimization works git-svn-id: trunk@46960 - M compiler/aoptobj.pas M compiler/xtensa/cgcpu.pas --- commit 4ced513363c3a2a387b144a2b5639cc331957b02 Author: florian Date: Sat Sep 26 20:12:28 2020 +0000 * xtensa-freertos: run python helpers only on non unix by directly calling python git-svn-id: trunk@46961 - M compiler/systems/t_freertos.pas --- commit 1c370ccde1767aadb4d89aa9eb48b4ba68a39733 Author: florian Date: Sat Sep 26 20:12:29 2020 +0000 + xtensa: make use of float.s instruction git-svn-id: trunk@46962 - M compiler/xtensa/ncpucnv.pas --- commit 7f53d04ffdc6b44800ac1caf9276116754975ef1 Author: florian Date: Sat Sep 26 22:03:13 2020 +0000 + xtensa: make use of nsau to implement Bsr* git-svn-id: trunk@46963 - M compiler/options.pas M compiler/xtensa/cgcpu.pas M compiler/xtensa/cpuinfo.pas M rtl/inc/systemh.inc --- commit eec51afadd209e60c37699ad2cda4b628a6e3060 Author: florian Date: Sun Sep 27 21:05:42 2020 +0000 * patch (with little modification) by J. Gareth Moreton: refactor ARM/Aarch64 peephole optimizer, first part of #37526 git-svn-id: trunk@46975 - M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit bb92fbafa061f028aded7d3e3a22149b87af31a1 Author: florian Date: Sun Sep 27 21:05:43 2020 +0000 patch by J. Gareth Moreton: GetNextInstructionUsingReg drops out earlier, second part of #37526 git-svn-id: trunk@46976 - M compiler/armgen/aoptarm.pas --- commit 7c195d2062b07943d9bf363702d985ab84fc9d2f Author: Károly Balogh Date: Sun Sep 27 22:52:06 2020 +0000 z80: cleaned up some tabs vs. spaces indentation mess in the vasm writer. no functional change. git-svn-id: trunk@46978 - M compiler/z80/agz80vasm.pas --- commit aa745e031988c17c151427e3f61034b348baac48 Author: Károly Balogh Date: Sun Sep 27 22:55:59 2020 +0000 z80: re-enabled af_smartlink_sections for vasm which is required for the vasm + vlink combo, partially reverting r46916 git-svn-id: trunk@46979 - M compiler/z80/agz80vasm.pas --- commit 9f8417ba522dddcbf40268f500d7cb3eaec440de Author: Károly Balogh Date: Sun Sep 27 22:58:01 2020 +0000 z80: added handling of sections provided by the startup code to the vlink linker script. this fixes executable building, but the resulting executables still don't work at this point git-svn-id: trunk@46980 - M compiler/systems/t_zxspectrum.pas --- commit e124b07e868dc1a1441aae5306d5d8cadd1e375d Author: florian Date: Tue Sep 29 20:14:27 2020 +0000 + evaluate typeinfo()=/<>typeinfo() at compile time, resolves #30260 git-svn-id: trunk@47008 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw30260.pp --- commit 69fcacc9487aac44b1bc9b5cc9aef2d219122369 Author: florian Date: Tue Sep 29 20:59:29 2020 +0000 * use fld/fst on i386 to copy doubles git-svn-id: trunk@47009 - M compiler/ncgld.pas --- commit 64da07da48c3206567b97cbd03872a73206afd54 Author: pierre Date: Wed Sep 30 12:16:21 2020 +0000 Add conversion from "$" to "." for i386-watcom target and avoid iteration if no char modification is wanted in ApplyAsmSymbolRestrictions function git-svn-id: trunk@47012 - M compiler/aasmbase.pas --- commit c20b51a80679c899df57fa933ec3d4d32d939520 Author: pierre Date: Wed Sep 30 12:17:24 2020 +0000 Use ApplyAsmSymbolRestrictions function and limit label sie to 247 for watcom assembler git-svn-id: trunk@47013 - M compiler/x86/agx86int.pas --- commit fa12dfa7b5fc86551e7bbbbccd64300c780a7e96 Author: pierre Date: Wed Sep 30 12:18:39 2020 +0000 Rename pvmt internal type to lower_pvmt for i386-watcom as watcom assembler is not case sensitive git-svn-id: trunk@47014 - M compiler/psystem.pas --- commit 4a6358bfc1c2433ca4a17ff95cec2844b51f7e3e Author: pierre Date: Wed Sep 30 13:50:43 2020 +0000 * Fix NaN for watcom assembler (C000h is considered as a label, use 0xC000 instead) * Also use ApplyAsmSymbolRestrictions for label names (required for units using embedded '.' * Add ':' after a label if there is hp^.next is not assigned git-svn-id: trunk@47018 - M compiler/x86/agx86int.pas --- commit 284aca734872cdc6c60e9d5c3b94047907ec81fe Author: florian Date: Wed Sep 30 19:20:14 2020 +0000 + x86: FstpFld2Fst optimization (re-enabled for safe cases) git-svn-id: trunk@47024 - M compiler/x86/aoptx86.pas M tests/tbs/tb0519.pp M tests/test/tthlp4.pp M tests/test/units/sysutils/tfloattostr.pp M tests/webtbs/tw25121.pp --- commit 65047cecdb6a57fff0ff84673bd5e70a88be55d0 Author: florian Date: Thu Oct 1 20:33:03 2020 +0000 + optimize comparisons of constant pointers git-svn-id: trunk@47031 - M compiler/nadd.pas --- commit 3463d469bf0d6c8da57c9157e2592d5b1cb59598 Author: florian Date: Fri Oct 2 19:40:09 2020 +0000 * set default processor for i386 to Pentium2 git-svn-id: trunk@47034 - M compiler/globals.pas --- commit e47f44234c68c167b7a6123e56d74a1097ac1869 Author: florian Date: Fri Oct 2 20:13:17 2020 +0000 * AVR: MovMov2Mov 2 optimization git-svn-id: trunk@47035 - M compiler/avr/aoptcpu.pas --- commit bb51a2134a6d5b19ca3300a0b7f262feb7b0c834 Author: Károly Balogh Date: Sat Oct 3 01:38:01 2020 +0000 z80-zxspectrum: fix the the linking order in the bss section, so the startup code doesn't crash when linked with vlink git-svn-id: trunk@47036 - M compiler/systems/t_zxspectrum.pas --- commit 0685319be877914bf420f3a47d21dfbb4d8a4ff2 Author: pierre Date: Sat Oct 3 14:23:52 2020 +0000 Treat metadata as data in agppcmpw.pas git-svn-id: trunk@47041 - M compiler/powerpc/agppcmpw.pas --- commit 963fe73d195362fc615e4a8ee08b0534ebb43851 Author: florian Date: Sat Oct 3 14:51:31 2020 +0000 + support all XSAVE instructions, resolves #37864 git-svn-id: trunk@47042 - M compiler/i386/i386att.inc M compiler/i386/i386atts.inc M compiler/i386/i386int.inc M compiler/i386/i386nop.inc M compiler/i386/i386op.inc M compiler/i386/i386prop.inc M compiler/i386/i386tab.inc M compiler/i8086/i8086att.inc M compiler/i8086/i8086atts.inc M compiler/i8086/i8086int.inc M compiler/i8086/i8086nop.inc M compiler/i8086/i8086op.inc M compiler/i8086/i8086prop.inc M compiler/i8086/i8086tab.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc M compiler/x86_64/x8664att.inc M compiler/x86_64/x8664int.inc M compiler/x86_64/x8664nop.inc M compiler/x86_64/x8664op.inc M compiler/x86_64/x8664pro.inc M compiler/x86_64/x8664tab.inc M tests/utils/avx/avxopcodes.pas --- commit 399552d3509eafa399565e66ab36f3a89fd4665e Author: pierre Date: Sat Oct 3 15:27:57 2020 +0000 Refactor setting of NoNativeBinaries: Added NO_NATIVE_COMPILER_CPU_LIST and NO_NATIVE_COMPILER_OS_LIST Set NoNativeBinaries if target CPU is different from source CPU and target CPU is in NO_NATIVE_COMPILER_CPU_LIST. Set NoNativeBinaries if target OS is different from source OS and target CPU is in NO_NATIVE_COMPILER_CPU_LIST. Add FORCE_NATIVE_BINARIES variable to be able to overrule default behavior of NoNativeBinaries=1 git-svn-id: trunk@47043 - M compiler/Makefile M compiler/Makefile.fpc --- commit 36d21d2d81dce53761c035f1fd68b59d9dd04424 Author: florian Date: Mon Oct 5 20:11:41 2020 +0000 + use pxor/vpxor to load 0.0 git-svn-id: trunk@47053 - M compiler/x86/nx86con.pas --- commit 549bc49c4ae33ae3075dc5d2a8bb452e92ef4cf3 Author: florian Date: Mon Oct 5 20:11:42 2020 +0000 + more pxor/vpxor optimizations git-svn-id: trunk@47054 - M compiler/x86/aoptx86.pas --- commit ab9fa2012b7edc18d637f63cd2cd55c4a78cc0a5 Author: florian Date: Tue Oct 6 19:43:16 2020 +0000 * inline more aggressively, if the ie for the initial change re-appears, it must be fixed differently git-svn-id: trunk@47057 - M compiler/ncal.pas --- commit e4f53a7e4100a9671745a7e5ad1f8ac20d49cf5d Author: florian Date: Wed Oct 7 19:48:35 2020 +0000 * don't do illegal type conversions on GetNextInstructionUsingReg results git-svn-id: trunk@47063 - M compiler/x86/aoptx86.pas --- commit f3a660212de69847743829a0cac380bf3450a61f Author: florian Date: Sat Oct 10 13:23:34 2020 +0000 * avx-512 has 32 mm registers git-svn-id: trunk@47072 - M compiler/x86/cpubase.pas --- commit 8e62bf649ee02a9f4486fd2e9340962449a1429e Author: florian Date: Sat Oct 10 13:23:35 2020 +0000 * load 0.0 by (V)XORPS/D instead of (V)PXOR in mm registers git-svn-id: trunk@47073 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86/nx86con.pas M compiler/x86_64/aoptcpu.pas --- commit cf153b0854ebc825c54303fdf943fe42382fb612 Author: florian Date: Sat Oct 10 13:50:34 2020 +0000 * use (V)XORPS/D for unary minus git-svn-id: trunk@47074 - M compiler/x86/cgx86.pas M compiler/x86/nx86mat.pas --- commit c2684c0dc35bee9fb91c408187c1fe344af147ab Author: florian Date: Sat Oct 10 13:50:35 2020 +0000 * use V* instructions if possible * fix i386 compilation git-svn-id: trunk@47076 - M compiler/i386/aoptcpu.pas M compiler/x86/cgx86.pas --- commit ad8b2eaf8a2225dfa1059870c0e601e89ab8e6eb Author: florian Date: Sat Oct 10 21:08:12 2020 +0000 * mm registers 16-31 are also volatile during a call git-svn-id: trunk@47077 - M compiler/x86_64/cpupara.pas --- commit a8b387a166210f5ca575c65981d4706ea51d7025 Author: florian Date: Sat Oct 10 21:08:13 2020 +0000 + make use of avx-512 instructions vcvtuis2s* if possible git-svn-id: trunk@47078 - M compiler/x86/nx86cnv.pas M compiler/x86_64/cpuinfo.pas M compiler/x86_64/nx64cnv.pas --- commit f284a6eda9e33a6617b958e476e92b4d09e64fcb Author: florian Date: Sat Oct 10 21:08:14 2020 +0000 * improved (V)MOVA*(V)MOVA*2(V)MOVA* 2 optimization git-svn-id: trunk@47079 - M compiler/x86/aoptx86.pas --- commit a3920d535629614e9d03ec76d143d7d0a8f34167 Author: florian Date: Sat Oct 10 21:08:15 2020 +0000 * proper change information for avx-512 vcvt* instructions git-svn-id: trunk@47080 - M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 23af096ef6c0fa3d0f74666c56b8b54c3b843354 Author: florian Date: Sat Oct 10 21:08:16 2020 +0000 * copy only the instruction table related inc files during make insdat git-svn-id: trunk@47081 - M compiler/Makefile M compiler/Makefile.fpc --- commit 99d3651da964ea05c6baf3929c8f9fe70c8c95d8 Author: florian Date: Sat Oct 10 21:08:16 2020 +0000 * generate simplified code for unary minus when sse/avx is used git-svn-id: trunk@47082 - M compiler/x86/nx86mat.pas --- commit 56c58b517d9290198f50e8efa58290a5724ebc0b Author: florian Date: Sun Oct 11 09:10:42 2020 +0000 * is_signed does not check the ordtype but the ranges, so it cannot be used to check for valid types for cvtsi2sd/s git-svn-id: trunk@47083 - M compiler/x86/nx86cnv.pas --- commit 637976e83fc692df21a49930461d41137145d1c4 Author: florian Date: Tue Oct 13 19:59:01 2020 +0000 * patch by Marģers to unify internal error numbers, resolves #37888 git-svn-id: trunk@47103 - M compiler/aarch64/aasmcpu.pas M compiler/aarch64/agcpugas.pas M compiler/aarch64/cgcpu.pas M compiler/aarch64/cpupara.pas M compiler/aarch64/hlcgcpu.pas M compiler/aarch64/ncpuflw.pas M compiler/aarch64/racpugas.pas M compiler/aasmbase.pas M compiler/aasmcnst.pas M compiler/arm/aasmcpu.pas M compiler/arm/agarmgas.pas M compiler/arm/cgcpu.pas M compiler/arm/cpuelf.pas M compiler/arm/cpupara.pas M compiler/arm/hlcgcpu.pas M compiler/arm/narmadd.pas M compiler/arm/narmcnv.pas M compiler/arm/narminl.pas M compiler/arm/narmld.pas M compiler/arm/narmmat.pas M compiler/arm/raarmgas.pas M compiler/arm/rgcpu.pas M compiler/assemble.pas M compiler/avr/aasmcpu.pas M compiler/avr/agavrgas.pas M compiler/avr/cgcpu.pas M compiler/avr/cpupara.pas M compiler/avr/navrmat.pas M compiler/avr/raavrgas.pas M compiler/cg64f32.pas M compiler/cgobj.pas M compiler/dbgdwarf.pas M compiler/dbgstabs.pas M compiler/fpcp.pas M compiler/hlcg2ll.pas M compiler/hlcgobj.pas M compiler/i386/cgcpu.pas M compiler/i386/cpuelf.pas M compiler/i386/cpupara.pas M compiler/i386/hlcgcpu.pas M compiler/i386/n386add.pas M compiler/i386/n386flw.pas M compiler/i386/n386mat.pas M compiler/i8086/cgcpu.pas M compiler/i8086/cpupara.pas M compiler/i8086/hlcgcpu.pas M compiler/i8086/n8086add.pas M compiler/i8086/n8086inl.pas M compiler/i8086/n8086ld.pas M compiler/i8086/n8086mat.pas M compiler/i8086/n8086mem.pas M compiler/i8086/symcpu.pas M compiler/jvm/agjasmin.pas M compiler/jvm/hlcgcpu.pas M compiler/jvm/jvmdef.pas M compiler/jvm/njvmcnv.pas M compiler/jvm/njvmmem.pas M compiler/jvm/njvmtcon.pas M compiler/jvm/pjvm.pas M compiler/llvm/aasmllvm.pas M compiler/llvm/agllvm.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvmdef.pas M compiler/llvm/llvmpara.pas M compiler/llvm/llvmpi.pas M compiler/llvm/llvmtype.pas M compiler/llvm/nllvmmem.pas M compiler/llvm/nllvmtcon.pas M compiler/m68k/cgcpu.pas M compiler/m68k/cpupara.pas M compiler/m68k/n68kadd.pas M compiler/m68k/n68kcal.pas M compiler/m68k/n68kmat.pas M compiler/m68k/n68kmem.pas M compiler/mips/aasmcpu.pas M compiler/mips/cgcpu.pas M compiler/mips/cpuelf.pas M compiler/mips/cpugas.pas M compiler/mips/hlcgcpu.pas M compiler/mips/ncpucnv.pas M compiler/mips/ncpuinln.pas M compiler/mips/racpugas.pas M compiler/nadd.pas M compiler/nbas.pas M compiler/ncgadd.pas M compiler/ncgcal.pas M compiler/ncgcon.pas M compiler/ncginl.pas M compiler/ncnv.pas M compiler/ngenutil.pas M compiler/ngtcon.pas M compiler/ninl.pas M compiler/nmat.pas M compiler/ogbase.pas M compiler/ogcoff.pas M compiler/ogomf.pas M compiler/ogrel.pas M compiler/omfbase.pas M compiler/options.pas M compiler/optloadmodifystore.pas M compiler/optvirt.pas M compiler/pbase.pas M compiler/pdecobj.pas M compiler/pdecsub.pas M compiler/pexports.pas M compiler/pexpr.pas M compiler/pkgutil.pas M compiler/powerpc/agppcmpw.pas M compiler/powerpc/cgcpu.pas M compiler/powerpc/cpupi.pas M compiler/powerpc/nppcadd.pas M compiler/powerpc/nppcmat.pas M compiler/powerpc/rappcgas.pas M compiler/powerpc64/cgcpu.pas M compiler/powerpc64/nppcadd.pas M compiler/powerpc64/nppcmat.pas M compiler/powerpc64/rappcgas.pas M compiler/ppcgen/agppcgas.pas M compiler/ppcgen/cgppc.pas M compiler/ppcgen/hlcgppc.pas M compiler/ppcgen/ngppcadd.pas M compiler/ppcgen/ngppcinl.pas M compiler/ppcgen/rgcpu.pas M compiler/psub.pas M compiler/rgobj.pas M compiler/riscv/hlcgrv.pas M compiler/riscv32/rarv32gas.pas M compiler/riscv64/rarv64gas.pas M compiler/sparc/cgcpu.pas M compiler/sparc64/cpugas.pas M compiler/sparcgen/aasmcpu.pas M compiler/sparcgen/cpugas.pas M compiler/sparcgen/ncpucnv.pas M compiler/sparcgen/racpugas.pas M compiler/sparcgen/rgcpu.pas M compiler/symbase.pas M compiler/symcreat.pas M compiler/symdef.pas M compiler/symtype.pas M compiler/systems/t_win16.pas M compiler/x86/aasmcpu.pas M compiler/x86/agx86att.pas M compiler/x86/agx86int.pas M compiler/x86/agx86nsm.pas M compiler/x86/aoptx86.pas M compiler/x86/cgx86.pas M compiler/x86/cpubase.pas M compiler/x86/nx86add.pas M compiler/x86/nx86cnv.pas M compiler/x86/nx86inl.pas M compiler/x86/nx86mat.pas M compiler/x86/rax86.pas M compiler/x86/rax86att.pas M compiler/x86/symx86.pas M compiler/x86_64/cpuelf.pas M compiler/x86_64/hlcgcpu.pas M compiler/x86_64/rax64int.pas M compiler/x86_64/win64unw.pas M compiler/xtensa/aasmcpu.pas M compiler/xtensa/cgcpu.pas M compiler/xtensa/cpupara.pas M compiler/xtensa/ncpuadd.pas M compiler/xtensa/ncpumat.pas M compiler/xtensa/ncpumem.pas M compiler/xtensa/racpugas.pas M compiler/z80/aasmcpu.pas M compiler/z80/agsdasz80.pas M compiler/z80/agz80vasm.pas M compiler/z80/aoptcpu.pas M compiler/z80/aoptcpub.pas M compiler/z80/cgcpu.pas M compiler/z80/cpubase.pas M compiler/z80/cpupara.pas M compiler/z80/nz80add.pas M compiler/z80/tgcpu.pas --- commit f4898588551c5c96111e2a3d8c9dd0d716f33c08 Author: Károly Balogh Date: Wed Oct 14 01:45:14 2020 +0000 powerpc: added support for 64bit explicit locations in legacy MorphOS syscalls. improved error handling of various corner cases or explicit paraloc handling git-svn-id: trunk@47104 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/powerpc/cpupara.pas --- commit 7a1903cc8f084acdd210300c16d39641ff468924 Author: Károly Balogh Date: Wed Oct 14 01:52:12 2020 +0000 * turn the recently added 3357 warning into an error, to avoid another compiler IE later git-svn-id: trunk@47105 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/powerpc/cpupara.pas --- commit 0c2494bec82fe3595b77efa1b55ca38a7c853269 Author: svenbarth Date: Wed Oct 14 09:11:27 2020 +0000 * when setting up the symbol for the SEH data don't check whether it is global, instead check whether it's a function git-svn-id: trunk@47107 - M compiler/aarch64/agcpugas.pas --- commit 5e6ec33a59602b4fb5ecfc9ce6d1ba9ee5d0e03b Author: svenbarth Date: Wed Oct 14 09:11:32 2020 +0000 * reset the stored symbol for SEH data once a new section is encountered git-svn-id: trunk@47108 - M compiler/aarch64/agcpugas.pas --- commit 7dff106d14e7f9800853e63b4267dfba8f01a91b Author: svenbarth Date: Wed Oct 14 09:11:37 2020 +0000 * use the name of the symbol instead of the name of the section as the later is always lowercased git-svn-id: trunk@47109 - M compiler/aarch64/agcpugas.pas --- commit 3b0168ae162ff2b7a57aeb9114ad6beb42c8b02b Author: florian Date: Wed Oct 14 20:08:10 2020 +0000 * (slightly) modified (formatting, warning) patch by Jan Bruns to speed up overloading search, resolves #36666 git-svn-id: trunk@47111 - M compiler/htypechk.pas M compiler/symdef.pas --- commit d0d07dc3bf21ab5cbe90f242202556f942233f95 Author: Jonas Maebe Date: Thu Oct 15 20:29:32 2020 +0000 * naturally align threadvar lists/tables o required for (future) Darwin arm64e target, and a good idea elsewhere too (on constrained targets, it won't make a difference because the alignment of pointers won't be > sizeof(longint)) git-svn-id: trunk@47115 - M compiler/ngenutil.pas M compiler/options.pas M rtl/inc/threadvr.inc --- commit 9376f5a43ab500b5577ad71bc9b5b2fce4afcbc7 Author: Jonas Maebe Date: Thu Oct 15 20:29:36 2020 +0000 * AArch64: added SIMD instructions (only plain ARMv8-A for now) o added AArch64 regset parsing support in assembler reader, means that "{" no longer starts comments there (like in the ARM assembler reader) o added AArch64 indexed SIMD register support and removed old cg hacks that worked around its absence git-svn-id: trunk@47116 - M .gitattributes M compiler/aarch64/a64att.inc M compiler/aarch64/a64atts.inc M compiler/aarch64/a64ins.dat M compiler/aarch64/a64op.inc M compiler/aarch64/a64reg.dat M compiler/aarch64/aasmcpu.pas M compiler/aarch64/agcpugas.pas M compiler/aarch64/cgcpu.pas M compiler/aarch64/cpubase.pas M compiler/aarch64/cpupara.pas M compiler/aarch64/ra64con.inc M compiler/aarch64/ra64dwa.inc M compiler/aarch64/ra64nor.inc M compiler/aarch64/ra64num.inc M compiler/aarch64/ra64rni.inc M compiler/aarch64/ra64sri.inc M compiler/aarch64/ra64sta.inc M compiler/aarch64/ra64std.inc M compiler/aarch64/ra64sup.inc M compiler/aarch64/racpu.pas M compiler/aarch64/racpugas.pas M compiler/aasmtai.pas M compiler/armgen/aoptarm.pas M compiler/cgbase.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/raatt.pas M compiler/rautils.pas M compiler/utils/gena64vfp.pp M compiler/x86/cpubase.pas M rtl/aarch64/aarch64.inc M rtl/aarch64/math.inc A tests/test/traa641.pp --- commit 080d8c28f7a9725d93943ed6e4014ea729627046 Author: Jonas Maebe Date: Sat Oct 17 14:59:04 2020 +0000 * LLVM 11.0 support git-svn-id: trunk@47121 - M compiler/llvm/agllvm.pas M compiler/llvm/llvminfo.pas --- commit 3f19bd693ff42aacf053098d507cab586a642195 Author: pierre Date: Mon Oct 19 09:19:25 2020 +0000 + Add new LastCommonAsmOp constant to arm and aarch64 CPU targets. * Uses this new constant to define TCommonAsmOps set type. + Use this constant in armgen/aoptarm MatchInstruction function, to avoid a range check error when compiling with -CriotR with optimization. git-svn-id: trunk@47137 - M compiler/aarch64/cpubase.pas M compiler/arm/cpubase.pas M compiler/armgen/aoptarm.pas --- commit 099134b54554c0c4ed5b871f23952dd40647393d Author: Jonas Maebe Date: Mon Oct 19 19:10:16 2020 +0000 * fix try_make_mul32to64() if it's called with a constant node on the left (mantis #37878) o can happen if use_generic_mul32to64 returns false git-svn-id: trunk@47142 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw37878.pp --- commit 8bbc7d5df3d76fa56b90b07ea762ccea1b10a686 Author: florian Date: Mon Oct 19 19:46:10 2020 +0000 * patch by J. Gareth Moreton to improve LEA/SHL -> LEA optimisation, resolves #37954 git-svn-id: trunk@47143 - M compiler/x86/aoptx86.pas --- commit 91a622328105fddad75b9a1794450c9ccda65d49 Author: florian Date: Tue Oct 20 20:03:25 2020 +0000 * (slight modified) patch by J. Gareth Moreton to reduce number of assembler optimizer passes, resolves #37959 git-svn-id: trunk@47146 - M compiler/aopt.pas M compiler/aoptobj.pas --- commit 044133fc87e120b53f7091d4dcba965028b2ad58 Author: florian Date: Wed Oct 21 20:46:28 2020 +0000 * explicitly convert array indicies to pointer sized integers, so cse can handle the conversion git-svn-id: trunk@47150 - M compiler/nmem.pas --- commit 6fc930a0fc30a339624476fe1f0f79a261632387 Author: florian Date: Wed Oct 21 20:46:28 2020 +0000 * better complexity calculation of tvecnodes git-svn-id: trunk@47151 - M compiler/nutils.pas --- commit 74d145bb16994e08bb5255a15f4d0d547b81c0ec Author: florian Date: Thu Oct 22 21:25:36 2020 +0000 * simplify tcgunaryminusnode.second_integer git-svn-id: trunk@47154 - M compiler/ncgmat.pas --- commit dc547b1426bcf6f2a15ae2eb384a20c41f9365f5 Author: florian Date: Thu Oct 22 21:25:37 2020 +0000 + remove type conversions also for unary operations if possible git-svn-id: trunk@47155 - M compiler/ncnv.pas --- commit 072934081799accd4acfc667b7046e13a0a54734 Author: Jonas Maebe Date: Fri Oct 23 13:34:24 2020 +0000 * try_make_mul32to64: restore original node order if transformation failed o this gets called by taddnode.pass_1, which caches the left/right node types/resultdefs git-svn-id: trunk@47158 - M compiler/nadd.pas --- commit 6d0ce1c4b60c142db8d968ea82200784c512de3c Author: Jonas Maebe Date: Fri Oct 23 15:09:34 2020 +0000 * LLVM: ensure that the parameter types are processed of procdefs that are declared when they get first called o fixes compilation of several tests/test/tobjc* tests after r46675 git-svn-id: trunk@47160 - M compiler/llvm/llvmtype.pas --- commit 703941dde56a38672779439d3aa3cfe93a6c3426 Author: florian Date: Fri Oct 23 20:05:17 2020 +0000 + x86: MovxMov2Mov optimization git-svn-id: trunk@47162 - M compiler/x86/aoptx86.pas --- commit 8fa62752d4e8a21b569cdde4644f4d1b006e6d1e Author: florian Date: Fri Oct 23 20:05:18 2020 +0000 * patch by J. Gareth Moreton: minor refactor of reduced iterations of pass 1 of the assembler optimizer, resolves #37972 git-svn-id: trunk@47163 - M compiler/aoptobj.pas --- commit ff6a58ff89a0334a64329a29db000a0dbf91d9df Author: florian Date: Sun Oct 25 17:04:33 2020 +0000 * colored message output as requested in #37331, so far linux only git-svn-id: trunk@47200 - M compiler/comphook.pas --- commit 17c0291e86d90a27181304b8adb1d51d79c5b618 Author: florian Date: Sun Oct 25 19:07:44 2020 +0000 * cache IsATTY value git-svn-id: trunk@47201 - M compiler/comphook.pas --- commit bf5b85e5e539afd6c964afe225614d0c90d84ac4 Author: pierre Date: Mon Oct 26 14:45:34 2020 +0000 Also look for function name of 'result' is not found in load_result_node git-svn-id: trunk@47208 - M compiler/nutils.pas --- commit dfaee4f04b1c2ec66e01978b3d2377685f366354 Author: florian Date: Mon Oct 26 20:58:24 2020 +0000 * patch by Jan Bruns to solve an issue with the new overloading selection code, resolves #37969 git-svn-id: trunk@47211 - M .gitattributes M compiler/htypechk.pas A tests/webtbs/tw37969.pp --- commit 3baddff71e3e04ee92cb792b904c9b9f5a4e4043 Author: florian Date: Mon Oct 26 22:18:03 2020 +0000 + inline subroutines with formal parameters as well git-svn-id: trunk@47214 - M compiler/ncal.pas M compiler/psub.pas --- commit 13f1fb60b4cc7ee884a00de755d983ae0790bb6e Author: florian Date: Tue Oct 27 21:42:51 2020 +0000 * directly copy the result of set set into the left side of an assignment git-svn-id: trunk@47226 - M compiler/nadd.pas --- commit b8e6610617d5067d8010610b50878c64771296a4 Author: pierre Date: Wed Oct 28 09:46:02 2020 +0000 Add explicit longint typecast to avoid range check errors with unwindrec longword variable git-svn-id: trunk@47231 - M compiler/aarch64/agcpugas.pas --- commit 075966f142ca9ccc05cb5db2291a565832c141ba Author: pierre Date: Wed Oct 28 10:48:06 2020 +0000 Display xtensa specific options for ppcxtensa -h git-svn-id: trunk@47232 - M compiler/options.pas --- commit 5b06af888693055fb9d52146b70c356d28d06389 Author: florian Date: Wed Oct 28 21:37:26 2020 +0000 * delphi has excessprecision turned on by default git-svn-id: trunk@47245 - M compiler/scanner.pas --- commit ff31d95a694c2c9bfd4f788ccc280c1d6593e527 Author: florian Date: Wed Oct 28 21:37:27 2020 +0000 * excess precision should not be applied to comp or currency git-svn-id: trunk@47246 - M compiler/nadd.pas --- commit 7966b29b2f3a2e98dec9a097a3da18be690584b2 Author: pierre Date: Fri Oct 30 15:33:27 2020 +0000 i386-go32v2 also does not support progbits, as other COFF targets git-svn-id: trunk@47255 - M compiler/aggas.pas --- commit f674ed0324fa2af19d0c3a896ec06e33a1db024a Author: pierre Date: Fri Oct 30 16:12:47 2020 +0000 Disable use of cmov instructions in alignment patterns for some i386 targets (it prevents use of some emulators) git-svn-id: trunk@47257 - M compiler/systems.pas M compiler/x86/aasmcpu.pas --- commit 3d049a33096ee1906af356dad7f8830c95d895d2 Author: florian Date: Fri Oct 30 22:10:56 2020 +0000 - remove unused trimbspace + added ansistring variants for some helpers git-svn-id: trunk@47260 - M compiler/cutils.pas --- commit 8369f035bf5bae7a9d6af7902e514722f89a55bd Author: florian Date: Sat Oct 31 19:54:41 2020 +0000 * use AnsiString for file names to overcome length limitations git-svn-id: trunk@47264 - M compiler/cstreams.pas --- commit 55d4ffa9de2999f1f8f36b7ead07d53ce281b4d4 Author: Károly Balogh Date: Sat Oct 31 21:57:59 2020 +0000 m68k: add missing FINT and FINTRZ instructions to spilling_get_operation_type() git-svn-id: trunk@47266 - M compiler/m68k/aasmcpu.pas --- commit dbb0b24de8b842780b547985e52c434d5b8a2d71 Author: florian Date: Sun Nov 1 14:27:59 2020 +0000 * reverted accidental change git-svn-id: trunk@47268 - M compiler/fpcdefs.inc --- commit 9d425ff4ca3d855ba303b815a93bfff98fe153a8 Author: Károly Balogh Date: Mon Nov 2 02:01:24 2020 +0000 m68k: change the stack push order in the register calling convention to left-to-right. This should fix parameter handling in nested procedures (tnest5) git-svn-id: trunk@47279 - M compiler/m68k/cpupara.pas --- commit 92beecb6fe00ff0af31bb52bdafefe6cc6c2b255 Author: Károly Balogh Date: Mon Nov 2 02:19:06 2020 +0000 * bump ppu version after r47279. it changes the ABI (m68k only), so units are incompatible even if the format didn't change git-svn-id: trunk@47280 - M compiler/ppu.pas --- commit 12843498d1747a87b7e0c0bd8d07e5e861b92140 Author: florian Date: Mon Nov 2 21:24:40 2020 +0000 + patch by Anton Kavalenka to support coloured output on windows, resolves #38025 git-svn-id: trunk@47285 - M compiler/comphook.pas --- commit 1c61c30cd23c625aabb759d0080ecf6965a3fe22 Author: Jonas Maebe Date: Tue Nov 3 21:34:15 2020 +0000 * added "const" to some string parameters git-svn-id: trunk@47299 - M compiler/aasmcnst.pas M compiler/pdecl.pas M compiler/pdecsub.pas --- commit 38a059f0398a3f0594300f1a39a222c45c3821bd Author: Jonas Maebe Date: Tue Nov 3 21:34:19 2020 +0000 * give an error when trying to define a macro/compiler variable with an empty name git-svn-id: trunk@47300 - M .gitattributes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/scanner.pas A tests/tbf/tb0272.pp --- commit 312f1436b1fbf5445bd97935be451272ff4fc80f Author: Jonas Maebe Date: Tue Nov 3 21:34:22 2020 +0000 * changed TIDString and tsymentry.realname to TSymStr o for TIDString: prevents shortstring -> ansistring conversions with -dsymansistr when looking up symbols o for realname: consistency with name git-svn-id: trunk@47301 - M compiler/globtype.pas M compiler/ppu.pas M compiler/symbase.pas M compiler/symsym.pas M compiler/utils/ppuutils/ppudump.pp M compiler/utils/ppuutils/ppuout.pp --- commit 37e934ffbd0864c0893f250e14c45130f11edb1b Author: florian Date: Wed Nov 4 21:31:48 2020 +0000 * using ymm registers for copying data is always useful, regardless of alignment git-svn-id: trunk@47313 - M compiler/x86/cgx86.pas --- commit 60bb8600a1248ab490f5b5344e781967ba423bf7 Author: florian Date: Wed Nov 4 21:31:48 2020 +0000 + copy mode avx512 git-svn-id: trunk@47314 - M compiler/x86/cgx86.pas --- commit f8d33dc1885af3d8eed394bac11f86455ae491a3 Author: florian Date: Wed Nov 4 21:31:49 2020 +0000 * fix tcgx86.a_loadmm_reg_ref and tcgx86.a_loadmm_ref_reg for 64 OS_M512 git-svn-id: trunk@47315 - M compiler/x86/cgx86.pas --- commit b47d2bd2c206114dbf07007ad6fce88f208015d4 Author: florian Date: Wed Nov 4 21:31:50 2020 +0000 * allow var alignment up to 64 bytes git-svn-id: trunk@47316 - M compiler/systems/i_linux.pas M compiler/systems/i_win.pas --- commit 1add3490c326215fb09024fa987c80435c1c1b6c Author: florian Date: Wed Nov 4 22:10:35 2020 +0000 + i386 supports also avx-512 git-svn-id: trunk@47317 - M compiler/i386/cpuinfo.pas --- commit 0d36b05df5d7e045c106817d54e9d4df0ea6af7f Author: florian Date: Wed Nov 4 22:17:46 2020 +0000 * i386 can use only 8 mm registers with avx-512 git-svn-id: trunk@47318 - M compiler/i386/cpuinfo.pas --- commit 3ae370b1908f4be08df639ed6069f6e34fad2c26 Author: florian Date: Thu Nov 5 22:13:58 2020 +0000 * also use avx copying for mod 4=0 memory blocks git-svn-id: trunk@47328 - M compiler/x86/cgx86.pas --- commit 6ec460c619cb339eefb54d4b83a456882a2047a3 Author: florian Date: Fri Nov 6 21:41:59 2020 +0000 * patch by J. Gareth Moreton: MOV/LDR/STR/MOV optimisations for ARM/AArch64, resolves #37638 git-svn-id: trunk@47330 - M compiler/armgen/aoptarm.pas --- commit 81e8982dd4d8d0d19899e55e511605be8174f926 Author: florian Date: Sat Nov 7 10:42:43 2020 +0000 + completed Ch_* information for VMOVD* git-svn-id: trunk@47332 - M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit f7050ef41ab48de9884816ddda2c2b1f713fe200 Author: florian Date: Sat Nov 7 10:42:44 2020 +0000 + take care of vzeroupper in exit code optimizations git-svn-id: trunk@47333 - M compiler/x86/aoptx86.pas --- commit e46b426ca13519093fabc509cc2ce2adb507300c Author: florian Date: Sun Nov 8 19:39:17 2020 +0000 + tx86addnode.second_opvector makes use of AVX instructions git-svn-id: trunk@47345 - M compiler/x86/nx86add.pas --- commit 47066f0ce7e8dc21393d07516de90e094610e52b Author: florian Date: Sun Nov 8 19:39:18 2020 +0000 * moved UseAVX from cgx86 to cpubase + UseAVX512 git-svn-id: trunk@47346 - M compiler/x86/cgx86.pas M compiler/x86/cpubase.pas --- commit c496b609d18b20208fb0ca54f0b9137fe413f5db Author: svenbarth Date: Sun Nov 8 22:23:02 2020 +0000 * 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 - M .gitattributes M compiler/pexpr.pas M compiler/psystem.pas M rtl/inc/systemh.inc A tests/webtbs/tw38051.pp --- commit 359ff64afdf1eb6b134f69f7caa5c60d79a91222 Author: svenbarth Date: Sun Nov 8 22:23:09 2020 +0000 * increase PPU version so that the change of Chr() to a full intrinsic will not lead to problems git-svn-id: trunk@47354 - M compiler/ppu.pas --- commit 091b0fde0ca1d8ab1aa2e7904f3a95cbfec60431 Author: Jonas Maebe Date: Sun Nov 8 22:42:38 2020 +0000 * fixed type of size parameter passed to fpc_getmem() when translating new(pointer) (mantis #38054) git-svn-id: trunk@47355 - M .gitattributes M compiler/pinline.pas A tests/webtbs/tw38054.pp --- commit 53928dc0edd2818dcf55b9cdda7eca3bf9aa73b1 Author: Károly Balogh Date: Sun Nov 8 23:56:00 2020 +0000 m68k: fix references like (An) to parse properly in the assembler reader git-svn-id: trunk@47356 - M compiler/m68k/ra68kmot.pas --- commit 3d374727dd2e635beb37ed5de8a8f5b9ca44228c Author: pierre Date: Mon Nov 9 21:19:40 2020 +0000 Move explicit typecast to after check to avoid RTE when compiled with -CR git-svn-id: trunk@47367 - M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas --- commit 78244d89dc7bcafd58ff04c29e7d6f1ddbb0777c Author: florian Date: Mon Nov 9 21:21:36 2020 +0000 * use VPXORD in avx-512 mode as VPXOR does not work for the upper 16 registers git-svn-id: trunk@47368 - M compiler/i386/aoptcpu.pas M compiler/x86/cgx86.pas M compiler/x86_64/aoptcpu.pas --- commit c3a0e0c6d2e401496bed2b9a377ad2d949e76c3c Author: florian Date: Mon Nov 9 21:46:25 2020 +0000 * compilation on i386 fixed git-svn-id: trunk@47369 - M compiler/x86/cgx86.pas --- commit 3abee173f4c473633fb4e9e1875ea18fbac71128 Author: Károly Balogh Date: Tue Nov 10 21:31:47 2020 +0000 * regenerated msgidx/msgtxt after r47376 git-svn-id: trunk@47377 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit eadcaa5dfc55dab3ed673f4d104fd16c0472bc51 Author: florian Date: Tue Nov 10 22:04:55 2020 +0000 * Arm Thumb does not support complex references including SP, resolves #38056 git-svn-id: trunk@47380 - M compiler/armgen/aoptarm.pas --- commit 10273e54dd198984719a932ced572c056ef464f7 Author: pierre Date: Tue Nov 10 22:36:31 2020 +0000 Remove setting of USE_FAKE_SYSUTILS macro for MacOSClassic, as sysutils is now compiled for that OS git-svn-id: trunk@47382 - M compiler/fpcdefs.inc --- commit d2247f6539e5cea8e6b31a3a4da63b307169a66c Author: pierre Date: Tue Nov 10 22:37:24 2020 +0000 Use MPW linker variant also for m68k-macosclassic target git-svn-id: trunk@47383 - M compiler/systems/i_macos.pas --- commit eb67d87dec24d79a68f523e0a2e3683d2ed59137 Author: pierre Date: Tue Nov 10 23:52:51 2020 +0000 Avoid uninitialized variable warning with -O4 option git-svn-id: trunk@47384 - M compiler/systems/t_msdos.pas --- commit fc960879dee7f26270e4baf2bee8dacf4c6f9b33 Merge: 06f5e293df 897322868b Author: florian Date: Thu Nov 12 20:31:29 2020 +0000 -- Zusammenführen von r47033 bis r47401 in ».«: C compiler/i386/i386nop.inc U compiler/i386/i386tab.inc U compiler/i386/i386atts.inc U compiler/i386/i386att.inc C compiler/i8086/i8086nop.inc U compiler/i8086/i8086tab.inc U compiler/i8086/i8086atts.inc U compiler/i8086/i8086att.inc U compiler/x86/x86ins.dat C compiler/x86/rax86.pas U compiler/x86/aasmcpu.pas U compiler/x86/cpubase.pas U compiler/x86/agx86att.pas U compiler/x86/itcpugas.pas U compiler/x86/rax86att.pas C compiler/x86_64/x8664nop.inc U compiler/x86_64/x8664tab.inc U compiler/x86_64/x8664ats.inc U compiler/x86_64/x8664att.inc U compiler/utils/mkx86ins.pp U tests/utils/avx/asmtestgenerator.pas U tests/utils/avx/avxopcodes.pas -- Aufzeichnung der Informationen für Zusammenführung von r47033 bis r47401 in ».«: U . Konfliktübersicht: Textkonflikte: 4 Konfliktübersicht: Textkonflikte: 4 git-svn-id: trunk@47402 --- commit e440bf0e00d4d344b855693664da99ed9221e3aa Author: florian Date: Thu Nov 12 20:32:00 2020 +0000 * cosmetics git-svn-id: trunk@47403 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas --- commit bf7961a9016220e8f4ebf9a4b2b62a39863cdc54 Author: florian Date: Fri Nov 13 21:39:16 2020 +0000 * fixes for nasm writer, resolves #38074 + test git-svn-id: trunk@47413 - M .gitattributes M compiler/x86/agx86nsm.pas A tests/webtbs/tw38074.pp --- commit b64edc0170da3fa6a366f9564c95b985ea566613 Author: Károly Balogh Date: Sat Nov 14 23:50:35 2020 +0000 sinclairql: reduce default stack size to 8K git-svn-id: trunk@47416 - M compiler/systems/i_sinclairql.pas --- commit 1635d04b7bee15f943952680129098c58d295348 Author: Károly Balogh Date: Sat Nov 14 23:51:37 2020 +0000 sinclairql: add a note about .bss sections and the binary size, no functional change git-svn-id: trunk@47417 - M compiler/systems/t_sinclairql.pas --- commit a82a587a1b750cf5fd2a409c9f1a942e78d49c64 Author: Károly Balogh Date: Sun Nov 15 03:43:26 2020 +0000 m68k: fixed parsing of absolute addresses in the assembler reader git-svn-id: trunk@47418 - M compiler/m68k/ra68kmot.pas --- commit e5d2c1a9803158671d8e7e2e32b27a3ed7ad2fbd Author: Károly Balogh Date: Sun Nov 15 03:55:42 2020 +0000 m68k: fixed parsing of constants to absolute addresses git-svn-id: trunk@47419 - M compiler/m68k/ra68kmot.pas --- commit 98eab07abd080e37907c99ef0934a62a54574df3 Author: florian Date: Sun Nov 15 16:17:54 2020 +0000 * simplified and fixed code of (v1=const1) and (v2=const2) optimization, resolves #38066 git-svn-id: trunk@47423 - M compiler/nadd.pas --- commit a0543f7f9bb7702d795e4facdd4da7dc4d3efbe7 Author: Károly Balogh Date: Sun Nov 15 19:45:06 2020 +0000 sinclairql: the newline on this system is LF, not CRLF git-svn-id: trunk@47427 - M compiler/systems/i_sinclairql.pas --- commit 24226ef4af57e9fd94deea2fdda3d23913054da1 Author: Károly Balogh Date: Sun Nov 15 22:56:31 2020 +0000 sinclairql: following Frank Wille's advices, reworked the linker script to omit .bss section from the binary. this reduces a simple 'hello, world' size by ~5K. needs matching startup code. git-svn-id: trunk@47428 - M compiler/systems/t_sinclairql.pas --- commit f0b22a1569e315faa4954c7afc00450a35dbf2c8 Author: pierre Date: Mon Nov 16 17:04:46 2020 +0000 Revert commit #47257, Disable use of cmov instructions in alignment patterns for some i386 targets (it prevents use of some emulators) Replace it by a new set of i386 targets, for which the default cpu is set to i80486 instead of pentium2 to avoid (for default configuration) use of CMOVxx or PREFETCHyyy instructions, not supported by some emulators. git-svn-id: trunk@47433 - M compiler/options.pas M compiler/systems.pas M compiler/x86/aasmcpu.pas --- commit e94fb2edc3aa38c27a17dfebf42cec19eb6345ef Author: florian Date: Mon Nov 16 21:47:18 2020 +0000 * better writing of ordinal const. nodes git-svn-id: trunk@47436 - M compiler/ncon.pas --- commit 6380df9b42d29b7db0301f50fa948f90f78521ca Author: florian Date: Mon Nov 16 21:47:19 2020 +0000 * correctly simplify tree transforms of (a+c1+c2) if a is a pointer, resolves #37671 git-svn-id: trunk@47437 - M .gitattributes M compiler/nadd.pas M compiler/ncnv.pas A tests/webtbs/tw37621.pp --- commit c44095733c36ca1505caea5d389a35c0ebc0476c Author: pierre Date: Mon Nov 16 22:34:38 2020 +0000 * Give access to CPU specific fields of tsettings record in GENERIC_CPU mode, to be used by ppudump utility. generic/cpuinfo.pas: Add tinstructionset, used for ARM cpu. globals.pas: Put all CPU specific fields of tsettings record inside a variant part when GENERIC_CPU is defined. Also import llvm unit when GENERIC_CPU is defined. + utils/Makefile.fpc: Add -Fu../llvm option to compile ppudump, as it now also needs llvm specific code decause of globals unit change. git-svn-id: trunk@47438 - M compiler/generic/cpuinfo.pas M compiler/globals.pas M compiler/utils/Makefile M compiler/utils/Makefile.fpc --- commit aef337e67c4960aad357391e17a09dadfb1708e6 Author: tg74 Date: Tue Nov 17 16:22:27 2020 +0000 bugfix gnu-assembler platform i386 vcvtsi2sd,vcvtsi2ss,vcvtusi2sd,vcvtusi2ss git-svn-id: branches/tg74/avx512-0037785@47441 - M compiler/i386/i386atts.inc M compiler/i386/i386nop.inc M compiler/i386/i386tab.inc M compiler/i8086/i8086atts.inc M compiler/i8086/i8086nop.inc M compiler/i8086/i8086tab.inc M compiler/utils/mkx86ins.pp M compiler/x86/itcpugas.pas M compiler/x86/rax86.pas M compiler/x86/rax86att.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc M compiler/x86_64/x8664nop.inc M compiler/x86_64/x8664tab.inc M tests/utils/avx/avxopcodes.pas --- commit d41579fb2b8c8a5c35d280065944a2fa4aee3d7a Author: tg74 Date: Tue Nov 17 16:22:27 2020 +0000 bugfix gnu-assembler platform i386 vcvtsi2sd,vcvtsi2ss,vcvtusi2sd,vcvtusi2ss git-svn-id: branches/tg74/avx512-0037785@47441 - M compiler/i386/i386atts.inc M compiler/i386/i386nop.inc M compiler/i386/i386tab.inc M compiler/i8086/i8086atts.inc M compiler/i8086/i8086nop.inc M compiler/i8086/i8086tab.inc M compiler/utils/mkx86ins.pp M compiler/x86/itcpugas.pas M compiler/x86/rax86.pas M compiler/x86/rax86att.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc M compiler/x86_64/x8664nop.inc M compiler/x86_64/x8664tab.inc M tests/utils/avx/avxopcodes.pas --- commit 5633d5e8aac2d3da9cad03f29a803371f6a98244 Author: tg74 Date: Wed Nov 18 04:38:21 2020 +0000 bugfix gnu-assembler platform i386 vcvtsi2sd,vcvtsi2ss,vcvtusi2sd,vcvtusi2ss git-svn-id: branches/tg74/avx512-0037785@47443 - M compiler/x86/rax86.pas --- commit 33b4772eab459420afb5788ee18e4f4c5d21efc7 Author: tg74 Date: Wed Nov 18 04:38:21 2020 +0000 bugfix gnu-assembler platform i386 vcvtsi2sd,vcvtsi2ss,vcvtusi2sd,vcvtusi2ss git-svn-id: branches/tg74/avx512-0037785@47443 - M compiler/x86/rax86.pas --- commit 9d67adcbb6e2c71709eb2e40ee69050c0eef28b6 Author: Károly Balogh Date: Thu Nov 19 02:58:27 2020 +0000 * regenerated all Makefiles after Sinclair QL support was added git-svn-id: trunk@47453 - M .gitattributes M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile A rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile --- commit 68d39628891463f399871e60c4432cd06ad034f8 Author: pierre Date: Fri Nov 20 14:03:57 2020 +0000 Regenerate all Makefile's, and update utils/fpcm/fpcmake.inc and utils/fpcm/revision.inc after commit 47483 git-svn-id: trunk@47484 - M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/qlunits/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcm/fpcmake.inc M utils/fpcm/revision.inc M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile --- commit 5b3240c8f1cf913530ca5cadb6274d52f44255c0 Author: pierre Date: Fri Nov 20 14:12:55 2020 +0000 Do not set USE_FAKE_SYSUTILS for MacOS anymore git-svn-id: trunk@47485 - M compiler/utils/ppumove.pp --- commit c06a931d5b7366d766fc9e5f2797ed557e9a95fd Author: pierre Date: Fri Nov 20 14:14:46 2020 +0000 Add separate cs_assemble_on_target tglobalswitch entry git-svn-id: trunk@47486 - M compiler/globtype.pas M compiler/utils/ppuutils/ppudump.pp --- commit 47d96efe2913d5dcf8064da8697aae359713c3dd Author: pierre Date: Fri Nov 20 15:09:24 2020 +0000 + options.pas: Add new option -sT, to do only the linking on target, by opposition to the old -st option, which does both assembling and linking on target. msg/errore.msg: Add new -sT help message modify -st help message, to explicitly say that both assembling and linking scripts are prepared for target system. * msgidx.txt, msgtxt.inc: Regenerated git-svn-id: trunk@47488 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas --- commit 152208c0be1952cebbb1636d86f89f277df3b8c8 Author: pierre Date: Fri Nov 20 15:14:14 2020 +0000 In FindObjectFile check the assembly file if cs_assemble_on_target is in globlaswitches git-svn-id: trunk@47489 - M compiler/link.pas --- commit f68804e9cdc1a0489145ddd82b4a7e8ea9713b09 Author: pierre Date: Fri Nov 20 15:15:17 2020 +0000 Replace cs_link_on_target by cs_assemble_on_target in assemble unit git-svn-id: trunk@47490 - M compiler/assemble.pas --- commit ebb199b9d465a72c1784c5cfcb4f07b4d324f38c Author: Károly Balogh Date: Sat Nov 21 21:42:33 2020 +0000 sinclairql: make sure the Sinclair QL defaults to vlink git-svn-id: trunk@47520 - M compiler/options.pas --- commit ea11517d27fa00f40b626e47213f0caa8832d155 Author: florian Date: Sat Nov 21 21:58:28 2020 +0000 + optimization type converted (modulo) divisions as well by removing up/down converting but, insert a test and separate code path for -1 if needed git-svn-id: trunk@47521 - M compiler/ncnv.pas --- commit d5dcf5cd7ac8b28c6079aa2bd7358f40bf6f3e20 Author: florian Date: Sat Nov 21 21:58:30 2020 +0000 * cleanup git-svn-id: trunk@47522 - M compiler/ncnv.pas --- commit 1d474f822e015968b3a0a5b592a454cad726ffc4 Author: florian Date: Sat Nov 21 22:30:33 2020 +0000 * fits_in_mm_register takes care of avx(512) support git-svn-id: trunk@47523 - M compiler/defutil.pas --- commit 9c7cb3dbd7c02c54cb0da8f14f5c05743903742e Author: florian Date: Sat Nov 21 22:30:34 2020 +0000 * fix spilling of avx(512) registers * get_scalar_mm_op fixed for M256 git-svn-id: trunk@47524 - M compiler/x86/aasmcpu.pas M compiler/x86/cgx86.pas --- commit 76406dbc36564d820b900665579540f4d5b1ff6a Author: florian Date: Sun Nov 22 10:27:06 2020 +0000 + implement prefetch intrinsic for aarch64 git-svn-id: trunk@47526 - M compiler/aarch64/aasmcpu.pas M compiler/aarch64/ncpuinl.pas --- commit 7ad8f94ec4ca74e2fc30ac8278ed0c0accb090ab Author: florian Date: Sun Nov 22 19:47:12 2020 +0000 * set reasonable defaults for arm eabi git-svn-id: trunk@47530 - M compiler/options.pas --- commit 1014e530813f01757a6ee4b4b16518fe2a7206e1 Author: florian Date: Sun Nov 22 19:47:34 2020 +0000 * patch by J. Gareth Moreton: fixes crash on ARM with -CriotR, resolves #38116 git-svn-id: trunk@47531 - M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit ef1ba48cc43b53d103b09b23906531f67d2f7812 Author: florian Date: Sun Nov 22 21:19:51 2020 +0000 + Aarch64: call OptPass1FData for FMA instructions as well git-svn-id: trunk@47533 - M compiler/aarch64/aoptcpu.pas --- commit 4c0dac48649acc8b85729a7b6689661cd786d781 Author: florian Date: Sun Nov 22 21:20:51 2020 +0000 + Aarch64: implemented FMovFMov2FMov, not yet used git-svn-id: trunk@47534 - M compiler/aarch64/aoptcpu.pas --- commit 7444733f5d8e946afc88555d0073f32ba7f5ad5a Author: Károly Balogh Date: Tue Nov 24 05:42:38 2020 +0000 m68k: fix DB/DW/DD handling in inline assembler, update BuildConstant() method to current standards. issue reported/initial patch by Marcel Kilgus in QLForum.co.uk git-svn-id: trunk@47548 - M compiler/m68k/ra68kmot.pas --- commit 6b1c5861afbf20bac0a2462b7340166fa7b64142 Author: Károly Balogh Date: Tue Nov 24 05:47:09 2020 +0000 * remove obsolete comment from rautils/ConcatConstant, issue reported/initial patch by Marcel Kilgus in QLForum.co.uk git-svn-id: trunk@47549 - M compiler/rautils.pas --- commit 96f2e683e7b4e27d7e12473ea3960ba800204a80 Author: pierre Date: Tue Nov 24 15:31:26 2020 +0000 Also accept s80bit real constants when FPC_SOFT_FPUX80 macro is defined git-svn-id: trunk@47557 - M compiler/llvm/agllvm.pas --- commit ab2db33b4cb91e2897263feecce167f40a3ee391 Author: Károly Balogh Date: Tue Nov 24 19:07:15 2020 +0000 * backported vlink map file generation to other targets using vlink: Amiga, Atari and ZXSpectrum git-svn-id: trunk@47560 - M compiler/systems/t_amiga.pas M compiler/systems/t_atari.pas M compiler/systems/t_zxspectrum.pas --- commit 9dcf85a8efe7d502d9095949b17fe0ec34f8a337 Author: florian Date: Tue Nov 24 20:59:47 2020 +0000 + Xtensa: FMA support git-svn-id: trunk@47563 - M .gitattributes M compiler/xtensa/ncpuadd.pas M compiler/xtensa/ncpuinl.pas M tests/test/tfma1.inc A tests/test/tfma1xtensa.pp --- commit 4a050536501595ee343b8581c3278e7a22786497 Author: florian Date: Tue Nov 24 21:22:20 2020 +0000 + Xtensa: make use of the LSX/SSX instructions git-svn-id: trunk@47564 - M compiler/xtensa/agcpugas.pas M compiler/xtensa/cgcpu.pas --- commit 6ac2957187119df2b0e6295fd99faa6de10abb2a Author: florian Date: Tue Nov 24 22:04:28 2020 +0000 * Xtensa: cleanup of getreferencestring git-svn-id: trunk@47565 - M compiler/xtensa/agcpugas.pas --- commit 74eb7b5050dc2dd172e2804b9a1cae3505799a02 Author: Tomas Hajny Date: Tue Nov 24 23:09:01 2020 +0000 + added coloured compiler output support for OS/2 and DOS targets, platform-specific parts refactored to a standalone unit to remove the heap of ifdefs in unit comphook git-svn-id: trunk@47566 - M .gitattributes M compiler/comphook.pas A compiler/comptty.pas --- commit 45fc515400db981d1bc9f9bf94435b23943f9752 Author: Károly Balogh Date: Wed Nov 25 01:48:36 2020 +0000 sinclairql: added platform specific options to allow specifying executable metadata format git-svn-id: trunk@47567 - M compiler/globals.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas --- commit 6a88f2fc28bef9aefa6bf0ed3cef4693273ef7fa Author: Károly Balogh Date: Wed Nov 25 04:39:42 2020 +0000 sinclairql: drop support for the BASIC loader, write Q-emuLator or XTcc compatible metadata to the executable instead. based on a patch by Marcel Kilgus in qlforum.co.uk git-svn-id: trunk@47569 - M compiler/systems/t_sinclairql.pas --- commit d8997405c55b3454df147adae413ff263f50d1eb Author: Károly Balogh Date: Wed Nov 25 04:57:33 2020 +0000 sinclairql: mark the qhdr metadata format as default in the help text git-svn-id: trunk@47572 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 64866179a980ed3070ff888603b9e44347a90612 Author: pierre Date: Wed Nov 25 09:03:11 2020 +0000 Add missing llvm directory for ppu unit compilation git-svn-id: trunk@47578 - M compiler/utils/Makefile M compiler/utils/Makefile.fpc --- commit c3e2285c45a80f3683daaa9b98863b77f6580442 Author: Jonas Maebe Date: Wed Nov 25 18:44:44 2020 +0000 * when getting an llvm temporary recorddef, recurse into arrays rather than treating them as opaque defs. This is required to ensure that the temporary recorddef for all x86-64 function results are the same on the caller and callee side, as we allocate new arrays when generating them git-svn-id: trunk@47584 - M compiler/llvm/llvmdef.pas --- commit 5cd4e5a016fda0f446fe775e6b0de4a4a08c5b7d Author: florian Date: Wed Nov 25 20:20:08 2020 +0000 * pass lp64d to GNU AS for abi_riscv_hf to get the right ABI set git-svn-id: trunk@47585 - M compiler/riscv/agrvgas.pas --- commit bb80851d656c15fb20ddc4626ee230f8098ee074 Author: florian Date: Wed Nov 25 22:34:17 2020 +0000 * .def must be set on linux else it might be that the created executable is deleted after compilation git-svn-id: trunk@47592 - M compiler/systems/i_linux.pas --- commit 787899b9216cf4e13cc1f584e803b2081baa8987 Author: pierre Date: Wed Nov 25 22:40:04 2020 +0000 Allow easier disabling of $inline on, by using -dDISABLE_INLINE git-svn-id: trunk@47593 - M compiler/fpcdefs.inc --- commit 9c1c2acd64559533d3c01ff58a1c0c2938f8f25c Author: pierre Date: Wed Nov 25 23:40:02 2020 +0000 Improve CRC_checksum testing code with -dDEBUG_UNIT_CRC_CHANGES -dTest_Double_checksum -dTest_Double_checksum_write git-svn-id: trunk@47597 - M compiler/fppu.pas M compiler/ppu.pas --- commit 48271b880cba5d4479fc27890f3b4bb4bf69e60c Author: pierre Date: Thu Nov 26 10:34:02 2020 +0000 Add {$i fpcdefs.inc} to units that do not have that include git-svn-id: trunk@47599 - M compiler/cepiktimer.pas M compiler/z80/cpuinfo.pas --- commit 3af6a9826347573ff8a33b50748e48541e41a1e9 Author: tg74 Date: Fri Nov 27 05:45:44 2020 +0000 bugfix internal assembler-reader x86 opsize local var git-svn-id: branches/tg74/avx512-0037785@47606 - M compiler/x86/rax86.pas M tests/utils/avx/avxopcodes.pas --- commit fdfe06382a17e6daa86523b886dd03e013853146 Author: tg74 Date: Fri Nov 27 05:45:44 2020 +0000 bugfix internal assembler-reader x86 opsize local var git-svn-id: branches/tg74/avx512-0037785@47606 - M compiler/x86/rax86.pas M tests/utils/avx/avxopcodes.pas --- commit f8c84dd1fd36d1647cca55943c640964579d13d9 Author: pierre Date: Sat Nov 28 12:06:36 2020 +0000 Fix compilation with DEBUG_PPU macro set git-svn-id: trunk@47615 - M compiler/entfile.pas --- commit 99d88b91a9ec759fca2b345d7c38362ed1c285ee Author: florian Date: Sat Nov 28 16:02:49 2020 +0000 * do not include fpcdefs in the cepiktimer unit git-svn-id: trunk@47621 - M compiler/cepiktimer.pas --- commit ff87df758174e4f7be7303fb40f03895beaf270b Author: florian Date: Sat Nov 28 16:02:50 2020 +0000 + factor out PostProcessELFExecutable + write executable section size on linux git-svn-id: trunk@47622 - M compiler/link.pas M compiler/systems/t_embed.pas M compiler/systems/t_linux.pas --- commit 5ca2356638e7c3a144d832668a06e8dbe035993c Author: florian Date: Sat Nov 28 16:02:51 2020 +0000 * take care of po_noreturn in more cases git-svn-id: trunk@47623 - M compiler/m68k/cgcpu.pas M compiler/ncgutil.pas --- commit 82957ec5a382eb151a7fcde2bed5f5ca041b887c Author: svenbarth Date: Sat Nov 28 18:32:24 2020 +0000 * Fix for Mantis #38122: when a deref node is passed as a Self parameter for a type helper (which is a var parameter) we need to pass the non-derefentiated value so that the data it points to can be modified by the helper's method (this is Delphi compatible) + added tests git-svn-id: trunk@47625 - M .gitattributes M compiler/ncal.pas A tests/test/tthlp29.pp A tests/webtbs/tw38122.pp --- commit 8e13adad4c6ad7e1b5a3a2f6358f0ae564eef30b Author: pierre Date: Sat Nov 28 18:32:46 2020 +0000 * Improve Test_Double_checksum with Test_Double_checksum_write CRC testing code. Pass the three checksum arrays from ppufile to module owner, to be able to check that the checksums computed at the time pf ppu writing are compatible with the ones computed at interface level. git-svn-id: trunk@47626 - M compiler/fppu.pas M compiler/ppu.pas --- commit 8192bf1b3373484e96c6a31c368b9dfbdddddbbc Author: florian Date: Sun Nov 29 09:40:54 2020 +0000 * version update git-svn-id: trunk@47628 - M compiler/ppc68k.lpi --- commit fbb2e63fea518aa03f018f42589c14d8db8ed78f Author: florian Date: Sun Nov 29 10:16:00 2020 +0000 + #QLvember work: stack frame optimization for m68k git-svn-id: trunk@47629 - M compiler/m68k/cgcpu.pas M compiler/psub.pas --- commit c47d6d7af0ee2eedcf79aa76b91156ed4845e48b Author: florian Date: Sun Nov 29 13:38:33 2020 +0000 * check if an invisible parameter for the result occupies parameter space git-svn-id: trunk@47632 - M compiler/psub.pas --- commit 9758bec36c75cdde8f63d4d2f822c6fe0ce5cf3a Author: tg74 Date: Mon Nov 30 13:53:25 2020 +0000 working on new testmethods (memref-operands) git-svn-id: branches/tg74/avx512-0037785@47640 - M compiler/ppcx64.lpi M tests/utils/avx/asmtestgenerator.pas M tests/utils/avx/avxopcodes.pas --- commit 0a3d980f7e883862dec13db1745e75646c5f6f09 Author: tg74 Date: Mon Nov 30 13:53:25 2020 +0000 working on new testmethods (memref-operands) git-svn-id: branches/tg74/avx512-0037785@47640 - M compiler/ppcx64.lpi M tests/utils/avx/asmtestgenerator.pas M tests/utils/avx/avxopcodes.pas --- commit ae71ab728462e24367107623c19c4ba6aaaf8716 Author: tg74 Date: Mon Nov 30 16:31:51 2020 +0000 working on new testmethods memref operands git-svn-id: branches/tg74/avx512-0037785@47642 - M compiler/x86/rax86.pas M tests/utils/avx/avxopcodes.pas --- commit 9730a50a5badf6803d2f7412d98cc227240e70c8 Author: tg74 Date: Mon Nov 30 16:31:51 2020 +0000 working on new testmethods memref operands git-svn-id: branches/tg74/avx512-0037785@47642 - M compiler/x86/rax86.pas M tests/utils/avx/avxopcodes.pas --- commit c890a126fe2ce05614b0bbff10b8046146824d86 Author: florian Date: Mon Nov 30 22:07:33 2020 +0000 * allow an AT&T suffix for movabs git-svn-id: trunk@47650 - M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc --- commit 792b629aa6e33ed5f9dc8bd6427bd87aa9c2606d Author: florian Date: Mon Nov 30 22:07:34 2020 +0000 + -Xa option: generate code which allows to use more than 2 GB of static data on 64 Bit targets + implemented support for x86-64 * more than 2 GB static data requires to use the --no-relax option on linux git-svn-id: trunk@47651 - M compiler/globtype.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas M compiler/systems/t_linux.pas M compiler/utils/ppuutils/ppudump.pp M compiler/x86/cgx86.pas M tests/tbs/tb0528.pp M tests/webtbs/tw17236.pp --- commit 7f07c9f94d9e963f5bd457ea667178ec0b73c1e3 Author: florian Date: Mon Nov 30 22:08:04 2020 +0000 + range check enumeration array indicies, range checking is after all a safety mean git-svn-id: trunk@47652 - M compiler/nmem.pas --- commit 84bf87b20dbacb2db9bc8770043968fe1d4e35d9 Author: tg74 Date: Tue Dec 1 05:43:17 2020 +0000 working on new testmethods (memref-operands) git-svn-id: branches/tg74/avx512-0037785@47654 - M compiler/x86/rax86.pas --- commit d97929e9cf8db0b23a936830ec3e4e64206b6813 Author: tg74 Date: Tue Dec 1 05:43:17 2020 +0000 working on new testmethods (memref-operands) git-svn-id: branches/tg74/avx512-0037785@47654 - M compiler/x86/rax86.pas --- commit 9901a11d223ff5407a9d243a343e0811b1e41bf4 Author: pierre Date: Tue Dec 1 10:41:16 2020 +0000 Add internalerror when V_Error level is used in Test_double_checksum code, only with TEST_CRC_ERROR macro set git-svn-id: trunk@47657 - M compiler/ppu.pas --- commit af17e9460b17f9e0cebf469fde8c221f8b501768 Author: pierre Date: Tue Dec 1 11:45:14 2020 +0000 Apply patch proposed by J. Gareth Moreton in: bug report #0036882: [Feature] Class and record definition XML dump extension These patches extend the node dump feature (enabled with DEBUG_NODE_XML) so it also dumps class and record definitions to the XML file. They are contained within tags. Currently only fields and constants are dumped to the XML file. Methods, constant and variable definitions may be added later. git-svn-id: trunk@47658 - M compiler/node.pas M compiler/psub.pas M compiler/verbose.pas --- commit 0b63068ad2b7270cd9abcdb79026f77956303d7d Author: florian Date: Tue Dec 1 21:39:38 2020 +0000 * dir_push might not flush pending switch changes but has to read the pending record if needed git-svn-id: trunk@47660 - M compiler/scandir.pas --- commit 06b229e1c33157af5d90c1596dd62b675ae34bc8 Author: tg74 Date: Wed Dec 2 09:19:41 2020 +0000 working on internal assembler-reader x86 opsize local var git-svn-id: branches/tg74/avx512-0037785@47663 - M compiler/x86/rax86.pas --- commit ec4556e03d6213debed73786cfa6e9f7cfdcd801 Author: tg74 Date: Wed Dec 2 09:19:41 2020 +0000 working on internal assembler-reader x86 opsize local var git-svn-id: branches/tg74/avx512-0037785@47663 - M compiler/x86/rax86.pas --- commit a7fa31aa10ffd22de56175d14a6321fdcad160b5 Author: pierre Date: Wed Dec 2 09:29:08 2020 +0000 Fix i8086 compiler failure due to move of printnodeindention variable into verbose unit in commit #47658 git-svn-id: trunk@47664 - M compiler/i8086/n8086con.pas --- commit 6230de31bb7507f9a4eb6694f283f769fe0eae9a Author: pierre Date: Wed Dec 2 21:01:40 2020 +0000 * Second patch xml-node-dump-defs.patch from J. Gareth Moreton from bug report 36882. With same changes to ensure that xmllint find no errors in generated xml files. git-svn-id: trunk@47667 - M compiler/pdecl.pas M compiler/symdef.pas M compiler/symsym.pas M compiler/symtype.pas M compiler/verbose.pas --- commit 482698e566a62166d5cbb129409ba2d4cba8ea86 Author: florian Date: Wed Dec 2 21:44:12 2020 +0000 + add endsym to ConcatConstSymbol git-svn-id: trunk@47668 - M compiler/aasmtai.pas M compiler/raatt.pas M compiler/rautils.pas M compiler/x86/rax86int.pas --- commit 0cc91a50c782509d8fac0ed8f977f60a727fb387 Author: pierre Date: Thu Dec 3 11:05:36 2020 +0000 Fix z80 compiler failure after change to ConcatConstSymbol in commit #47668 git-svn-id: trunk@47675 - M compiler/z80/raz80asm.pas --- commit 0530a2f6e718ed0178d417551b0d4235506bd190 Author: tg74 Date: Thu Dec 3 16:24:00 2020 +0000 working on new testmethods and bug-fixing size of (memref-operands | global and local variable git-svn-id: branches/tg74/avx512-0037785@47678 - M compiler/i386/i386nop.inc M compiler/i386/i386tab.inc M compiler/i8086/i8086nop.inc M compiler/i8086/i8086tab.inc M compiler/ppcx64.lpi M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664nop.inc M compiler/x86_64/x8664tab.inc M tests/utils/avx/avxopcodes.pas --- commit 28fdba2c08f6fdee34557b1419e310e70b864a41 Author: tg74 Date: Thu Dec 3 16:24:00 2020 +0000 working on new testmethods and bug-fixing size of (memref-operands | global and local variable git-svn-id: branches/tg74/avx512-0037785@47678 - M compiler/i386/i386nop.inc M compiler/i386/i386tab.inc M compiler/i8086/i8086nop.inc M compiler/i8086/i8086tab.inc M compiler/ppcx64.lpi M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664nop.inc M compiler/x86_64/x8664tab.inc M tests/utils/avx/avxopcodes.pas --- commit 9c6bdcfbb793f7557fc0339c251a727e8f14b701 Author: florian Date: Thu Dec 3 21:22:07 2020 +0000 * fix in r47632 should be enabled for all targets as it is a stack tainting parameter git-svn-id: trunk@47680 - M compiler/psub.pas --- commit 96fcd2e760881dff0086fa86eb208e30f0d47fb2 Author: tg74 Date: Fri Dec 4 08:35:00 2020 +0000 bugfix internal assembler-reader x86 opsize local va git-svn-id: branches/tg74/avx512-0037785@47681 - M compiler/i386/i386tab.inc M compiler/i8086/i8086tab.inc M compiler/ppcx64.lpi M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664tab.inc --- commit d8d472cf68aaa59c255456d23a5698d70858c45f Author: tg74 Date: Fri Dec 4 08:35:00 2020 +0000 bugfix internal assembler-reader x86 opsize local va git-svn-id: branches/tg74/avx512-0037785@47681 - M compiler/i386/i386tab.inc M compiler/i8086/i8086tab.inc M compiler/ppcx64.lpi M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664tab.inc --- commit 8e5a54c92e47f1257e804bab50b5e045917870d8 Author: tg74 Date: Fri Dec 4 16:19:48 2020 +0000 working on new testmethods and bug-fixing size of (memref-operands | global and local variable git-svn-id: branches/tg74/avx512-0037785@47685 - M compiler/x86/rax86.pas M tests/utils/avx/asmtestgenerator.pas M tests/utils/avx/avxopcodes.pas --- commit b2615a9ba11f613a7920efd59b2199cfbc4f4017 Author: tg74 Date: Fri Dec 4 16:19:48 2020 +0000 working on new testmethods and bug-fixing size of (memref-operands | global and local variable git-svn-id: branches/tg74/avx512-0037785@47685 - M compiler/x86/rax86.pas M tests/utils/avx/asmtestgenerator.pas M tests/utils/avx/avxopcodes.pas --- commit 4f3a21eeecdcd63d878b4d010796a2bba43bb380 Author: florian Date: Fri Dec 4 22:43:55 2020 +0000 * don't do x*x -> optimziation for xtensa as it causes a recursive call in sqr(...) git-svn-id: trunk@47688 - M compiler/nadd.pas --- commit 0189276a12c2784225e4d97baacb0a7bea6aac6c Author: pierre Date: Sat Dec 5 21:22:18 2020 +0000 Raise internalerror inside RemoveCurentP is called with p=hp1, because it leads to using a class instance after it has been freed git-svn-id: trunk@47689 - M compiler/aoptobj.pas --- commit 19d5e4361575564889b0d4230a10fd84973c43e9 Author: pierre Date: Sat Dec 5 21:23:09 2020 +0000 Avoid internalerror in RemoveCurrentP for arm compiler git-svn-id: trunk@47690 - M compiler/arm/aoptcpu.pas --- commit 28d248c9d41e47fff2237448b7c30d1096d7908d Author: florian Date: Sat Dec 5 22:00:57 2020 +0000 * cleanup merge overlefts git-svn-id: trunk@47691 - M compiler/ninl.pas --- commit 6e4997265ca10e315fa140d645b9166c64c95b7b Author: florian Date: Sat Dec 5 22:00:58 2020 +0000 + min/max intrinsics for internal use by the compiler git-svn-id: trunk@47692 - M compiler/compinnr.pas M compiler/ncginl.pas M compiler/ninl.pas M compiler/optcse.pas --- commit 57dc416d9608f12749c1a50f7b058b0f62fd2c10 Author: florian Date: Sat Dec 5 22:00:59 2020 +0000 + replace appropriate if statements by min/max intrinsics + support min/max intrinsic on xtensa git-svn-id: trunk@47693 - M compiler/defutil.pas M compiler/nflw.pas M compiler/nutils.pas M compiler/xtensa/ncpuinl.pas --- commit e60a367f1b325b10428f3c7a274a4b6d24d60ffe Author: florian Date: Sun Dec 6 10:23:17 2020 +0000 + project file for PowerPC64LE git-svn-id: trunk@47694 - M .gitattributes A compiler/ppcppc64le.lpi --- commit 7da0284bfce4513392431f80b2b4ea35e29c0011 Author: florian Date: Sun Dec 6 10:23:18 2020 +0000 + read 64-Bit ELF executable info correctly git-svn-id: trunk@47695 - M compiler/link.pas M compiler/systems/t_linux.pas --- commit 19ce665b3d95ffd9a59577f980819665b32aa8fc Author: florian Date: Sun Dec 6 14:18:59 2020 +0000 * compilation fixed git-svn-id: trunk@47696 - M compiler/nflw.pas --- commit 92520c423e7d6a78f7f657ddae930b6abb404794 Author: florian Date: Sun Dec 6 16:22:38 2020 +0000 * x86 change information updated git-svn-id: trunk@47698 - M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 4f3271500a84ec359824d38ec2a0f1da564dc4d3 Author: florian Date: Sun Dec 6 16:37:54 2020 +0000 * (modified) patch by Christo Crause: ESP8266 doesn't support min/max instructions, resolves #38175 git-svn-id: trunk@47699 - M compiler/nflw.pas M compiler/xtensa/cpuinfo.pas --- commit c0d75c1c69f804e924f79271a188a2f5bc590397 Author: florian Date: Sun Dec 6 16:40:30 2020 +0000 * patch Christo Crause: Use LDS for 8 bit references, resolves #38173 git-svn-id: trunk@47700 - M compiler/cgobj.pas --- commit 1a9678f4c4fd4dc138cdfb5e1e94dee81877ce97 Author: florian Date: Sun Dec 6 18:09:30 2020 +0000 + min/max support for x86 git-svn-id: trunk@47701 - M compiler/nflw.pas M compiler/x86/nx86inl.pas --- commit d49453edbadd3242cb7a1077d5d5390aeb7573ed Author: florian Date: Sun Dec 6 19:31:03 2020 +0000 * quick fix for llvm compilation git-svn-id: trunk@47702 - M compiler/nflw.pas --- commit 8d238cfaa17fdc886d8465f3d2416243400f30bc Author: florian Date: Sun Dec 6 20:22:39 2020 +0000 * limit min/max optimization to fastmath for now, as the NaN handling is not working yet git-svn-id: trunk@47704 - M compiler/nflw.pas --- commit b3680eb5bda0d635435859166223dcfae6d4690c Author: tg74 Date: Mon Dec 7 04:39:36 2020 +0000 working on internal assembler-reader x86 opsize local var git-svn-id: branches/tg74/avx512-0037785@47707 - M compiler/x86/rax86.pas --- commit aeca33e80ad2db7c2c885c624b534c0b19aaef21 Author: tg74 Date: Mon Dec 7 04:39:36 2020 +0000 working on internal assembler-reader x86 opsize local var git-svn-id: branches/tg74/avx512-0037785@47707 - M compiler/x86/rax86.pas --- commit a7232669fff29a5a4054bb64ea000f402d31bc45 Author: pierre Date: Mon Dec 7 07:28:04 2020 +0000 * Adapted from patch node-dump-pass-1.patch submitted by J. Gareth Moreton from bug report 38156. This patch extends the DEBUG_NODE_XML debug feature by also outputting, to the *-node-dump.xml files, the node tree as it appears after the first pass, since it often contains many more internal nodes like temporary allocations that may need to be evaluated for debugging and development purposes, or node-level optimisation opportunities. git-svn-id: trunk@47709 - M compiler/psub.pas --- commit 674c3f04e042493b93c3b89990bc321b20df1287 Author: florian Date: Mon Dec 7 21:31:07 2020 +0000 + added explanation for min/max intrinsics * prepared x86 implementation for proper NaN handling git-svn-id: trunk@47715 - M compiler/compinnr.pas M compiler/x86/nx86inl.pas --- commit 348be7657df8af9c28ad0230bd81e85ebb42dc2c Author: pierre Date: Tue Dec 8 11:28:50 2020 +0000 Fix bug introduced in commit #47709, by only calling node_complexity if first pass was already done (bug report 38183) git-svn-id: trunk@47720 - M compiler/node.pas --- commit 3707cb4b1ec8931596f2e0c33e820358bbf0a085 Author: florian Date: Tue Dec 8 20:41:58 2020 +0000 * handle min/max properly if it is applied to NaNs * test extended git-svn-id: trunk@47729 - M compiler/nflw.pas M tests/test/tminmax.pp --- commit a0e96fd55111b9f4512653f9f782b43a8e7b479d Author: pierre Date: Wed Dec 9 12:36:46 2020 +0000 Fix pos field closing in XML node output after commit 47720 git-svn-id: trunk@47737 - M compiler/node.pas --- commit a849e51a3c698f59fe89facb9b161b2d8d91bfdb Author: florian Date: Wed Dec 9 20:57:06 2020 +0000 + m68k: JSR, RTS to JMP optimization git-svn-id: trunk@47740 - M compiler/m68k/aoptcpu.pas M compiler/m68k/cpubase.pas --- commit 7f96a26de03564f81ba124211601a0b969243b97 Author: Károly Balogh Date: Thu Dec 10 04:17:06 2020 +0000 m68k: in g_concatcopy, check the actual alignment of references being copied rather than always excluding word and dword sized direct copies on a 68000 git-svn-id: trunk@47744 - M compiler/m68k/cgcpu.pas --- commit 7040587cc3a8be4e692a4eb85ebf0a73eaff2b52 Author: tg74 Date: Thu Dec 10 04:43:24 2020 +0000 cleanup bugfix internal assembler-reader x86 opsize local/global var git-svn-id: branches/tg74/avx512-0037785@47745 - M compiler/x86/rax86.pas --- commit 8c98be824df6e28fad2a957e4908cf96be65d400 Author: tg74 Date: Thu Dec 10 04:43:24 2020 +0000 cleanup bugfix internal assembler-reader x86 opsize local/global var git-svn-id: branches/tg74/avx512-0037785@47745 - M compiler/x86/rax86.pas --- commit 2bd7877ec00e5de5cb954ce87403c604aad204b4 Author: Károly Balogh Date: Thu Dec 10 04:56:26 2020 +0000 amiga: fixed the recently added link map generation to work properly. needs recent vlink to work git-svn-id: trunk@47746 - M compiler/systems/t_amiga.pas --- commit 1efeb5851ada4f52ab63cda11fc1862198744a63 Author: svenbarth Date: Thu Dec 10 06:11:46 2020 +0000 * fix regression introduced with r47625 for Mantis #38122: when checking for a dereferentiation of the Self parameter subscript and vec nodes need to be kept + added test git-svn-id: trunk@47747 - M .gitattributes M compiler/ncal.pas A tests/webtbs/tw38122b.pp --- commit bb8c3fd153083180e5f527eaa95ec5a70f0b08fd Author: florian Date: Thu Dec 10 21:09:20 2020 +0000 * made optimization JSR, RTS to JMP more bullet proof, added comment git-svn-id: trunk@47750 - M compiler/m68k/aoptcpu.pas --- commit 817ef6949ae0334c4cb2ffd3a1251b4f16439bee Author: florian Date: Thu Dec 10 21:51:26 2020 +0000 * m68k: MOVE, TST, Jxx/Sxx to MOVE, Jxx optimization git-svn-id: trunk@47751 - M compiler/m68k/aoptcpu.pas --- commit 0d592e8d1a3c232754f0de04a8803ed0dfc1b8a8 Author: pierre Date: Fri Dec 11 11:14:33 2020 +0000 * Try to read command line exec name on linux, using argv[0], in order to be able to use the symbolic link name instead of the real executable name. This allows to use symbolic links to gppc386, named gppc1 to be able to launch ppc1 under gdb, as it is already possible under OpenBSD (which returns the command line name via paramstr(0), or under Windows if is used (generated by mklink). + Generate errors if compiler executable is not found, or if gdb binary is not found. git-svn-id: trunk@47753 - M compiler/utils/gppc386.pp --- commit f0298f63d0a2442d867f9565155ac77ead27541c Author: florian Date: Fri Dec 11 17:32:41 2020 +0000 * allow absolute variables with an address to be used as syscall base git-svn-id: trunk@47757 - M compiler/pdecsub.pas --- commit a0a8a6911a1d0f9e17fbd6c7f4a54bcdb1a9adca Author: florian Date: Fri Dec 11 22:14:16 2020 +0000 * m68k: proper values for first_*_reg git-svn-id: trunk@47761 - M compiler/m68k/cpubase.pas --- commit 0ab69ea0ad067a2114eb1e5142afc99cf5f5d965 Author: florian Date: Fri Dec 11 22:14:17 2020 +0000 + m68k: LEA, MOVE(M) to MOVE(M) predecremented optimization and MOVE(M), LEA to MOVE(M) postincremented optimization git-svn-id: trunk@47762 - M compiler/m68k/aoptcpu.pas --- commit c82aae59a11fdfde4b5cf400392450312126e869 Author: florian Date: Fri Dec 11 22:14:18 2020 +0000 * call node_complexity correctly in order_parameters when sorting parameters git-svn-id: trunk@47763 - M compiler/ncal.pas --- commit 88a0d4d64bc49b3c18150773506a11a487467132 Author: florian Date: Sun Dec 13 09:52:44 2020 +0000 + optimize if x>a then x:=a; into min(a,x);, similiar for max * test extended git-svn-id: trunk@47767 - M compiler/nflw.pas M tests/test/tminmax.pp --- commit b90ec52a0eb7042ce95d12843c246c80a05caa4f Author: florian Date: Sun Dec 13 09:52:45 2020 +0000 * x86: apply VOpVmov2VOp optimization to vmins*/vmaxs* git-svn-id: trunk@47768 - M compiler/x86_64/aoptcpu.pas --- commit 6d7d567a25a28dccb3f5603644a4fccbb9f1bacf Author: florian Date: Sun Dec 13 09:52:45 2020 +0000 * min/max optimization on x86 can be applied now without fastmath as NaN is handled properly now git-svn-id: trunk@47769 - M compiler/nflw.pas --- commit eb722c8294f91f274806673ee4941fd40334890a Author: pierre Date: Mon Dec 14 11:21:10 2020 +0000 Fix ash_savefregp_x handling, as revealed by range check error git-svn-id: trunk@47773 - M compiler/aarch64/agcpugas.pas --- commit 00af340febfa4f8b38630d5818f3003d8e74d4dc Author: florian Date: Mon Dec 14 21:55:41 2020 +0000 * cleanup git-svn-id: trunk@47774 - M compiler/psub.pas --- commit aeff5b3577af8d13b99a78e0021306a2c03aacf5 Author: florian Date: Tue Dec 15 21:33:33 2020 +0000 * improved change information git-svn-id: trunk@47781 - M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 9a0107a19dee80cf629e147e6ccf70ac5843500b Author: pierre Date: Wed Dec 16 00:07:39 2020 +0000 Fix compilation failure for avr compiler with -dDEBUG_NODE_XML, to fix bug report 38222 git-svn-id: trunk@47783 - M compiler/verbose.pas --- commit a2b720da564edba0ab08efd53eba8a6aa126c0c5 Author: tg74 Date: Wed Dec 16 11:02:14 2020 +0000 cleanup and add comments to div. vcvt.. opcodes git-svn-id: branches/tg74/avx512-0037785@47785 - M compiler/x86/x86ins.dat --- commit d6fdb384590bf8306e16b990dac52ca86f90deab Author: tg74 Date: Wed Dec 16 11:02:14 2020 +0000 cleanup and add comments to div. vcvt.. opcodes git-svn-id: branches/tg74/avx512-0037785@47785 - M compiler/x86/x86ins.dat --- commit 04b059268bb291cb1b5471481bacf5aa93a756eb Author: tg74 Date: Wed Dec 16 15:39:19 2020 +0000 cleanup x86ins.dat git-svn-id: branches/tg74/avx512-0037785@47788 - M compiler/x86/x86ins.dat --- commit 2a7ca7ddc721fee3a36a0af405a47fdad1449af0 Author: tg74 Date: Wed Dec 16 15:39:19 2020 +0000 cleanup x86ins.dat git-svn-id: branches/tg74/avx512-0037785@47788 - M compiler/x86/x86ins.dat --- commit fadac6a9a4169b7354b908e7ac7eb11b17927e68 Author: tg74 Date: Wed Dec 16 15:43:34 2020 +0000 cleanup x86ins.dat git-svn-id: branches/tg74/avx512-0037785@47789 - M compiler/i386/i386nop.inc M compiler/i386/i386tab.inc M compiler/i8086/i8086nop.inc M compiler/i8086/i8086tab.inc M compiler/x86_64/x8664nop.inc M compiler/x86_64/x8664tab.inc --- commit 25b27281375284e07b7b9047d7cfcb14f2805555 Author: tg74 Date: Wed Dec 16 15:43:34 2020 +0000 cleanup x86ins.dat git-svn-id: branches/tg74/avx512-0037785@47789 - M compiler/i386/i386nop.inc M compiler/i386/i386tab.inc M compiler/i8086/i8086nop.inc M compiler/i8086/i8086tab.inc M compiler/x86_64/x8664nop.inc M compiler/x86_64/x8664tab.inc --- commit 9858d9c5e67ffc9580feda5de1789b8e7f6d1b2f Author: florian Date: Wed Dec 16 21:55:05 2020 +0000 * apply doremoveinttypeconvs to unary minus and not on 8 and 16 bit targets as well git-svn-id: trunk@47796 - M compiler/ncnv.pas --- commit 9af9f140a52981f0d88b7d26bdcf2f915c95ad89 Author: florian Date: Wed Dec 16 21:55:05 2020 +0000 * do an unsigned division if one operand is unsigned an the other one a constant in its range, resolves #38180 git-svn-id: trunk@47797 - M compiler/nmat.pas M compiler/x86/nx86mat.pas --- commit 80f87edffd5b383a3530571bebdf15899c7c1724 Author: florian Date: Thu Dec 17 22:09:23 2020 +0000 * x86-64: correctly translate and with large constants in mod optimizations, resolves #38164 git-svn-id: trunk@47805 - M .gitattributes M compiler/x86/nx86mat.pas A tests/webtbs/tw38164.pp --- commit a1b252538fc592ad908f881b5b7aa63bc152696e Author: svenbarth Date: Fri Dec 18 13:50:36 2020 +0000 * change def parameter of single_type() from var to out (part of patch by Blaise.ru) git-svn-id: trunk@47809 - M compiler/ptype.pas --- commit 2a897f5b6b36e4817a73b18bc9e2d3c346befd30 Author: svenbarth Date: Fri Dec 18 13:50:39 2020 +0000 * apply slightly adjusted patch by Blaise.ru which moves parsing of result types to a separate functions thus ensuring that File types can't be used for procedure variables (just like they already couldn't be used as a result type for normal functions) + added test git-svn-id: trunk@47810 - M .gitattributes M compiler/pdecsub.pas M compiler/ptype.pas A tests/tbf/tb0273.pp --- commit 518db35eb075e4bbee9fd9f55324b96d292abe4b Author: tg74 Date: Fri Dec 18 16:24:57 2020 +0000 working on internal assembler-reader x86 opsize local/global var git-svn-id: branches/tg74/avx512-0037785@47811 - M compiler/x86/rax86.pas --- commit 295e2d4dff621a17c042f1f48474b140f7bfb1d4 Author: tg74 Date: Fri Dec 18 16:24:57 2020 +0000 working on internal assembler-reader x86 opsize local/global var git-svn-id: branches/tg74/avx512-0037785@47811 - M compiler/x86/rax86.pas --- commit 072be7b0f7dd383df9653c900080513e12a38afc Author: florian Date: Fri Dec 18 21:39:35 2020 +0000 * Aarch64: fix 32 bit div operations with constant denominators, resolves #38225 git-svn-id: trunk@47812 - M .gitattributes M compiler/aarch64/ncpumat.pas A tests/webtbs/tw38225.pp --- commit 213f84ad6ce093b49829e9411b597b626fb113b8 Author: tg74 Date: Sun Dec 20 04:44:37 2020 +0000 working on new testmethods and bug-fixing size of (memref-operands | global and local variable - append correct gas-suffix on any vcvt.. opcodes git-svn-id: branches/tg74/avx512-0037785@47821 - M compiler/x86/rax86.pas --- commit 75acaad1219d06bb3821c4d964dbd6bc17241ea9 Author: tg74 Date: Sun Dec 20 04:44:37 2020 +0000 working on new testmethods and bug-fixing size of (memref-operands | global and local variable - append correct gas-suffix on any vcvt.. opcodes git-svn-id: branches/tg74/avx512-0037785@47821 - M compiler/x86/rax86.pas --- commit 2a990b8167e0da36ce24a4e90263ac8e6cb47aae Author: florian Date: Sun Dec 20 18:05:43 2020 +0000 + patch by J. Gareth Moreton: some new x86 assembler optimizations, resolves #38130 git-svn-id: trunk@47824 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit cc92af8423a84a63ca73688c50f211869af3be97 Author: svenbarth Date: Tue Dec 22 22:22:35 2020 +0000 * apply patch by Blaise.ru to enable the correct generation of names for classes/interfaces inside local symtables; these will be required for reference function types which are in fact interfaces and classes, this does not mean that ordinary classes can be declared inside functions Note: no test as the functionality is not yet used git-svn-id: trunk@47834 - M compiler/symdef.pas --- commit 01691e9ecbe3a4cccd531799227886d3d1ac92b1 Author: Károly Balogh Date: Tue Dec 22 23:14:25 2020 +0000 * fix the m68k cross-builds by disabling part of r47824 git-svn-id: trunk@47835 - M compiler/x86/aoptx86.pas --- commit 2ec8145ec543c0babf24ecd8de10d0114a91dca0 Author: tg74 Date: Wed Dec 23 03:56:23 2020 +0000 external gas-assembler - handling special opcodes with multiple memref-size e.g. vfpclassps/pd - if operand-opsize < S_XMM =>> use memref-min-size git-svn-id: branches/tg74/avx512-0037785@47837 - M compiler/i386/i386atts.inc M compiler/i8086/i8086atts.inc M compiler/ppcx64.lpi M compiler/x86/rax86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc --- commit 11c17a87de784e7cd6dd4e412336a6d2094244d4 Author: tg74 Date: Wed Dec 23 03:56:23 2020 +0000 external gas-assembler - handling special opcodes with multiple memref-size e.g. vfpclassps/pd - if operand-opsize < S_XMM =>> use memref-min-size git-svn-id: branches/tg74/avx512-0037785@47837 - M compiler/i386/i386atts.inc M compiler/i8086/i8086atts.inc M compiler/ppcx64.lpi M compiler/x86/rax86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc --- commit 2bcd2a4a937cb2c8eb5e2e090e03816e934b8549 Author: pierre Date: Wed Dec 23 10:19:44 2020 +0000 Appply fix from Gareth Moreton in bug report 38247 git-svn-id: trunk@47838 - M compiler/x86/aoptx86.pas --- commit b713c7380bbd705f224c1bc1ad1e26eb8f5694e4 Author: florian Date: Wed Dec 23 17:25:09 2020 +0000 * implemented UseAVX512 properly + make use of VREDUCE* for frac(...) if AVX512QD is a available git-svn-id: trunk@47840 - M compiler/x86/cpubase.pas M compiler/x86/nx86inl.pas M compiler/x86_64/cpuinfo.pas --- commit 3a668d9b7c1720851d9980e132e0201d02b6a1aa Author: florian Date: Wed Dec 23 17:55:22 2020 +0000 * i386 compilation fixed git-svn-id: trunk@47841 - M compiler/i386/cpuinfo.pas --- commit b03eefd5d0bc17a5bcd03eb7850280509aa17b0b Author: florian Date: Wed Dec 23 17:58:07 2020 +0000 * Ch_ information for vreduce* fixed git-svn-id: trunk@47842 - M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 6db164c9936938755328022913d2985b1d3eec66 Author: florian Date: Wed Dec 23 22:41:37 2020 +0000 * min/max optimization needs to check both operands of the if condition, even if no else-statement is passed, resolves #38249 git-svn-id: trunk@47843 - M .gitattributes M compiler/nflw.pas M tests/test/tminmax.pp A tests/webtbs/tw38249.pp --- commit 26170815b410639e9a1b233a854884f913d47068 Author: pierre Date: Thu Dec 24 11:26:01 2020 +0000 Fix compilation of i8086 compiler after commit #47840 git-svn-id: trunk@47844 - M compiler/x86/nx86inl.pas --- commit 0fd7a5cb1fb05d0ee521c98cdcff695e95194b79 Author: florian Date: Thu Dec 24 13:13:42 2020 +0000 * lines with 255 chars a little bit long, reformated them git-svn-id: trunk@47845 - M compiler/nflw.pas --- commit 16a21eea87c564e9bd99c95eefb5980c9b230cfa Author: Károly Balogh Date: Fri Dec 25 09:07:21 2020 +0000 m68k: the LEA+MOVEM to MOVEM optimization is not feasible on a ColdFire git-svn-id: trunk@47847 - M compiler/m68k/aoptcpu.pas --- commit 053c42da3376a83975d1b45b78587f466d28fcba Author: florian Date: Fri Dec 25 18:18:09 2020 +0000 + Xtensa: support large stack frames for the call0 abi git-svn-id: trunk@47848 - M compiler/xtensa/cgcpu.pas --- commit 6190258f5d0c9b9992e8346bffbc8c18070f976b Author: Károly Balogh Date: Sat Dec 26 00:21:31 2020 +0000 m68k: new CPU capability - the LINK instruction supports LONG displacements (68020+) git-svn-id: trunk@47849 - M compiler/m68k/cpuinfo.pas --- commit 33afecd117abbd8c48433ff6396bc3b7419cda09 Author: florian Date: Sat Dec 26 18:51:45 2020 +0000 + support got modifier on labels git-svn-id: trunk@47851 - M .gitattributes M compiler/x86/rax86att.pas A tests/tbs/tb0682.pp --- commit c0c0acbcb9edd11007a891b0942d2d74ee315209 Author: Jonas Maebe Date: Sun Dec 27 13:18:44 2020 +0000 * fixed llvm shadow symtable construction in case fields are reordered (-Ooorderfields) and hence their offsets are no longer monotonically rising * also fixed padding for variant bitpacked records in llvm shadow symtable git-svn-id: trunk@47853 - M compiler/symtable.pas --- commit 3e047d3691851aa988e95fd76fe241fdb2386470 Author: Jonas Maebe Date: Sun Dec 27 13:18:47 2020 +0000 * generate more efficient code for trunc(currency), trunc(comp), and round(comp) on platforms where currency and comp are handled using the FPU o also fixes trunc(comp) and trunc(currency) compilation for x86 on LLVM with -Oofastmath * add missing removal of excess fpu precision typecasts for trunc/round git-svn-id: trunk@47854 - M .gitattributes M compiler/defutil.pas M compiler/ninl.pas A tests/tbs/tb0683.pp --- commit 5d51a788f77f5a9b6610375c5b7f7598274bc6ae Author: Jonas Maebe Date: Sun Dec 27 13:18:50 2020 +0000 - revert r47208 * properly fix the internalerror it hid: only replace the local symbols migrated to the parentfpstruct right before generating debug information, so that internally generated self/result loads during optimisation passes don't get confused by the replacement absolutevarsyms (those are normally never encountered during optimisation, as regular absolutevarsyms are replaced during parsing) git-svn-id: trunk@47855 - M compiler/nutils.pas M compiler/optdfa.pas M compiler/psub.pas --- commit 5e3e4437c442a0e916cc3137f1a17583161a78de Author: Jonas Maebe Date: Sun Dec 27 13:18:53 2020 +0000 * use new TSym.EscapedRealName property when creating new symbols with the same name as existing symbols git-svn-id: trunk@47856 - M compiler/symbase.pas M compiler/symcreat.pas --- commit 8ba4c4bcf0ccb8f927c6a15dd9cf07bb02789946 Author: Jonas Maebe Date: Sun Dec 27 13:18:56 2020 +0000 * factored out the creation of loadnodes for special variables/parameters git-svn-id: trunk@47857 - M compiler/nld.pas M compiler/nutils.pas M compiler/symsym.pas --- commit 6169bbeed5936ec152279666681362007726f3cb Author: florian Date: Sun Dec 27 21:54:01 2020 +0000 + $codealign directive accepts setting maxcrecord git-svn-id: trunk@47862 - M compiler/dirparse.pas --- commit 9b2bed6fdf168b694b7c62751b208bc82d075c16 Author: tg74 Date: Mon Dec 28 05:00:58 2020 +0000 external gas assembler: special handling for correct suffix in vfpclass-opcodes git-svn-id: branches/tg74/avx512-0037785@47865 - M compiler/x86/rax86.pas --- commit e98771608e51c0ccb8b4910376e9e563b8b0c794 Author: tg74 Date: Mon Dec 28 05:00:58 2020 +0000 external gas assembler: special handling for correct suffix in vfpclass-opcodes git-svn-id: branches/tg74/avx512-0037785@47865 - M compiler/x86/rax86.pas --- commit 185f20b9ecfaa598d6d6e3c042707c4e87273e0f Author: marco Date: Mon Dec 28 10:46:35 2020 +0000 * fix comment typo mentioned by Bart git-svn-id: trunk@47866 - M compiler/psub.pas --- commit 93be88b270d425ff7725db6f653519d2459ae3dc Author: florian Date: Mon Dec 28 16:18:55 2020 +0000 * reverted r47862 git-svn-id: trunk@47869 - M compiler/dirparse.pas --- commit b7ade3e566160485a9fa8c5f16c337fe7b5dc47a Author: tg74 Date: Tue Dec 29 04:49:52 2020 +0000 internal assembler-reader x86 opsize local/global var - cleanup git-svn-id: branches/tg74/avx512-0037785@47885 - M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas M tests/utils/avx/asmtestgenerator.pas --- commit 2452e991b86091045a296ca6251b66ca3f6cea5d Author: tg74 Date: Tue Dec 29 04:49:52 2020 +0000 internal assembler-reader x86 opsize local/global var - cleanup git-svn-id: branches/tg74/avx512-0037785@47885 - M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas M tests/utils/avx/asmtestgenerator.pas --- commit 95fae1a81d7a92d9e7511e02400fa362d4763bbd Author: tg74 Date: Tue Dec 29 05:12:47 2020 +0000 working on internal assembler-reader x86 opsize local/global var git-svn-id: branches/tg74/avx512-0037785@47886 - M compiler/x86/rax86.pas --- commit 507f0b3362db9513e09255168306a3c46d35f0b3 Author: tg74 Date: Tue Dec 29 05:12:47 2020 +0000 working on internal assembler-reader x86 opsize local/global var git-svn-id: branches/tg74/avx512-0037785@47886 - M compiler/x86/rax86.pas --- commit 2fc672452d27fe93609cb52bfca8a90a1b002cd7 Author: Jonas Maebe Date: Tue Dec 29 13:07:41 2020 +0000 * fixed error in load_fpu_location triggered by round() (fixes webtbs/tw32671 on i386 after r47854) git-svn-id: trunk@47890 - M compiler/x86/nx86inl.pas --- commit eb7702bea42c58dc4591524ef35fce8ea9b5b62b Author: florian Date: Tue Dec 29 18:19:35 2020 +0000 + implement align directive for records, resolves #28927 git-svn-id: trunk@47892 - M .gitattributes M compiler/ptype.pas A tests/webtbs/tw28927.pp --- commit edfbf2ce30215262b7e8c2d5f0b9c516bead4fc3 Author: florian Date: Tue Dec 29 22:35:33 2020 +0000 * correctly handle inlined exits in dfa, resolves #38259 git-svn-id: trunk@47894 - M .gitattributes M compiler/optdfa.pas M compiler/optutils.pas A tests/webtbs/tw38259.pp --- commit 195c8b599c1ddd61ebaa739fd2def0db21436cec Author: tg74 Date: Wed Dec 30 07:10:37 2020 +0000 internal assembler-reader x86 opsize local/global var - cleanup git-svn-id: branches/tg74/avx512-0037785@47899 - M compiler/x86/aasmcpu.pas --- commit 7bba64854b52c877aac354180ba7928a903ff23f Author: tg74 Date: Wed Dec 30 07:10:37 2020 +0000 internal assembler-reader x86 opsize local/global var - cleanup git-svn-id: branches/tg74/avx512-0037785@47899 - M compiler/x86/aasmcpu.pas --- commit 32999fbaba853286412aed98a5d2a89262a0cd65 Author: joost Date: Wed Dec 30 15:41:44 2020 +0000 * Fixed missing slash in fppkg.cfg when installed in the root git-svn-id: trunk@47913 - M compiler/utils/samplecfg --- commit b4a6c22234aeb9982a3d27ca0c37e0f2b7963958 Author: florian Date: Thu Dec 31 15:52:02 2020 +0000 * do not check inlined exit nodes for unset results, resolves #38259 git-svn-id: trunk@47926 - M compiler/optdfa.pas M tests/webtbs/tw38259.pp --- commit 97abf6b49557961c9fdd525b4b4db4e4763d6e37 Author: florian Date: Fri Jan 1 15:26:13 2021 +0000 * first part of fixing #38267: do not bail out early during constant folding if the constant is 1 or -1 git-svn-id: trunk@47933 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw38267a.pp --- commit e6037961e3be89a55dcb273dd8327fdb85d5338c Author: florian Date: Fri Jan 1 21:58:12 2021 +0000 * refactored constant folding code git-svn-id: trunk@47935 - M compiler/nadd.pas --- commit 7de94e7a1dd1ee7de675c334fc936a64f72fb978 Author: florian Date: Sat Jan 2 17:18:54 2021 +0000 * properly fold string+string const+string const., resolves #38267 git-svn-id: trunk@47977 - M .gitattributes M compiler/nadd.pas A tests/webtbs/tw38267b.pp --- commit f8fc0073248b2be95224d2419bb844b4bec0d5e9 Author: tg74 Date: Sat Jan 2 22:13:27 2021 +0000 internal assembler-reader x86 (local/global var) - validate asm-opcode-attsuffix and memrefsize git-svn-id: branches/tg74/avx512-0037785@47984 - M compiler/i386/i386atts.inc M compiler/i8086/i8086atts.inc M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc --- commit b6cf482fcf3fc1f916615c8fc80e552e241ad15c Author: tg74 Date: Sat Jan 2 22:13:27 2021 +0000 internal assembler-reader x86 (local/global var) - validate asm-opcode-attsuffix and memrefsize git-svn-id: branches/tg74/avx512-0037785@47984 - M compiler/i386/i386atts.inc M compiler/i8086/i8086atts.inc M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc --- commit 3109005791794f433437c6d452e72f1bffbd4a4a Author: florian Date: Sat Jan 2 22:18:38 2021 +0000 + fold also (string const+(string const+string var)) * string tree folding code moved into level 2 opt. block git-svn-id: trunk@47986 - M compiler/nadd.pas M tests/webtbs/tw38267b.pp --- commit d854d18bd9730ffbe4340dd8a1dc9c2c1efd65b8 Author: svenbarth Date: Sat Jan 2 23:23:08 2021 +0000 * instead of blindly consuming whatever comes next trigger an explicit error if the parsed expression does not match for "INDEX ordexpr" or "NAME strexpr" + added tests git-svn-id: trunk@47995 - M .gitattributes M compiler/pexports.pas A tests/webtbf/tw38289a.pp A tests/webtbf/tw38289b.pp --- commit 9179f9d43b5ebc1ba356a7d0ad12a13a2ac52b3f Author: svenbarth Date: Sat Jan 2 23:23:12 2021 +0000 * always add a generic dummy if it is a procsym git-svn-id: trunk@47996 - M compiler/pgenutil.pas --- commit 43ba5b69d2b86a6b00908c0c1664cd893db22f9d Author: svenbarth Date: Sat Jan 2 23:23:16 2021 +0000 * ensure that the dummy symbol is registered if it's added due to a routine git-svn-id: trunk@47997 - M compiler/pdecsub.pas --- commit f42b39a7b5c586378c5baef31567ee53cc427715 Author: svenbarth Date: Sat Jan 2 23:23:20 2021 +0000 * use a case statement instead of nested if-then statements git-svn-id: trunk@47998 - M compiler/pexpr.pas --- commit a65d778f73ae920d4eeec28438c254ad9ee0f8cb Author: svenbarth Date: Sat Jan 2 23:23:24 2021 +0000 * also handle call nodes when determining the generic symbol for inline specializations git-svn-id: trunk@47999 - M compiler/pexpr.pas --- commit e4eed4e25994349c28dec79ab566831565bec643 Author: svenbarth Date: Sat Jan 2 23:23:29 2021 +0000 * when only a symbol name is provided to generate_specialization_phase1 allow a symbol table to be provided as well git-svn-id: trunk@48000 - M compiler/pexpr.pas M compiler/pgenutil.pas --- commit 7343e9c4a273b789577856915e0edf6613fa4b41 Author: svenbarth Date: Sat Jan 2 23:23:34 2021 +0000 * correctly handle the case should the generic dummy symbol be a procsym instead of a typesym git-svn-id: trunk@48001 - M compiler/pexpr.pas M compiler/symtable.pas --- commit c96029ebd57c852dd3f006cf8769d9fd5473a605 Author: svenbarth Date: Sat Jan 2 23:23:39 2021 +0000 * Delphi does not allow a generic method to be overloaded by a non generic type of the same name (unlike for generic types and non generic routines); this is probably done to simplify the implementation of implicit specializations of generic methods so we do this as well. For this we change the dummy symbol for generic routines from a typesym to a procsym + added tests Note: what Delphi /does/ allow however is to overload a generic routine with a generic type... go figure. :/ We currently don't allow that git-svn-id: trunk@48002 - M .gitattributes M compiler/pdecsub.pas A tests/test/tgenfunc24.pp A tests/test/tgenfunc25.pp A tests/test/tgenfunc26.pp A tests/test/tgenfunc27.pp --- commit b8578f804f48a7e7fc45a176f4556cf729dab2db Author: svenbarth Date: Sun Jan 3 12:11:44 2021 +0000 * fix compilation on targets that use Stabs debug information: ignore generic dummy symbols with no procdefs for generating stabs data git-svn-id: trunk@48007 - M compiler/dbgstabs.pas --- commit 12adb47d65e06d4d730cbb860c711bb668a94367 Author: florian Date: Sun Jan 3 15:03:27 2021 +0000 * clean up git-svn-id: trunk@48011 - M compiler/nadd.pas --- commit de36d6c0499c2ce4ceba4825d004767f0ba944bb Author: florian Date: Mon Jan 4 21:54:36 2021 +0000 + added newly used opcodes to avx_opcode_only_op0_may_be_memref git-svn-id: trunk@48070 - M compiler/x86/rgx86.pas --- commit 09c009868604cb1a9a065ea9c739a37c41c93923 Author: florian Date: Tue Jan 5 13:13:43 2021 +0000 -- Rückwärtiges Zusammenführen von r47837 bis r47033 in »ppcx64.lpi«: U ppcx64.lpi -- Aufzeichnung der Informationen für rückwärtiges Zusammenführen von r47837 bis r47033 in »ppcx64.lpi«: G ppcx64.lpi -- Entfernung der Zusammenführungsinformationen von »ppcx64.lpi«: U ppcx64.lpi git-svn-id: branches/tg74/avx512-0037785@48084 - M compiler/ppcx64.lpi --- commit c84c4eb1a4cfffe8cacef0193af7a854f34c5bc6 Author: florian Date: Tue Jan 5 13:13:43 2021 +0000 -- Rückwärtiges Zusammenführen von r47837 bis r47033 in »ppcx64.lpi«: U ppcx64.lpi -- Aufzeichnung der Informationen für rückwärtiges Zusammenführen von r47837 bis r47033 in »ppcx64.lpi«: G ppcx64.lpi -- Entfernung der Zusammenführungsinformationen von »ppcx64.lpi«: U ppcx64.lpi git-svn-id: branches/tg74/avx512-0037785@48084 - M compiler/ppcx64.lpi --- commit ce1f115b2d17e17832f36c91b285e83aa3fe8f74 Author: florian Date: Tue Jan 5 13:52:29 2021 +0000 * use str(...) instead of typinfo unit git-svn-id: branches/tg74/avx512-0037785@48085 - M compiler/x86/aasmcpu.pas --- commit c3b5d0d5d5b522e8d1a594183e2b49dce34decfb Author: florian Date: Tue Jan 5 13:52:29 2021 +0000 * use str(...) instead of typinfo unit git-svn-id: branches/tg74/avx512-0037785@48085 - M compiler/x86/aasmcpu.pas --- commit 28efcfba65295ebf1b88238906b79594fe54fda4 Author: florian Date: Tue Jan 5 15:15:41 2021 +0000 + patch by J. Gareth Moreton: Advanced MOVZX optimisations, resolves #38294 git-svn-id: trunk@48086 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 57d9884d964cc8e1208814fc3b0f381c3140e642 Author: svenbarth Date: Tue Jan 5 20:58:46 2021 +0000 * fix for Mantis #38310: ignore procsyms that have no procdefs for checking overloads, or more precisely to stop checking for overloads; these are generic dummy symbols + added (simplified) tests git-svn-id: trunk@48088 - M .gitattributes M compiler/htypechk.pas A tests/webtbs/tw38310a.pp A tests/webtbs/tw38310b.pp A tests/webtbs/tw38310c.pp --- commit aec18c2426a503c0c85e057bbc2f029d649fe3bf Author: florian Date: Tue Jan 5 22:39:16 2021 +0000 * weight currency->float conversions the same regardless if the currency type is handled by the integer unit or the x87 fpu, resolves #38309 git-svn-id: trunk@48089 - M .gitattributes M compiler/defcmp.pas A tests/webtbs/tw38309.pp --- commit 6160abe37ec2fd61fcd1424cd62cf95fd2f8b1f6 Author: svenbarth Date: Wed Jan 6 12:57:59 2021 +0000 * have the generic dummy symbols for procsyms keep track of their overloaded generic procsyms so that they can be easily found (will be needed for implicit specializations) git-svn-id: trunk@48096 - M compiler/pdecsub.pas M compiler/ppu.pas M compiler/symsym.pas M compiler/utils/ppuutils/ppudump.pp M compiler/utils/ppuutils/ppuout.pp --- commit 80282d6effe141239c36d02d418c51142b38f6f5 Author: Jonas Maebe Date: Wed Jan 6 22:35:40 2021 +0000 * llvm: only set custom parameter alignments for byval parameters, the rest is handled automatically by llvm (and since llvm 11.0 you get an error if you specify an alignment for them anyway) git-svn-id: trunk@48100 - M compiler/llvm/hlcgllvm.pas --- commit 7f775abb6dc5c5b3b3a1dfe347304a81d970df77 Author: florian Date: Fri Jan 8 14:19:19 2021 +0000 * throw a proper error if a contructur has a type parameter in delphi mode, resolves #37217 git-svn-id: trunk@48113 - M .gitattributes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pdecsub.pas A tests/webtbf/tw37217.pp --- commit 4e9b42344e5e19210d8ffec442f1bba631df9078 Author: florian Date: Fri Jan 8 22:22:56 2021 +0000 + AddLea2Lea optimization * improved LeaLea2Lea git-svn-id: trunk@48116 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit f42f62565bf31b15c943b91eab9fc5a9569e01fe Author: florian Date: Fri Jan 8 22:29:24 2021 +0000 * patch by J. Gareth Moreton to resolve bug introduced in the first patch, resolves #38294 git-svn-id: trunk@48117 - M compiler/x86/aoptx86.pas --- commit 227bd3e9041fa1347905fcf666a951382c1a0f09 Author: florian Date: Sat Jan 9 18:21:49 2021 +0000 * simplified code for JccAdd2SetccAdd optimization git-svn-id: trunk@48122 - M compiler/x86/aoptx86.pas --- commit eb81b981cd66a1ab82fa0dcc05119e3a9c5a09d6 Author: florian Date: Sun Jan 10 10:23:40 2021 +0000 * patch by J. Gareth Moreton to fix MovzxCmp2CmpMovzx, resolves #38339 git-svn-id: trunk@48124 - M compiler/x86/aoptx86.pas --- commit 469959d9b52e49254c45885e9e9f6d631a3481b6 Author: svenbarth Date: Sun Jan 10 10:55:18 2021 +0000 * clear up message that a global generic references a static symbol a bit git-svn-id: trunk@48125 - M compiler/msg/errore.msg --- commit 217e9ac5a5714fa60214616b33f0e7a0860c2a64 Author: svenbarth Date: Sun Jan 10 10:55:26 2021 +0000 * regenerate msg*.inc files git-svn-id: trunk@48126 - M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 5c2303a76b1a616d24f9e41679bf61f79020f4c4 Author: Jonas Maebe Date: Sun Jan 10 15:47:27 2021 +0000 * add parameter cleanup nodes to the call cleanup block (mantis #38316) git-svn-id: trunk@48130 - M .gitattributes M compiler/ncal.pas A tests/webtbs/tw38316.pp --- commit a286ad9d774c19718bea0cbfc84347dc67dd4862 Author: florian Date: Mon Jan 11 21:47:32 2021 +0000 * do not extend 8 bit return values to 32 bit when loading them into eax, this is not required by the api, neither does e.g. clang it git-svn-id: trunk@48136 - M compiler/x86_64/cpupara.pas --- commit 64e796ace2f58eda26c7c732c8d592029f5cf297 Author: tg74 Date: Tue Jan 12 09:47:18 2021 +0000 cleanup bugfix 0037785 git-svn-id: branches/tg74/avx512-0037785@48145 - M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas --- commit 17d1b8afdb7dfe862aaa84d4bb012c2674d8cfc6 Author: tg74 Date: Tue Jan 12 09:47:18 2021 +0000 cleanup bugfix 0037785 git-svn-id: branches/tg74/avx512-0037785@48145 - M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas --- commit ecdac1dd399df3d5dade5151e320686db821ef9e Author: tg74 Date: Tue Jan 12 16:19:53 2021 +0000 cleanup + add internal error if all asmr_e_not_supported_combination_attsuffix_memrefsize_type are reported git-svn-id: branches/tg74/avx512-0037785@48148 - M compiler/x86/aasmcpu.pas --- commit 472f8c900b8b5dd32333c930ba1c6f4a75828102 Author: tg74 Date: Tue Jan 12 16:19:53 2021 +0000 cleanup + add internal error if all asmr_e_not_supported_combination_attsuffix_memrefsize_type are reported git-svn-id: branches/tg74/avx512-0037785@48148 - M compiler/x86/aasmcpu.pas --- commit 54ea8468fc0fa0c2775c82a10ad62785c2a8f11a Author: tg74 Date: Tue Jan 12 16:27:07 2021 +0000 cleanup git-svn-id: branches/tg74/avx512-0037785@48149 - M compiler/x86/rax86.pas --- commit 259c865667d580981c3b8b0e98287383f38b40a4 Author: tg74 Date: Tue Jan 12 16:27:07 2021 +0000 cleanup git-svn-id: branches/tg74/avx512-0037785@48149 - M compiler/x86/rax86.pas --- commit 344aadebb9e2cc9abe51bfad885a57400508d088 Author: florian Date: Tue Jan 12 21:45:38 2021 +0000 * avoid widening of shl operations, this is not necessary for them either git-svn-id: trunk@48150 - M compiler/ncnv.pas --- commit 9003114a8f7cf994275dbfc88b93a0c8d0ce25d5 Author: florian Date: Thu Jan 14 21:36:12 2021 +0000 + support R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX git-svn-id: trunk@48156 - M compiler/ogbase.pas M compiler/x86_64/cpuelf.pas --- commit 707bce74d765b6442a28036f5bbb0320c61b7560 Author: florian Date: Fri Jan 15 21:24:44 2021 +0000 * patch by J. Gareth Moreton: refactor OptPass2Jcc, resolves #38343 git-svn-id: trunk@48162 - M compiler/x86/aoptx86.pas --- commit 8618a3b21f4079b12a7b439c9026d3ace63d3925 Author: florian Date: Sat Jan 16 15:38:29 2021 +0000 * simplify tx8664shlshrnode.pass_generate_code, it should not mess with the result type, this is a matter of the type check pass git-svn-id: trunk@48164 - M compiler/x86_64/nx64mat.pas --- commit ecc3ce64eaeeca34fbcdf297fdea90420845fb11 Author: florian Date: Sat Jan 16 22:46:25 2021 +0000 * x86: some fixes to enable 8 and 16 bit operations git-svn-id: trunk@48166 - M compiler/x86/cgx86.pas M compiler/x86/nx86mat.pas M compiler/x86_64/nx64mat.pas --- commit 14ddc59edbfafc8f7ff20ca7bfaeecee4ee3fd16 Author: florian Date: Sun Jan 17 10:12:55 2021 +0000 * arm*: fix SxtbAndImm2Sxtb (now SxtbAndImm2Uxtb) optimization as proposed by Pierre and Gareth git-svn-id: trunk@48167 - M compiler/armgen/aoptarm.pas --- commit d4ad618a702802f02fe4196ce6487f15c5535bed Author: florian Date: Sun Jan 17 19:01:14 2021 +0000 * similiar fix to r48167 for OptPass1SXTH git-svn-id: trunk@48168 - M compiler/armgen/aoptarm.pas --- commit 16f201292c0690d29ee40a4b525a60c13d203c7c Author: florian Date: Mon Jan 18 21:29:52 2021 +0000 + remove try ... finally statements if the finally block is empty git-svn-id: trunk@48174 - M compiler/nflw.pas --- commit dc799a9d49d234980b4184d2561bb0ba04337177 Author: pierre Date: Mon Jan 18 23:29:24 2021 +0000 Fix clearing of single type register variable in initialize_regvars method for ARM cpu (with -Ooregvar) git-svn-id: trunk@48186 - M compiler/hlcgobj.pas --- commit 85afaf528916ef20938b019e802619d65dc3f778 Author: florian Date: Tue Jan 19 21:04:41 2021 +0000 * patch by J. Gareth Moreton: Unitialized result variable fix on non-x86 debug builds, resolves #38371 git-svn-id: trunk@48221 - M compiler/nbas.pas --- commit 4111e13017f90f992971a522ec67f3bdf3b46b85 Author: pierre Date: Tue Jan 19 22:33:32 2021 +0000 Avoid inlining of real constant for m68k if type is not best precision git-svn-id: trunk@48224 - M compiler/m68k/n68kadd.pas --- commit 7a3eb453d40af468faa5c395a6bf301cc0a0cc40 Author: florian Date: Wed Jan 20 21:14:09 2021 +0000 * arm/aarch64: patch by J. Gareth Moreton: fix register allocation information for Mov2None 2, should resolve #38055 git-svn-id: trunk@48235 - M compiler/armgen/aoptarm.pas --- commit b88f9ad57cb67ae1b565d9564f2d8e938c239ce0 Author: pierre Date: Wed Jan 20 22:11:15 2021 +0000 Reset paratargetdbg to dbg_none when handling -g- option, to really suppress debug information generation git-svn-id: trunk@48243 - M compiler/options.pas --- commit 2519fb126663d9dc4184d8ed9d7edca2e65baf78 Author: florian Date: Fri Jan 22 22:02:44 2021 +0000 * patch by J. Gareth Moreton: aarch64 EXTDEBUG fixes and extensions, resolves #38383 git-svn-id: trunk@48337 - M compiler/aarch64/aasmcpu.pas M compiler/aarch64/cgcpu.pas --- commit 9803318feffd8cbf8904be68d784f062eee3ed90 Author: florian Date: Sat Jan 23 21:29:37 2021 +0000 * give a proper error if macros are too deeply nested git-svn-id: trunk@48357 - M .gitattributes M compiler/scanner.pas A tests/webtbf/tw38287.pp --- commit 64c586b86dc064d1bdb07655975f1787f17129df Author: yury Date: Sun Jan 24 12:24:01 2021 +0000 * Removed/ifdefed lots of unused variables. git-svn-id: trunk@48384 - M compiler/aarch64/agcpugas.pas M compiler/aarch64/aoptcpu.pas M compiler/aggas.pas M compiler/arm/aoptcpu.pas M compiler/avr/agavrgas.pas M compiler/avr/aoptcpu.pas M compiler/avr/cgcpu.pas M compiler/avr/cpupara.pas M compiler/avr/navrmat.pas M compiler/avr/raavrgas.pas M compiler/avr/rgcpu.pas M compiler/i8086/cpupara.pas M compiler/i8086/n8086tcon.pas M compiler/jvm/agjasmin.pas M compiler/jvm/cpubase.pas M compiler/jvm/njvminl.pas M compiler/jvm/njvmmat.pas M compiler/nadd.pas M compiler/nbas.pas M compiler/ncginl.pas M compiler/ogomf.pas M compiler/optloop.pas M compiler/psub.pas M compiler/scandir.pas M compiler/symdef.pas M compiler/systems/t_bsd.pas M compiler/systems/t_darwin.pas M compiler/systems/t_embed.pas M compiler/systems/t_freertos.pas M compiler/systems/t_win.pas M compiler/systems/t_win16.pas M compiler/x86/aasmcpu.pas M compiler/x86/agx86nsm.pas M compiler/x86/aoptx86.pas M compiler/x86/cgx86.pas M compiler/x86/nx86inl.pas M compiler/x86/nx86mat.pas M compiler/x86/nx86set.pas M compiler/x86/rax86.pas --- commit 0a021be803f923bae563abf7eacc9a1d6bf36b66 Author: yury Date: Sun Jan 24 12:41:12 2021 +0000 * Corrected visibility of overridden methods. git-svn-id: trunk@48385 - M compiler/avr/navradd.pas M compiler/i8086/n8086mem.pas M compiler/i8086/symcpu.pas M compiler/jvm/hlcgcpu.pas M compiler/nflw.pas M compiler/ogomf.pas --- commit 221efd7a806a778f59a29b7f9baf74048e8b3978 Author: yury Date: Sun Jan 24 13:04:17 2021 +0000 * Commented out some unused (yet?) local variables. git-svn-id: trunk@48386 - M compiler/x86/aasmcpu.pas --- commit 9c265d71f0fc92ec1065d0a19c2565ff884dcc9c Author: yury Date: Sun Jan 24 13:08:54 2021 +0000 * Fixed a wrong code caused by a typo. It has been revealed by a note about an unused var. git-svn-id: trunk@48387 - M compiler/pgenutil.pas --- commit 31cd3df783edbe1bec40a90ccf4df82b5c327f2b Author: yury Date: Sun Jan 24 13:32:11 2021 +0000 * Fixed r44145. To test if a constant is declared it is needed to use {$if declared()} instead of {$if defined()}. git-svn-id: trunk@48389 - M compiler/rgobj.pas --- commit 0ab6b1ab4dcc5a513a83831fdd1070ed8fbe49db Author: yury Date: Sun Jan 24 13:35:32 2021 +0000 * Commented out the unneeded/unfinished code. git-svn-id: trunk@48390 - M compiler/psabiehpi.pas --- commit 75491ae21c54217fc1838dad300f5c86a247db4b Author: yury Date: Sun Jan 24 13:58:17 2021 +0000 * Removed/ifdefed the assigned and unused variables. git-svn-id: trunk@48391 - M compiler/aarch64/agcpugas.pas M compiler/aarch64/aoptcpu.pas M compiler/jvm/dbgjasm.pas M compiler/jvm/njvmmem.pas M compiler/nflw.pas M compiler/ogomf.pas M compiler/pgenutil.pas M compiler/psabiehpi.pas M compiler/systems/t_freertos.pas M compiler/systems/t_win16.pas M compiler/x86/cgx86.pas --- commit 4fa99cff624119b65aba0c5c6fd0af267ad0dc42 Author: yury Date: Sun Jan 24 14:05:21 2021 +0000 * Removed more assigned but unused vars. git-svn-id: trunk@48392 - M compiler/avr/cgcpu.pas M compiler/avr/cpupara.pas M compiler/rgobj.pas --- commit 9b1567f0546a7df6e7a5818dab3c614146f95c7b Author: yury Date: Sun Jan 24 14:06:35 2021 +0000 * Corrected method's visibility. git-svn-id: trunk@48393 - M compiler/arm/aoptcpu.pas --- commit 1f49e633b6599ef4acf917a4190a62bf171843bf Author: florian Date: Sun Jan 24 14:21:03 2021 +0000 + modified patch by Christo Crause: if the target support, the switch -Xu can be used to generate the executable as an uf2 file git-svn-id: trunk@48394 - M compiler/globtype.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas M compiler/systems.pas M compiler/systems/t_embed.pas --- commit 2567631aad9684c8b6c4cae9e4d94e3c93a2466f Author: yury Date: Sun Jan 24 14:28:49 2021 +0000 * Removed in_x86mm_last (the duplicate no and unused) from the tinlinenumber enum. git-svn-id: trunk@48395 - M compiler/x86/cx86mminnr.inc --- commit 04727844b5c663cadd8620aef3ec2fc892115d0e Author: yury Date: Sun Jan 24 14:29:39 2021 +0000 * Fixed value of the LF_PAD13 enum element. git-svn-id: trunk@48396 - M compiler/dbgcodeview.pas --- commit 225eb8ed12ef191cf97a185f1a405bbdaf9634b2 Author: florian Date: Sun Jan 24 14:34:02 2021 +0000 * do not output error numbers for options git-svn-id: trunk@48397 - M compiler/verbose.pas --- commit 268f7bfb5c73b8e6dc11bfba6bcd1c61ec0353d0 Author: pierre Date: Sun Jan 24 14:45:25 2021 +0000 Add cs_generate_uf2 entry into ppudump git-svn-id: trunk@48398 - M compiler/utils/ppuutils/ppudump.pp --- commit 91649eb2e5e882700c3f08a339c163b7f24837ca Author: florian Date: Sun Jan 24 17:40:02 2021 +0000 * missing programs added to rules, so make clean works better git-svn-id: trunk@48404 - M compiler/utils/Makefile M compiler/utils/Makefile.fpc --- commit e5c6e91bd0deb773586b10741d8435409313bf56 Author: florian Date: Sun Jan 24 17:43:15 2021 +0000 + write message number to docs + enclose arguments in text angles git-svn-id: trunk@48406 - M compiler/utils/msg2inc.pp --- commit 6975437da8f582ce6f964ba1f3d95972477784e0 Author: yury Date: Sun Jan 24 17:53:42 2021 +0000 * rgobj: ungetiftemp can't be used here since it frees only temps of the tt_normal type. git-svn-id: trunk@48407 - M compiler/rgobj.pas --- commit 5950a5f97b1a920fb9622f8897da0d1eef2ec04f Author: florian Date: Sun Jan 24 18:07:13 2021 +0000 * compiler utils cannot depend on StrUtils git-svn-id: trunk@48408 - M compiler/utils/mkx86inl.pp M compiler/utils/mkz80ins.pp --- commit 0b76059b37bdb2553beec800b2d4134a9d0df826 Author: florian Date: Sun Jan 24 21:13:41 2021 +0000 * use generic VFP type instead of VFP list prone to changes git-svn-id: trunk@48410 - M compiler/msg/errord.msg M compiler/msg/errorda.msg M compiler/msg/errordu.msg M compiler/msg/errore.msg M compiler/msg/errores.msg M compiler/msg/errorfi.msg M compiler/msg/errorheu.msg M compiler/msg/errorid.msg M compiler/msg/errorn.msg M compiler/msg/errorptu.msg M compiler/msg/errorru.msg M compiler/msg/errorues.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 0ab4515e587d6eba0c82700a003dc3a0ba6a25bb Author: florian Date: Sun Jan 24 21:32:27 2021 +0000 * properly mangle interface wrapper names to avoid duplicate label errors, resolves #38385 git-svn-id: trunk@48411 - M .gitattributes M compiler/ncgvmt.pas A tests/webtbs/tw38385.pp A tests/webtbs/uw38385a.pp A tests/webtbs/uw38385b.pp A tests/webtbs/uw38385c.pp --- commit 67fcf0f03e9b81241040ce5e31f8a8290384d029 Author: Károly Balogh Date: Mon Jan 25 00:42:01 2021 +0000 m68k: revert r48224, the fix proposed in that patch was just hiding an underlying issue git-svn-id: trunk@48415 - M compiler/m68k/n68kadd.pas --- commit e99827246e52288205bf3dff3533634aa553acb3 Author: florian Date: Thu Jan 28 20:56:15 2021 +0000 * fix type conversion for array indicies if the ordinal ranges of the involved types do not overlap, resolves #38413 git-svn-id: trunk@48449 - M .gitattributes M compiler/nmem.pas A tests/webtbs/tw38413.pp --- commit 4bec57702f93cd54d61f68b1f8078ce4a4d985fc Author: florian Date: Fri Jan 29 21:31:59 2021 +0000 * handle generic with ord call of sub-range and enumeration data excluding 0 correctly, resolves #38412 git-svn-id: trunk@48452 - M .gitattributes M compiler/ncon.pas A tests/webtbs/tw38412.pp --- commit 8496690ed0f812c72b008f609106c933871be484 Author: florian Date: Sat Jan 30 22:47:38 2021 +0000 * additional fix for r48449 git-svn-id: trunk@48461 - M compiler/nmem.pas --- commit 8b24d60df752458f3b2ec1eba42a1143529a7af6 Author: florian Date: Sun Jan 31 13:19:55 2021 +0000 * removed accidently committed printnode git-svn-id: trunk@48464 - M compiler/nmem.pas --- commit 1e960a9aeb12ae75877ef9321efbb89f34bbbdce Author: florian Date: Wed Feb 3 20:05:56 2021 +0000 * the size of the CIE_pointer in an FDE is always 32 bit git-svn-id: trunk@48507 - M compiler/cfidwarf.pas --- commit d0910b5ac837d58c141ceb758c366bb8a87f56ff Author: florian Date: Fri Feb 5 22:10:27 2021 +0000 * allow sub/add nodes in constant pointer expressions, resolves #34027 git-svn-id: trunk@48514 - M .gitattributes M compiler/aasmcnst.pas M compiler/ngtcon.pas A tests/webtbs/tw34027.pp --- commit 539a578cce5f4e05bf46dc283a0fc96952f22bfa Author: florian Date: Sat Feb 6 16:59:02 2021 +0000 * create \index entries in the messages.inc for an index of message texts and numbers in the user manual git-svn-id: trunk@48517 - M compiler/utils/msg2inc.pp --- commit aff1f4999c47aecd65f1f17bfe96e736a55b4ec7 Author: tg74 Date: Mon Feb 8 11:04:21 2021 +0000 bugfix 0037785 cvtsi2sd,cvtsi2ss for platform i386 git-svn-id: branches/tg74/avx512-0037785@48526 - M compiler/i386/i386atts.inc M compiler/i8086/i8086atts.inc M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc --- commit 4e151d5a6d8b1b11617cc17f3fa3e08f612efe4a Author: tg74 Date: Mon Feb 8 11:04:21 2021 +0000 bugfix 0037785 cvtsi2sd,cvtsi2ss for platform i386 git-svn-id: branches/tg74/avx512-0037785@48526 - M compiler/i386/i386atts.inc M compiler/i8086/i8086atts.inc M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc --- commit ecce39a3b253b55250ffa0133d8d6bf3cdacb4cb Author: florian Date: Tue Feb 9 20:48:27 2021 +0000 + throw a warning in ISO mode if a constant string is assigned to a char and the sizes do not match, resolves #38439 git-svn-id: trunk@48563 - M .gitattributes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/ncnv.pas A tests/webtbf/tw38439.pp --- commit 3b49e95415b79b02d6d74ee7786ddf1c1177c1a3 Author: florian Date: Wed Feb 10 19:52:52 2021 +0000 * do not initialize unncessary register allocators git-svn-id: trunk@48628 - M compiler/arm/cgcpu.pas --- commit 4245b20a32206201500e7d9c646b003b93f4c6e9 Author: yury Date: Thu Feb 11 10:39:41 2021 +0000 * Fixed expectloc of local variables passed as a formal parameter. This issue is caught by cycling the compiler with -dEXTDEBUG. Yet the compiler can't cycle with EXTDEBUG due to other issues with wrong expectloc. git-svn-id: trunk@48650 - M compiler/ncal.pas --- commit 1c99c2655e3996df83e847a442e52eec3ae171e5 Author: florian Date: Thu Feb 11 20:51:53 2021 +0000 * more helpful message if an unknown field is accessed in the assembler reader, resolves #38475 git-svn-id: trunk@48651 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/rautils.pas --- commit 7f1aac8bd71488208af65d46e2bd3783d8efe725 Author: florian Date: Thu Feb 11 21:27:12 2021 +0000 - armv5 never existed (without extension), removed git-svn-id: trunk@48652 - M compiler/arm/aasmcpu.pas M compiler/arm/agarmgas.pas M compiler/arm/cpuinfo.pas --- commit afc80a84cf383fb885ae3366d429a5a0c6ffcd3d Author: yury Date: Fri Feb 12 11:26:37 2021 +0000 * Fixed r48650. git-svn-id: trunk@48657 - M compiler/ncal.pas --- commit 87e1dc159d85ad4f56cc8cb3ed3eec71c93cd273 Author: florian Date: Sat Feb 13 17:04:03 2021 +0000 * do not mess with FPA registers if they are not available git-svn-id: trunk@48669 - M compiler/arm/cgcpu.pas --- commit dda9f83dfe2f4841bf4fdd87aac87b46b0ae833c Author: florian Date: Sat Feb 13 22:16:59 2021 +0000 * factored out tbasecgarm.init_mmregister_allocator git-svn-id: trunk@48671 - M compiler/arm/cgcpu.pas --- commit a4b35d16f2b168c58016334e1f0c54731db2d84d Author: florian Date: Sat Feb 13 22:17:35 2021 +0000 + throw an error if hardware floating point operations are used in thumb(-1) mode, this is not supported git-svn-id: trunk@48672 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas --- commit f1883c4e617085250b91f579760247865abd01fc Author: florian Date: Sun Feb 14 15:51:48 2021 +0000 * arm: taicpu uses set instead of boolean to store instruction states + track if an instruction is a thumb instruction in taicpu git-svn-id: trunk@48673 - M compiler/arm/aasmcpu.pas M compiler/arm/raarm.pas M compiler/assemble.pas M compiler/sparc/cpuelf.pas --- commit 33ce19799b268409d89e0ed8c1598b73728ba970 Author: florian Date: Sun Feb 14 17:15:37 2021 +0000 * forgotten part of last commit git-svn-id: trunk@48674 - M compiler/arm/agarmgas.pas --- commit 0316a7697f9b6c3782abf8c6188df983ca1e9f7d Author: florian Date: Sun Feb 14 17:52:26 2021 +0000 * arm thumb1: several fixes for the internal assembler writer git-svn-id: trunk@48675 - M compiler/arm/agarmgas.pas M compiler/arm/armins.dat M compiler/arm/armtab.inc M compiler/arm/cgcpu.pas M compiler/arm/narmset.pas M compiler/arm/raarm.pas --- commit c3fb1e3a658af94ce69f431f739a80522ddcc546 Author: florian Date: Sun Feb 14 21:25:01 2021 +0000 * initialize current_settings as early as possible so cs_debugswitch is set correctly if needed git-svn-id: trunk@48676 - M compiler/parser.pas --- commit 44856e660c4ee3931003802128192b2d77415244 Author: florian Date: Sun Feb 14 21:25:36 2021 +0000 * ARM: NR_RETURN_ADDRESS_REG is R14 git-svn-id: trunk@48677 - M compiler/arm/cpubase.pas --- commit a3d68e6839f1803353d6b575f34fc91686ff5088 Author: florian Date: Sun Feb 14 21:26:41 2021 +0000 * arm thumb: generate proper cfi git-svn-id: trunk@48678 - M compiler/arm/cgcpu.pas M compiler/cfidwarf.pas M compiler/systems/i_linux.pas --- commit e694897bb3bdea5f4606946dbad784ba7bf0af1c Author: florian Date: Mon Feb 15 21:34:07 2021 +0000 * initial implementation of CFI support for arm (non-thumb) git-svn-id: trunk@48684 - M compiler/arm/cgcpu.pas M compiler/cfidwarf.pas --- commit 09d6398942ffd3e1b139d72067cc20e8ccd7a400 Author: florian Date: Mon Feb 15 22:25:18 2021 +0000 * arm: better cfi git-svn-id: trunk@48685 - M compiler/arm/cgcpu.pas --- commit 436a0d3f9ee306b55bb8d0b232587668c8ecf48a Author: florian Date: Mon Feb 15 22:26:49 2021 +0000 * generate advance_loc records only if there was code/data since the last advance_loc entry git-svn-id: trunk@48686 - M compiler/cfidwarf.pas --- commit 5b29e7a3ecfdc47203c64ee8b26e5db5cba35b60 Author: florian Date: Tue Feb 16 21:16:54 2021 +0000 + (safe) heuristics to use DW_CFA_advance_loc1 in CFI git-svn-id: trunk@48687 - M compiler/cfidwarf.pas --- commit 599ba8cc2a1d68bb9dc6dae9600cac6b1847d046 Author: florian Date: Wed Feb 17 20:43:37 2021 +0000 + generate initial cfi for aarch64 git-svn-id: trunk@48701 - M compiler/aarch64/cpubase.pas M compiler/cfidwarf.pas --- commit ef8d520e8277925f08c06e3b635a54ea80b2dfa7 Author: florian Date: Thu Feb 18 21:44:12 2021 +0000 * more cfi support for aarch64 git-svn-id: trunk@48714 - M compiler/aarch64/cgcpu.pas --- commit 2ffe777b446a42bc98d278288906bb924bb806c3 Author: Károly Balogh Date: Sat Feb 20 11:21:14 2021 +0000 m68k: extend the the register to full size, when multiplied by an immediate in memory references. Patch based on the work of Pierre Muller. git-svn-id: trunk@48732 - M compiler/m68k/n68kmem.pas --- commit f333fb08ec41d4886a8dc9a35479bcdcc08f3b78 Author: florian Date: Sun Feb 21 18:04:12 2021 +0000 * patch by Alfred to fix cutils.CompareVersionStrings, resolves #38514 git-svn-id: trunk@48757 - M compiler/cutils.pas --- commit 34f7c3e6d40e1702c5b9008ab852e5fe23cee7a2 Author: florian Date: Sun Feb 21 18:45:58 2021 +0000 + array defs. of open arrays are now marked by ado_OpenArray, so (internally!) zero sized array can be declared with 0..-1 git-svn-id: trunk@48758 - M compiler/defutil.pas M compiler/symconst.pas M compiler/symdef.pas M compiler/utils/ppuutils/ppudump.pp --- commit 60c8b71bae73cec85e5bde74239f2bc057f264a8 Author: florian Date: Sun Feb 21 18:46:00 2021 +0000 * string constants have a size of 0, resolves #38504 git-svn-id: trunk@48759 - M .gitattributes M compiler/ncon.pas M packages/fcl-db/src/export/fpxmlxsdexport.pp A tests/webtbf/tw38504.pp A tests/webtbf/tw38504b.pp --- commit c7f4be71dc1048ed4364609f838bb5e79e372088 Author: svenbarth Date: Sun Feb 21 19:15:52 2021 +0000 * correctly set the defowner of the exception symtable to the surrounding routine as suggested by Blaise.ru git-svn-id: trunk@48760 - M compiler/pstatmnt.pas --- commit 2912e38e91f1940d84b6a846ecc1f9888fb7cc67 Author: Sven/Sarah Barth Date: Sun Feb 21 21:07:17 2021 +0100 + add modeswitch for anonymous function and function references M compiler/globtype.pas M compiler/utils/ppuutils/ppudump.pp --- commit 5a26c582852c9e6486bfeaa164158a9521eb45b9 Author: florian Date: Sun Feb 21 21:29:40 2021 +0000 * allow in-operator to be used on type parameters, resolves #38497 git-svn-id: trunk@48763 - M .gitattributes M compiler/nset.pas A tests/webtbs/tw38497.pp --- commit 6beb28316e004311744aaa46f047f7048b989889 Author: Jonas Maebe Date: Sun Feb 21 21:41:09 2021 +0000 * Darwin targets that don't support link order sym files can't smart link vectorized sections git-svn-id: trunk@48765 - M compiler/aasmcnst.pas --- commit 0ca1e2fb424c67f6c6b02eda1dd1ff22773af2aa Author: Károly Balogh Date: Sun Feb 21 23:00:41 2021 +0000 * attempt to fix bitpacked records with qwords in them (tw36156) when cross-compiling to big endian targets from x86. essentially the x86 shifting workarounds in the code already weren't covering all corner cases. git-svn-id: trunk@48773 - M compiler/ngtcon.pas --- commit 2f36069dae8eb1f6aa8ae4149c878fb55437868e Author: tg74 Date: Mon Feb 22 15:59:58 2021 +0000 bugfix 0037785 cvtsi2ss and cvtsi2sd in x86_64 { att} git-svn-id: branches/tg74/avx512-0037785@48790 - M compiler/ppcx64.lpi M compiler/x86/itcpugas.pas --- commit e430c92fcbb5b00680ac84579d6f969a4aa1c1c4 Author: tg74 Date: Mon Feb 22 15:59:58 2021 +0000 bugfix 0037785 cvtsi2ss and cvtsi2sd in x86_64 { att} git-svn-id: branches/tg74/avx512-0037785@48790 - M compiler/ppcx64.lpi M compiler/x86/itcpugas.pas --- commit cefa05c8b1749d9f5b3d322f93eca52a13ae42ba Author: florian Date: Mon Feb 22 20:39:12 2021 +0000 * correctly allocate edx for mulx, resolves #38533 git-svn-id: trunk@48791 - M compiler/i386/n386add.pas --- commit 2cd695120564fd22f063cefeddc882523a86fd69 Author: pierre Date: Mon Feb 22 23:15:31 2021 +0000 Apply patch proposed by J. Gareth Moreton in bug report #0038527 The patch reworks the LeaLea2Lea optimisation and hopefully fixes the bug (admittedly by adding a brand new optimisation!). git-svn-id: trunk@48792 - M .gitattributes M compiler/x86/aoptx86.pas A tests/webtbs/tw38527.pp --- commit 2703b36fe16907fb9fbbbeaa8d497e17eb13b4b3 Author: Károly Balogh Date: Wed Feb 24 09:10:40 2021 +0000 m68k: removed some helper function which was added, but in the end it never saw any use git-svn-id: trunk@48798 - M compiler/m68k/n68kmem.pas --- commit 0216f778193aa057395c3632482e751402a21048 Author: Károly Balogh Date: Wed Feb 24 09:20:04 2021 +0000 m68k: adjusted some max alignment values for m68k-linux based on i386-linux, because the ELF loader on m68k should be able to provide the same alignments for globals git-svn-id: trunk@48799 - M compiler/systems/i_linux.pas --- commit e2386ae876c8f9a0772be80ff7711499ca4d721e Author: pierre Date: Wed Feb 24 10:40:15 2021 +0000 * Remove obsolete -OG2p3 option for extcycle + Add extoptcycle to cycle compiler with both -dEXTDEBUG and -dDEBUG_ALL_OPT git-svn-id: trunk@48801 - M compiler/Makefile M compiler/Makefile.fpc --- commit 236bef961c21611f2969259c8c8fdec54364a225 Author: pierre Date: Wed Feb 24 12:58:04 2021 +0000 Patch by Gareth Moreton * Fix lea optimizations which lead to more failures with -O3 and -O4 options. - LeaLea2Lea now checks to see if the index register is in use. - For both the base and index registers, RegUsedBetween is changed to RegModifiedBetween, since just reading the register is harmless for the optimisation (it finds additional optimisations in the RTL as a result). - Because I saw the mis-optimisation with MOVZX that occurred (even though it was due to the mis-optimisation of LEA instructions), I wrote some extra code in OptPass2Movx as a safety measure to ensure this doesn't happen (although no additional instances of it happening have been noted so far - best be safe than sorry). git-svn-id: trunk@48802 - M compiler/x86/aoptx86.pas --- commit cfa3f4fa8c3a23fe72849a14532d02cf8bfe7730 Author: Jonas Maebe Date: Wed Feb 24 15:40:22 2021 +0000 + added b.cc/b.cs support to AArch64 assembler reader (mantis #38485) git-svn-id: trunk@48803 - M compiler/aarch64/racpugas.pas --- commit 857cbddf04ae8d54abca518b94792e30ee481042 Author: florian Date: Wed Feb 24 21:10:05 2021 +0000 * applied patch by Pierre to fix make cycle -Cr git-svn-id: trunk@48806 - M compiler/symdef.pas --- commit c6443809bae23d8f0a519b4b3da501858a2f50c8 Author: florian Date: Thu Feb 25 22:07:40 2021 +0000 + SETcc/Mov -> SETcc optimization git-svn-id: trunk@48808 - M compiler/x86/aoptx86.pas --- commit 8d0ef71e37e6a59066547ebb898b17ca21e3b601 Author: Károly Balogh Date: Fri Feb 26 10:57:05 2021 +0000 m68k-linux: revert maxCrecordalign to 2, as an experiment to fix some linking-against-C regressions since the alignment changes git-svn-id: trunk@48809 - M compiler/systems/i_linux.pas --- commit 4c2e0b9ff0ce9c285f1aedeef6a7146c81a55d0b Author: florian Date: Sat Feb 27 16:47:36 2021 +0000 * for setjmp based exception handling, get the type of the exception reason from the setjmp result git-svn-id: trunk@48828 - M compiler/cgexcept.pas M compiler/ncgflw.pas M compiler/psub.pas M compiler/symdef.pas --- commit ab0531f0ce5b02a4a91430a979f025a4684e2245 Author: Jonas Maebe Date: Sat Feb 27 19:30:34 2021 +0000 * fixed JVM stack height calculation after calls returning an implicit pointer tpe git-svn-id: trunk@48832 - M compiler/jvm/hlcgcpu.pas --- commit 803779002d5bdfae8960d95520a4e5e5107f61fd Author: Jonas Maebe Date: Sat Feb 27 19:30:37 2021 +0000 * the new constant string arraydefs are also implicit pointers types for JVM git-svn-id: trunk@48833 - M compiler/defutil.pas M compiler/jvm/jvmdef.pas --- commit 9c831677ff1f6d00592d7bea91a3fdb6d65e0aea Author: Jonas Maebe Date: Sat Feb 27 21:44:53 2021 +0000 * support Objective-C classes and protocols with -gw3 (mantis #36250) git-svn-id: trunk@48834 - M .gitattributes M compiler/dbgdwarf.pas A tests/webtbs/tw36250.pp --- commit fe57cd353657f96ea5846d9f2575811e1456ec6d Author: florian Date: Sat Feb 27 22:07:58 2021 +0000 * fix LLVM after r48828 * global gotos really use the return type of fpc_setjmp to test where we come from git-svn-id: trunk@48835 - M compiler/cgexcept.pas M compiler/llvm/llvmpi.pas M compiler/ncgflw.pas M compiler/psabiehpi.pas M compiler/psub.pas M compiler/symdef.pas --- commit 272a0e3e267eb40a3c3e1a0cfaab9d2656792331 Author: florian Date: Sun Feb 28 10:52:11 2021 +0000 + apply excess precision also to unary minus nodes * made excess precision really working git-svn-id: trunk@48840 - M compiler/nadd.pas M compiler/nmat.pas --- commit e0a1bc66750d810d57af27e21139203bfc2f3125 Author: florian Date: Sun Feb 28 18:20:46 2021 +0000 + optimize (a and b) or (c and not(b)) into c xor ((c xor a) and b) + test git-svn-id: trunk@48841 - M .gitattributes M compiler/nadd.pas M compiler/nutils.pas A tests/test/tandorandnot1.pp --- commit 01178532e5ce1180f56697fe7d22e907d1afee11 Author: florian Date: Sun Feb 28 22:11:05 2021 +0000 * sar*/ro* do not call location_force_reg if not needed git-svn-id: trunk@48844 - M compiler/ncginl.pas --- commit 316f2429f02f3f4ceb1d1fdbd857df0c500ee5b1 Author: florian Date: Mon Mar 1 20:21:42 2021 +0000 * do not omit location_force_reg on second operand of sar/ro* if it is used to adapt the size of the operand git-svn-id: trunk@48855 - M compiler/ncginl.pas --- commit 8ffa01e95fec30fbec3961b0df8080020e5b71ac Author: florian Date: Mon Mar 1 20:39:57 2021 +0000 * patch by J. Gareth Moreton: MOV/SHR reference optimisation, resolves #38560 git-svn-id: trunk@48857 - M compiler/x86/aoptx86.pas --- commit 01937c4630f20652dee29b92dfbb2ab3d58cee8d Author: florian Date: Tue Mar 2 21:27:43 2021 +0000 * patch by J. Gareth Moreton: SubMov2LeaSub optimisation improvement, resolves #38555 git-svn-id: trunk@48871 - M compiler/x86/aoptx86.pas --- commit 913bd009e9cef31344cee42d9351fa25dac3724e Author: florian Date: Thu Mar 4 21:35:13 2021 +0000 * patch by J. Gareth Moreton: take care of -Os for SubMov2*, part of #38579 git-svn-id: trunk@48878 - M compiler/x86/aoptx86.pas --- commit 3dd6272891f18c415998e167f55b53c00354c8dd Author: pierre Date: Sat Mar 6 10:42:50 2021 +0000 Add new make rule named full_targets git-svn-id: trunk@48882 - M compiler/Makefile M compiler/Makefile.fpc --- commit c15bb07bf60ec1b6d14ee4954ab67dce787e1e79 Author: florian Date: Sat Mar 6 14:23:54 2021 +0000 * do not generate mul instructions if the mul extension is not available git-svn-id: trunk@48883 - M compiler/riscv/cgrv.pas M compiler/riscv/nrvadd.pas --- commit 62bd0068b65cb0fe8b553d08fa4a667276b40625 Author: florian Date: Sat Mar 6 14:48:15 2021 +0000 * do not apply the (a and b) or (c and not(b)) into c xor ((c xor a) and b) optimziation if short boolean evaluation is used, should resolve #38576 * improved test git-svn-id: trunk@48884 - M compiler/nadd.pas M tests/test/tandorandnot1.pp --- commit f4486039704b5ee3ae17e74e3a537b51fddb44f7 Author: florian Date: Sat Mar 6 14:55:50 2021 +0000 * improved last commit, better handling of boolean expressions git-svn-id: trunk@48885 - M compiler/nadd.pas --- commit 83ce289ea4f738bc0599fedb7fe153e804d1ea42 Author: florian Date: Sat Mar 6 15:03:33 2021 +0000 * last commit fixed, hopefully final fix git-svn-id: trunk@48886 - M compiler/nadd.pas --- commit 81402bb077acdaad13e50dd6e093e886e8de3ad8 Author: pierre Date: Sat Mar 6 22:00:30 2021 +0000 * Improve DEBUG_PPU code * Move flog file closing from closefile method to destroy destructor. * Fix write_data output into flog git-svn-id: trunk@48890 - M compiler/entfile.pas --- commit 6f3fccddd1ac5b363a3e02657cf838b87d741a40 Author: florian Date: Sat Mar 6 22:19:00 2021 +0000 * RiscV32: properly read references with record offsets and base register + RiscV32: sanity check in assembler writer git-svn-id: trunk@48892 - M compiler/riscv/agrvgas.pas M compiler/riscv32/rarv32gas.pas --- commit d1fb44044f4711db2430d267ab8c884d242cb13e Author: florian Date: Sun Mar 7 08:53:03 2021 +0000 * unified RiscV32 and RiscV64 GAS readers git-svn-id: trunk@48894 - M .gitattributes R100 compiler/riscv64/rarv.pas compiler/riscv/rarv.pas M compiler/riscv/rarvgas.pas M compiler/riscv32/cputarg.pas D compiler/riscv32/rarv32.pas D compiler/riscv32/rarv32gas.pas M compiler/riscv64/cputarg.pas D compiler/riscv64/rarv64gas.pas --- commit b0772ae749bd1c8073b7638d0d511caa54fb5078 Author: florian Date: Sun Mar 7 14:11:09 2021 +0000 + initial (and so far experimental) implementation of -ix to output -i in xml format for further automated processing git-svn-id: trunk@48897 - M compiler/options.pas --- commit 4be5f07f276e2f8c9080a05f7c297fc9d578b5d5 Author: florian Date: Sun Mar 7 22:28:17 2021 +0000 + support for .dc.a directive * read multiple section flags git-svn-id: trunk@48903 - M compiler/raatt.pas --- commit 8fa04a0cee8de2d8f6d1c5a72090b4f9a0a44698 Author: florian Date: Wed Mar 10 20:33:49 2021 +0000 * finished -ix output git-svn-id: trunk@48936 - M compiler/options.pas --- commit 577e584c771de341a03c62bc93f1ed2fcda3e2de Author: florian Date: Wed Mar 10 20:55:37 2021 +0000 * RiscV: basic CFI stuff fixed git-svn-id: trunk@48937 - M compiler/cfidwarf.pas M compiler/systems/i_linux.pas --- commit 1e5cbfe546555493b7ff115a326b2722e0c5c978 Author: florian Date: Fri Mar 12 21:59:18 2021 +0000 * RiscV: if shared libraries are involved, we have to link always against the crt*S.o variants git-svn-id: trunk@48946 - M compiler/systems/t_linux.pas --- commit e047e7db91918a6356b18e5a76eed56aff2db155 Author: florian Date: Sat Mar 13 16:18:00 2021 +0000 + RiscV: initial support of pic generation git-svn-id: trunk@48947 - M compiler/cgbase.pas M compiler/riscv/aasmcpu.pas M compiler/riscv/agrvgas.pas M compiler/riscv/cgrv.pas M compiler/riscv64/cpubase.pas M compiler/riscv64/itcpugas.pas --- commit 62ea31f255cf83b7037e4d56c6a6f4e184d26084 Author: florian Date: Sat Mar 13 16:33:31 2021 +0000 * riscv64-linux: generate PIC for all units as it is required for shared libraries git-svn-id: trunk@48948 - M Makefile M compiler/systems/i_linux.pas M rtl/Makefile M rtl/linux/Makefile M utils/fpcm/fpcmake.inc M utils/fpcm/fpcmake.ini --- commit 9775a13e0263f14cd74692b3df566752c8de16c1 Author: pierre Date: Sun Mar 14 09:10:29 2021 +0000 Rough fix for riscv32 failure git-svn-id: trunk@48959 - M compiler/riscv/cgrv.pas M compiler/riscv32/cpubase.pas M compiler/riscv32/itcpugas.pas --- commit 9ccdf2b3bf4a4da9d61cb657c1800fbfe3e8ecba Author: florian Date: Sun Mar 14 10:29:23 2021 +0000 * RiscV: unified itcpugas.pas git-svn-id: trunk@48960 - M .gitattributes R095 compiler/riscv64/itcpugas.pas compiler/riscv/itcpugas.pas D compiler/riscv32/itcpugas.pas --- commit d1881d09519768a8b2fac9ae78bdebaf49ac7f83 Author: florian Date: Sun Mar 14 16:40:14 2021 +0000 * RiscV: integer type conversions fixed git-svn-id: trunk@48969 - M compiler/riscv32/cgcpu.pas --- commit 03d353c1f5203640f225f84930fafc8787372b66 Author: florian Date: Sun Mar 14 16:41:34 2021 +0000 - cosmetics: superfluous newlines removed git-svn-id: trunk@48970 - M compiler/riscv32/cgcpu.pas --- commit 77f3acdf76d54e924dbb77682eb9352b5626f88e Author: nickysn Date: Sun Mar 14 23:17:44 2021 +0000 * the TFPList.List property made protected in order to discourage using it directly, as this circumvents range checking git-svn-id: trunk@48976 - M compiler/cclasses.pas --- commit 85fa313e597796aa2035f39504c467078f51110a Author: pierre Date: Mon Mar 15 13:24:27 2021 +0000 Use uvalue field to get unsigned and avoid range check or overflow errors git-svn-id: trunk@48977 - M compiler/x86/nx86mat.pas --- commit a7de0b365b9d10dac141f7a7b8889e92e12370fb Author: pierre Date: Mon Mar 15 13:25:59 2021 +0000 Avoid invalid typecast error when using -CR option git-svn-id: trunk@48978 - M compiler/htypechk.pas --- commit f7dd8755ccd15cd31e30863a62b0214249eb2907 Author: nickysn Date: Mon Mar 15 18:06:44 2021 +0000 + introduced TFPList.IndexOfItem and TFPObjectList.IndexOfItem, which are like IndexOf, but can also search backwards. The same method already exists in FPC's classes unit. git-svn-id: trunk@48984 - M compiler/cclasses.pas --- commit 811cf381ad4f00636cf8b5628b663d7bb8cd07f4 Author: nickysn Date: Mon Mar 15 18:13:45 2021 +0000 * when parsing unions, set the uniondef reference to nil in current_module.deflist after freeing the object to prevent dangling pointers and use after free git-svn-id: trunk@48986 - M compiler/pdecvar.pas --- commit 612f063795d944b9dc7ea0ffc36a9a0fdc4ef73a Author: florian Date: Mon Mar 15 21:12:02 2021 +0000 + patch by J. Gareth Moreton: AddMov2LeaAdd and AddMov2Lea optimizations, resolves #38579 git-svn-id: trunk@48989 - M compiler/x86/aoptx86.pas --- commit 53effea0f5cbbe4e8670c65fc55ec65b507829fe Author: florian Date: Tue Mar 16 22:19:21 2021 +0000 + X86: JccMovJmpMov2MovSetcc optimization git-svn-id: trunk@48993 - M compiler/aoptobj.pas M compiler/x86/aoptx86.pas --- commit d608b4b689181bd3bde42078d6c9641348f0a050 Author: nickysn Date: Wed Mar 17 19:16:38 2021 +0000 * instead of registering all and then deleting non-propgetter/setter procdefs in pdecvar.read_property_dec, don't register them by default, and then only register them, if they are propgetter/setter. This prevents dangling pointers in current_module.deflist and potential use-after-free bugs. git-svn-id: trunk@48998 - M compiler/pdecvar.pas --- commit 9e2bcd940aa579c470990d60525be160ee191760 Author: florian Date: Thu Mar 18 21:49:25 2021 +0000 + RiscV: initial OpAddi02Op implementation git-svn-id: trunk@49002 - M compiler/riscv/aoptcpurv.pas --- commit b9affc3406b07c24ffc76005f71d41adf22b08aa Author: florian Date: Fri Mar 19 17:39:52 2021 +0000 * RiscV64: type conversion to 8 bit improved git-svn-id: trunk@49015 - M compiler/riscv64/cgcpu.pas --- commit c4ddb94cb42420c8e47c6daf181a64550ece1615 Author: florian Date: Sat Mar 20 21:28:58 2021 +0000 * remove nf_write from the counter node when converting for loops into while loops if the counter is only read git-svn-id: trunk@49020 - M compiler/nflw.pas --- commit bae6ca6883d84aff6c9061af6ddf35a7766b51b4 Author: florian Date: Mon Mar 22 18:11:41 2021 +0000 * Dwarf: write variant fields only if the require features are present, resolves #38651 git-svn-id: trunk@49032 - M compiler/dbgdwarf.pas --- commit 1105726dcf0065083c5f23921c1e87c9172eb61b Author: Jeppe Johansen Date: Mon Mar 22 18:40:12 2021 +0000 * Add SAMD51P19A controller type. Unit generated by Michael Ring and slightly modified. git-svn-id: trunk@49034 - M .gitattributes M compiler/arm/cpuinfo.pas M compiler/systems/t_embed.pas M rtl/embedded/Makefile M rtl/embedded/Makefile.fpc A rtl/embedded/arm/samd51p19a.pp --- commit 7a0c6ab591659dd05274fb4c8a05d39b760bb12d Author: Jonas Maebe Date: Wed Mar 24 14:33:13 2021 +0000 - removed unused leftovers from old t_bsd code * no longer execute the linker via a shell script, but directly git-svn-id: trunk@49046 - M compiler/link.pas M compiler/systems/t_darwin.pas --- commit c2ff85ac5ba307d7cc10cae7ee17d479c83c9119 Author: florian Date: Thu Mar 25 21:51:52 2021 +0000 * patch by J. Gareth Moreton: Nothing (NOP) node optimisation, resolves #38194 git-svn-id: trunk@49054 - M compiler/nbas.pas --- commit 067b9b2922824a6801001abe1f2c67559cdad78c Author: svenbarth Date: Sat Mar 27 09:34:59 2021 +0000 * copy and compare the typesym inside type nodes as well git-svn-id: trunk@49062 - M compiler/nld.pas --- commit ca7c775e3671ce703894d6ad4b13fa11ae5c1ff3 Author: svenbarth Date: Sat Mar 27 09:35:07 2021 +0000 * fix for Mantis #38642: for enumerations with jumps Delphi behaves as follows: - GetTypeKind returns tkEnumeration (FPC previously generated a compile error here) - GetTypeInfo on a generic parameters returns Nil for such types (FPC previously generated a compile error here) - GetTypeInfo otherwise generates a compile error (as before) git-svn-id: trunk@49064 - M .gitattributes M compiler/ninl.pas A tests/test/trtti21.pp A tests/test/trtti22.pp A tests/test/trtti23.pp A tests/webtbs/tw38642.pp --- commit 308aee42a011e796260906a9d99699dc6521d3c2 Author: Jonas Maebe Date: Sat Mar 27 15:31:33 2021 +0000 * the offset parameter of reference_reset* must be asizeint rather than longint (mantis #38636) git-svn-id: trunk@49065 - M .gitattributes M compiler/cgutils.pas A tests/webtbs/tw38636.pp --- commit 6218254e53d3bd9bd6cc2c62b5d6ecb86235dcd7 Author: florian Date: Sat Mar 27 17:13:14 2021 +0000 * allow also 8 byte string constants in assembler, resolves #28640 git-svn-id: trunk@49066 - M .gitattributes M compiler/raatt.pas M compiler/x86/rax86int.pas A tests/webtbs/tw28640.pp A tests/webtbs/tw28640a.pp --- commit 793ecb3fa67214c2b6da67609c5f4e6ddef96bd3 Author: Jonas Maebe Date: Sat Mar 27 19:01:04 2021 +0000 * fixed assembling via pipe on Darwin git-svn-id: trunk@49067 - M compiler/assemble.pas --- commit 8ec71bc810be192183c9dea7ef4bab8a33a2df66 Author: nickysn Date: Tue Mar 30 11:05:00 2021 +0000 * fixed memory leak, introduced accidentally in r48998 git-svn-id: trunk@49084 - M compiler/pdecvar.pas --- commit 47557e0ad24e6df119fecbf2d42a65dc9cd20b8a Author: florian Date: Tue Mar 30 16:44:19 2021 +0000 * cpubase.cgsize2subreg should handle all valid sizes, resolves #38557 git-svn-id: trunk@49087 - M .gitattributes M compiler/x86/cpubase.pas A tests/webtbs/tw38557.pp --- commit bc4a22e24d21870fe797d495cf5a749cdf89a12c Author: florian Date: Tue Mar 30 21:43:20 2021 +0000 + Xtensa: tcpuinlinenode.second_prefetch git-svn-id: trunk@49090 - M compiler/xtensa/ncpuinl.pas --- commit 07a8e6c1d61cfa4a588d3e88997940c22f25fd6a Author: florian Date: Wed Mar 31 18:53:31 2021 +0000 + some more change information entries added git-svn-id: trunk@49092 - M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit c8c6e647be33882b84c2ffffd9c4b84ea4fee1a0 Author: pierre Date: Wed Mar 31 20:53:08 2021 +0000 Avoid keeping optimized out node in callcleanupblock.statements or callinitblock.statements git-svn-id: trunk@49094 - M compiler/ncal.pas --- commit 8ea95e9b9518ff3c9b52672a2575287d613bf5c9 Author: pierre Date: Wed Mar 31 21:03:50 2021 +0000 Use value $00000F00 instead of $F0000000 for IF_FPMASK, and adapt all floating point constants, to avoid IF_VFPv4 having the same value as IF_PASS2 git-svn-id: trunk@49096 - M compiler/arm/aasmcpu.pas --- commit 7811b915a918cd014806bfde2085bdbad62c8b2f Author: florian Date: Wed Mar 31 21:23:22 2021 +0000 * x86-64: we can spill replace 32 bit operations if the operation does not modify a register git-svn-id: trunk@49097 - M compiler/x86/rgx86.pas --- commit 682e29c4ff6b494b468fdf0f1295ec85fee37ec4 Author: florian Date: Thu Apr 1 16:32:52 2021 +0000 + enable colored output on darwin, resolves #38693 git-svn-id: trunk@49099 - M compiler/comptty.pas --- commit 2885d3ab569ac5143b094419de211b2c1405f568 Author: svenbarth Date: Fri Apr 2 15:25:01 2021 +0000 * fix for Mantis #37426: don't allow an instance function of a type helper to be used on the type instead of a concrete value + added test git-svn-id: trunk@49102 - M .gitattributes M compiler/pexpr.pas A tests/webtbf/tw37426.pp --- commit e53d18d876349d27b75a9dc00340b4a8edaceaf9 Author: svenbarth Date: Fri Apr 2 15:25:05 2021 +0000 * Windows on ARM64 adheres to the usual Aarch64 ABI, thus references need to be copied on the caller side as well git-svn-id: trunk@49103 - M compiler/systems.pas --- commit bf65bad5c5c92a2bffcc5dff4a5ced917116a8a1 Author: florian Date: Fri Apr 2 17:08:34 2021 +0000 + Aarch64: cpu_capabilities support git-svn-id: trunk@49105 - M compiler/aarch64/agcpugas.pas M compiler/aarch64/cpuinfo.pas --- commit 3999d037e3f66961a2ee4993db53d1d8e9fa21f0 Author: florian Date: Fri Apr 2 17:13:11 2021 +0000 + write controller unit wiht -ix as well git-svn-id: trunk@49106 - M compiler/options.pas --- commit 9e7d80a8bd1f1fcfd60bab5750b30c05db3c3f6a Author: florian Date: Fri Apr 2 19:52:00 2021 +0000 * Aarch64: the M1 is an ARM v8.4-a CPU git-svn-id: trunk@49107 - M compiler/options.pas --- commit f38f9ff930b754f2b94f8dc876f53d22ab0d23a6 Author: florian Date: Fri Apr 2 20:57:12 2021 +0000 * Aarch64: cpu capabilites defines properly named * Aarch64: enable defining cpu capabilites git-svn-id: trunk@49108 - M compiler/aarch64/cpuinfo.pas M compiler/fpcdefs.inc --- commit f879d764917721ff3bd99c7e6fb6134cc8ee7197 Author: florian Date: Fri Apr 2 21:41:31 2021 +0000 * forgotten " added git-svn-id: trunk@49109 - M compiler/options.pas --- commit f3d8efc8ec3690b97f3d5f15d6874359435271fe Author: florian Date: Sat Apr 3 11:30:23 2021 +0000 * Aarch64: support LSE instructions git-svn-id: trunk@49112 - M compiler/aarch64/a64att.inc M compiler/aarch64/a64atts.inc M compiler/aarch64/a64ins.dat M compiler/aarch64/a64op.inc M compiler/aarch64/aasmcpu.pas --- commit 08817f1aed8b29c9e30d7d9edc9530e89bb0bea0 Author: florian Date: Sat Apr 3 21:28:09 2021 +0000 * fixes to deadstore optimization git-svn-id: trunk@49117 - M compiler/optdeadstore.pas --- commit 87a67a3222693a0b627cda9a47197d8c4893a205 Author: florian Date: Sat Apr 3 22:01:47 2021 +0000 * typo fixed git-svn-id: trunk@49118 - M compiler/x86/aoptx86.pas --- commit 9ec85f940e650d196a66510be981d6f8b8a774a6 Author: florian Date: Tue Apr 6 19:16:17 2021 +0000 * do not remove register deallocations/allocation pairs if the register is written git-svn-id: trunk@49129 - M compiler/aopt.pas --- commit 9a39124118cc4b065774f84a7a7d7cfdcc8456c1 Author: florian Date: Wed Apr 7 13:54:58 2021 +0000 * Xtensa: fix crash in TCpuAsmOptimizer.RegLoadedWithNewValue git-svn-id: trunk@49132 - M compiler/xtensa/aoptcpu.pas --- commit 3ac0522f70fd2e0eaf66858f64d3d00b73eed42a Author: pierre Date: Wed Apr 7 15:49:31 2021 +0000 Add sinclairql to NO_NATIVE_COMPILER_OS_LIST git-svn-id: trunk@49133 - M compiler/Makefile M compiler/Makefile.fpc --- commit 3aebcccdf29cbe199a204f573fc1390e3760f678 Author: Sven/Sarah Barth Date: Wed Apr 7 21:25:13 2021 +0200 * allow procvars to not be registered right away M compiler/i8086/symcpu.pas M compiler/pdecsub.pas M compiler/pdecvar.pas M compiler/ptype.pas M compiler/symdef.pas --- commit 934e3bba63c67b577d941d675cba3dccb2d53826 Author: Sven/Sarah Barth Date: Wed Apr 7 21:25:53 2021 +0200 * set proctypeoption for procvars M compiler/ptype.pas --- commit 4bc957a1aa3bc241350f8ee2f917dfd0cf80f8f2 Author: Sven/Sarah Barth Date: Wed Apr 7 21:32:29 2021 +0200 * extend procvar_dec so that procvars don't have to be registered M compiler/ptype.pas --- commit c90616944d3bde7b36e924d27a0790195d61f95c Author: florian Date: Thu Apr 8 17:21:59 2021 +0000 + Aarch64: create better code for not() git-svn-id: trunk@49135 - M compiler/aarch64/cgcpu.pas --- commit 1b34fe90a33567d41a103838648df4dc930ba2cb Author: Jonas Maebe Date: Thu Apr 8 19:50:24 2021 +0000 * don't override specified assembler on the command line when leaving assembler files in case that specified assembler is already an external one git-svn-id: trunk@49137 - M compiler/options.pas --- commit ca399f3c7166947e42e507c3cb141cfec46f9e0f Author: Jonas Maebe Date: Thu Apr 8 19:50:27 2021 +0000 * don't generate high-level CFI statements when the selected assembler does not support them, even if the target normally uses them o fixes assembling with -Aas-darwin for i386/arm/x86-64 (on OS versions that used those) git-svn-id: trunk@49138 - M compiler/aarch64/agcpugas.pas M compiler/arm/agarmgas.pas M compiler/cfidwarf.pas M compiler/systems.pas M compiler/x86/agx86att.pas --- commit b09669dffe04ed05fa7f4c19cdde5a2531be0668 Author: florian Date: Fri Apr 9 20:09:19 2021 +0000 * allow also CSUBSETREG in tx86inlinenode.second_IncludeExclude, resolves #38733 git-svn-id: trunk@49151 - M .gitattributes M compiler/x86/nx86inl.pas A tests/webtbs/tw38733.pp --- commit 243ddea68697120e162f5facac53b0ed59578ee0 Author: florian Date: Fri Apr 9 20:20:53 2021 +0000 * PowerPC: initial (and primitive) implemenation of TCpuAsmOptimizer.RegLoadedWithNewValue git-svn-id: trunk@49153 - M compiler/powerpc/aoptcpu.pas --- commit 9f8566dd84cd77faf02816ff11b6b4092af5a0d4 Author: pierre Date: Fri Apr 9 23:11:53 2021 +0000 Refactor code to avoid problems with -CR option git-svn-id: trunk@49155 - M compiler/powerpc/aoptcpu.pas --- commit d8021a11029990117503179f27e8b9af6418d32c Author: Jonas Maebe Date: Sat Apr 10 07:57:28 2021 +0000 + FreeBSD/AArch64 support (patch by Mikaël Urankar, mantis #38441) git-svn-id: trunk@49157 - M .gitattributes M compiler/aarch64/agcpugas.pas M compiler/aarch64/cputarg.pas M compiler/systems.inc M compiler/systems.pas M compiler/systems/i_bsd.pas M compiler/systems/t_bsd.pas M compiler/utils/ppuutils/ppudump.pp A rtl/bsd/aarch64/syscall.inc A rtl/bsd/aarch64/syscallh.inc M rtl/bsd/bunxsysc.inc A rtl/freebsd/aarch64/bsyscall.inc A rtl/freebsd/aarch64/cprt0.as A rtl/freebsd/aarch64/dllprt0.as A rtl/freebsd/aarch64/gprt0.as A rtl/freebsd/aarch64/prt0.as A rtl/freebsd/aarch64/si_c.inc A rtl/freebsd/aarch64/sighnd.inc M rtl/freebsd/signal.inc M rtl/freebsd/ucontexth.inc M utils/fpcm/fpcmmain.pp --- commit 81bd47343918e8de171f1f53f26db490934ece79 Author: nickysn Date: Sat Apr 10 21:05:58 2021 +0000 * fixed win32 testsuite regressions after r49084 git-svn-id: trunk@49175 - M compiler/pdecvar.pas --- commit 6ec6d2043b1c2c2fa2c5554b142610d9d333075e Author: Károly Balogh Date: Sun Apr 11 00:19:06 2021 +0000 sinclairql: enable commandargs and exitcode features git-svn-id: trunk@49177 - M compiler/options.pas --- commit c7f3469a3f6135de5990605db59ff5286c6ecbe9 Author: nickysn Date: Sun Apr 11 13:38:05 2021 +0000 * use up to 16 bytes alignment for the WASI target git-svn-id: trunk@49178 - M compiler/systems/i_wasi.pas --- commit f5bd3d81e78881e7311d4642ac4d41445b0d86d9 Author: florian Date: Sun Apr 11 17:30:20 2021 +0000 + common assembler optimizer base class for powerpc and powerpc64 * factored out TPPCAsmOptimizer.RegLoadedWithNewValue git-svn-id: trunk@49180 - M .gitattributes M compiler/powerpc/aoptcpu.pas M compiler/powerpc64/aoptcpu.pas A compiler/ppcgen/aoptppc.pas --- commit 0188a558d1fb63818129f3adc8513dddb6bd42c7 Author: florian Date: Sun Apr 11 18:18:30 2021 +0000 - obsolete defines removed git-svn-id: trunk@49184 - M compiler/cclasses.pas M compiler/constexp.pas M compiler/cutils.pas M compiler/systems/i_emx.pas M compiler/verbose.pas --- commit 726ac5a5a6afb3017e06ccdd75d6a593b97a72a7 Author: florian Date: Sun Apr 11 18:25:40 2021 +0000 - forgotten file, obsolete define removed, belongs to last commit git-svn-id: trunk@49185 - M compiler/systems/i_os2.pas --- commit 2cc621618accab4ce12b8f5b34c5f883fa460b3b Author: Sven/Sarah Barth Date: Sun Apr 11 23:00:08 2021 +0200 * Delphi-mode calling without parenthesis M compiler/ncal.pas M compiler/ncnv.pas M compiler/ngenutil.pas M compiler/nld.pas M compiler/nutils.pas M compiler/pexpr.pas --- commit 75a9c5b5009e094dd4f1abd166f9ef47aab97c1a Author: pierre Date: Mon Apr 12 08:57:23 2021 +0000 Also avoid invalid typecast for RegLoadedWithNewValue method for mips, sparcgen and xtensa git-svn-id: trunk@49186 - M compiler/mips/aoptcpu.pas M compiler/sparcgen/aoptcpu.pas M compiler/xtensa/aoptcpu.pas --- commit c8e712f400aeb5f56d8b370f7e0feb5a6405b6cb Author: Károly Balogh Date: Mon Apr 12 09:33:51 2021 +0000 m68k: cleaned up some ancient mess from cpunode.pas, no significant functional change, apart from unit inclusion order git-svn-id: trunk@49187 - M compiler/m68k/cpunode.pas --- commit b5216a19907d45ffa87661879b2a571e589fce75 Author: Károly Balogh Date: Mon Apr 12 11:51:12 2021 +0000 m68k: on the Sinclair QL insert the main program's name into the object, so the RTL later can set it as default job name git-svn-id: trunk@49189 - M .gitattributes M compiler/m68k/cpunode.pas A compiler/m68k/n68kutil.pas --- commit 695665c393c0c3b0a67b060b5da4c86249c77f38 Author: florian Date: Tue Apr 13 21:16:56 2021 +0000 + optimized multiplication for "symmetric" bit patterns on arm git-svn-id: trunk@49199 - M compiler/arm/cgcpu.pas M tests/test/cg/taddcard.pp --- commit 665180a579b47a5d7843c4912086bc6e2060aee1 Author: Károly Balogh Date: Fri Apr 16 11:42:04 2021 +0000 m68k: always use ELF objects with vasm for improved cross-compatibility with other tools and compilers git-svn-id: trunk@49210 - M compiler/m68k/ag68kvasm.pas --- commit d53b17cadcad90200962c5942a47cec174047612 Author: florian Date: Fri Apr 16 19:33:31 2021 +0000 + Aarch64: completed LSE support for all interlocked operations git-svn-id: trunk@49212 - M compiler/aarch64/a64att.inc M compiler/aarch64/a64atts.inc M compiler/aarch64/a64ins.dat M compiler/aarch64/a64op.inc M compiler/aarch64/aasmcpu.pas M rtl/aarch64/aarch64.inc --- commit d8f02107a1c79c2c4560c5e6ac260f516f083198 Author: nickysn Date: Sat Apr 17 19:42:49 2021 +0000 * avoid leaving a dangling pointer in pparautl.proc_add_definition to prevent use after free in different parts of the compiler git-svn-id: trunk@49222 - M compiler/pparautl.pas --- commit f5e5f9645cc90c01a6fcc2c89413ccbf0d1d3d5d Author: pierre Date: Sat Apr 17 22:17:46 2021 +0000 Add fForceUseForwardSlash to TLinkRes class, used for vlink linker on hosts using backslashes git-svn-id: trunk@49223 - M compiler/cscript.pas M compiler/systems/t_amiga.pas M compiler/systems/t_atari.pas M compiler/systems/t_morph.pas M compiler/systems/t_msxdos.pas M compiler/systems/t_sinclairql.pas M compiler/systems/t_zxspectrum.pas --- commit f9957f30a5a70def090032b803925a9733d4cc43 Author: svenbarth Date: Sun Apr 18 14:01:09 2021 +0000 * fix for Mantis #38771: the owner of the procdef might be Nil in case of a specialization (that virtual can't be used on generics is caught later on) + added test git-svn-id: trunk@49228 - M .gitattributes M compiler/pdecsub.pas A tests/webtbf/tw38771.pp --- commit 70760208bbc0574bd170e3acd7e8baad3cd90cf2 Author: pierre Date: Sun Apr 18 15:41:11 2021 +0000 Add systems_openbsd to suppported_targets_x_smallr and modify GenerateExecutable in t_bsd unit accordingly git-svn-id: trunk@49229 - M compiler/options.pas M compiler/systems/t_bsd.pas --- commit 4da1ad71a4ead2a6643e56087d03c1ddb6303416 Author: Jonas Maebe Date: Sun Apr 18 17:46:45 2021 +0200 * moved a bunch of constants from dbgdwarf to dbgdwarfconst M compiler/dbgdwarf.pas A compiler/dbgdwarfconst.pas --- commit 71dc62dde61909bd587485a20f3c234c832b9389 Author: florian Date: Sun Apr 18 19:19:35 2021 +0000 * if left is a smaller type, then an extension operation for shr can be removed git-svn-id: trunk@49231 - M compiler/ncnv.pas --- commit 2a7aa1116397a409066dcef8048db673e50f77f4 Author: Károly Balogh Date: Mon Apr 19 09:13:02 2021 +0000 m68k: added support to references like (a0,d0.w) in inline assembly, also fixed a bug, where sometimes the index register would have been randomly set as smaller than .l size, when the size wasn't specified git-svn-id: trunk@49233 - M compiler/m68k/cpubase.pas M compiler/m68k/r68kgri.inc M compiler/m68k/r68ksri.inc M compiler/m68k/ra68kmot.pas M compiler/utils/mk68kreg.pp --- commit f718567c95fdc28f629bbf213c0e8f2507064f3a Author: Károly Balogh Date: Mon Apr 19 19:09:34 2021 +0000 sinclairql: support the upcoming QL binary linking feature of vlink (still in development). it's behind an undocumented -WL switch now. also, reduce the amount of used dataspace by the size of the relocation table in the current linking mode git-svn-id: trunk@49234 - M compiler/globals.pas M compiler/options.pas M compiler/systems/t_sinclairql.pas --- commit 77681333f520d55157353f13183ef0dce9dd0e4e Author: florian Date: Mon Apr 19 19:54:39 2021 +0000 * patch by J. Gareth Moreton: AArch64 OptPass1Shift register tracking fault fix, resolves #38691 git-svn-id: trunk@49235 - M compiler/aarch64/aoptcpu.pas --- commit 29a5d3267cc3329ed313bdf3e6b8d59e659260fc Author: florian Date: Wed Apr 21 19:51:22 2021 +0000 * moved warning about suspicious comp assignment to type check pass, catches also assignments of constants git-svn-id: trunk@49242 - M .gitattributes M compiler/ncnv.pas M compiler/x86/nx86cnv.pas A tests/tbf/tb0274.pp --- commit 43c50d0a3266282a69f9e2d316fbc73b478c0774 Author: pierre Date: Thu Apr 22 15:26:15 2021 +0000 Remove unused, obsolete -dBROWSERLOG option git-svn-id: trunk@49246 - M compiler/MPWMake M compiler/Makefile M compiler/Makefile.fpc --- commit a19e461ee05154f1934c39bfd925740b3f28e4da Author: svenbarth Date: Fri Apr 23 14:05:21 2021 +0000 * NDS: fix condition when to default to apptype arm9 git-svn-id: trunk@49248 - M compiler/systems/t_nds.pas --- commit 17e3c31b7ef802363f2b721f076427735d7802e7 Author: pierre Date: Fri Apr 23 21:52:24 2021 +0000 Fix gotpcrel relocation for TESTQ x86_64 instruction git-svn-id: trunk@49252 - M .gitattributes M compiler/ogelf.pas M compiler/x86/aasmcpu.pas A tests/webtbs/tw38353.pp --- commit cd3570caf14145f0f75af95171ca4e773cb9bfb6 Author: florian Date: Sun Apr 25 08:53:12 2021 +0000 + Aarch64: use frintz for int(...) instead of creating a helper call git-svn-id: trunk@49260 - M compiler/aarch64/ncpuinl.pas M rtl/aarch64/math.inc --- commit 5557dbedf27c88984a322047c57b486fb7a9fccd Author: florian Date: Sun Apr 25 09:26:47 2021 +0000 + Aarch64: directly inline code for frac(...) git-svn-id: trunk@49261 - M compiler/aarch64/ncpuinl.pas M rtl/aarch64/math.inc --- commit 1a71ca410691438f182910025443da0580df5a47 Author: nickysn Date: Sun Apr 25 15:58:59 2021 +0000 * prevention of dangling pointers and use after free after free_unregistered_localsymtable_elements git-svn-id: trunk@49262 - M compiler/pmodules.pas --- commit 77cc2f4ceda166a09eaf04ca07756f950d1ca806 Author: florian Date: Sun Apr 25 19:49:26 2021 +0000 * decrease macro nesting counter early when expanding empty macro to avoid errors about too depth macro nesting, resolves #38802 git-svn-id: trunk@49265 - M .gitattributes M compiler/scanner.pas A tests/webtbs/tw38802.pp --- commit 1b22962140eee3b11bef19380d071ce49f5f4329 Author: florian Date: Mon Apr 26 20:52:02 2021 +0000 * patch by Christo Crause to fix #38789: writing of linker commands should not depent in -s git-svn-id: trunk@49267 - M compiler/systems/t_freertos.pas --- commit db02c7c85aea5f66f4e083bba8a8ba649e06c313 Author: pierre Date: Mon Apr 26 21:10:25 2021 +0000 Add -march=XXX option for aarch64 external assemblers git-svn-id: trunk@49269 - M compiler/aarch64/agcpugas.pas --- commit f1d30a5bc63f4bf5916ad20a81c12922ceae68e3 Author: pierre Date: Mon Apr 26 21:14:27 2021 +0000 Add .force_thumb pseudo-directive support forarm reader git-svn-id: trunk@49271 - M compiler/aasmtai.pas M compiler/arm/raarmgas.pas M compiler/assemble.pas --- commit c2faf6a8fd63727b392123b69f5a403b9ed991cd Author: pierre Date: Mon Apr 26 21:50:53 2021 +0000 Avoid invalid typecast if hp is not an instruction git-svn-id: trunk@49273 - M compiler/arm/rgcpu.pas --- commit d06cb1a20ac5674bc70b8e8da0c419f004afeb7c Author: Károly Balogh Date: Tue Apr 27 06:25:13 2021 +0000 m68k: fixed a comment. no functional change git-svn-id: trunk@49275 - M compiler/m68k/ag68kvasm.pas --- commit 423940afd7c7d8afaa4d45a5c08d36f83fcf5401 Author: pierre Date: Tue Apr 27 14:01:35 2021 +0000 Avoid range check error inside genitem_thumb2 by changing local variable i type git-svn-id: trunk@49278 - M compiler/arm/narmset.pas --- commit 7721995c71a089a8796aac9c6570dd6eed606d20 Author: pierre Date: Tue Apr 27 14:20:09 2021 +0000 Make sure nf_usercode_entry get transferred inside firstpass procedure git-svn-id: trunk@49279 - M compiler/pass_1.pas --- commit 77e3a402dabc6622fc48d31c641177452ed49867 Author: pierre Date: Tue Apr 27 14:52:22 2021 +0000 Set string length before calling move to avoid problems with global data analysis on systems using C library git-svn-id: trunk@49280 - M compiler/assemble.pas M compiler/ogcoff.pas --- commit 0ffd4f87808838f1ddb563eaa2863a4d0f984a6d Author: florian Date: Tue Apr 27 16:36:40 2021 +0000 * fix compilation of arm compiler on 32 bit hosts git-svn-id: trunk@49281 - M compiler/arm/narmset.pas --- commit 72667f41ad1e1b310052fe05a244276c7f813ad4 Author: pierre Date: Wed Apr 28 14:56:30 2021 +0000 Avoid warning with -O4 option git-svn-id: trunk@49284 - M compiler/systems/t_sinclairql.pas --- commit 837b433abc0378039d91f0f03061d982b2cbcc9d Author: florian Date: Wed Apr 28 18:32:48 2021 +0000 * avoid overflow during register allocation git-svn-id: trunk@49285 - M compiler/rgobj.pas --- commit b464d3877781b483ed4a1af04784cbbf175019aa Author: pierre Date: Wed Apr 28 23:02:44 2021 +0000 Add several missing -AXXX options git-svn-id: trunk@49286 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 595edf6f9b5bdf4d04ce6580cae49debc72cba89 Author: pierre Date: Wed Apr 28 23:03:47 2021 +0000 Use as-clang as idtxt for as_aarch64_clang_gas_info git-svn-id: trunk@49287 - M compiler/aarch64/agcpugas.pas --- commit 256ca9d210e9fb9ddc11ca3caeaf811ff1d97dea Author: florian Date: Thu Apr 29 19:48:54 2021 +0000 * patch by J. Gareth Moreton: AArch64 "magic division" (replace division by constant with multiplication), part of #38806 git-svn-id: trunk@49290 - M compiler/aarch64/ncpumat.pas --- commit bf5f7144972fe1b99f2dabf2f6910b5e93090eca Author: pierre Date: Thu Apr 29 20:16:31 2021 +0000 Also check *.pas and *.inc files inside sub-directories in msgused.pl git-svn-id: trunk@49292 - M compiler/utils/msgused.pl --- commit f0b322f4ed22a2164aba0abad84925a1f40e383d Author: pierre Date: Thu Apr 29 21:59:32 2021 +0000 Add -TFreeBSD target OS option to -h output for aarch64 compiler ppc64 git-svn-id: trunk@49293 - M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit cdc7fec019bc6e77d40e11c9c3bb173f95a3b364 Author: Károly Balogh Date: Thu Apr 29 22:06:26 2021 +0000 m68k: D2 is considered volatile on macosclassic git-svn-id: trunk@49294 - M compiler/m68k/cpupara.pas --- commit f76bb5fc5e29998effe2021ba7fa563a9a4a8e2b Author: Károly Balogh Date: Thu Apr 29 22:21:36 2021 +0000 m68k-sinclairql: apply the same hack as for amiga and atari to avoid vlink section attribute warning git-svn-id: trunk@49295 - M compiler/aggas.pas --- commit 5ef44c550a605a72a6f8b34fc3690185097aa49a Author: pierre Date: Fri Apr 30 09:55:11 2021 +0000 Avoid range/overflow error after commit #49290 git-svn-id: trunk@49298 - M compiler/aarch64/ncpumat.pas --- commit 9977889f4a2dc700ff8bfdaf231d59910fc08739 Author: Jonas Maebe Date: Sat May 1 09:28:58 2021 +0000 * fix finally block getting unconditionally removed if try-block is empty (hasnocode(nil) always returns true). Regression from r48174 git-svn-id: trunk@49305 - M .gitattributes M compiler/nflw.pas A tests/webtbs/tw38833.pp --- commit cc5814dac195e6c3a60030015339e18d0296fbb3 Author: Jonas Maebe Date: Sat May 1 13:58:10 2021 +0000 * support arbitrary record regvars on AArch64: it has fairly complete support for inserting/extracting bitfields (although the compiler doesn't use those instructions yet in all possible cases, it seems) git-svn-id: trunk@49313 - M compiler/symsym.pas --- commit 210674b9a039da69dfd1444c0cbcbe7d5cbaf4c6 Author: florian Date: Sat May 1 18:56:25 2021 +0000 * patch by J. Gareth Moreton: AArch64: Improved speed and efficiency with constant generation, resolves #38837 git-svn-id: trunk@49321 - M compiler/aarch64/cgcpu.pas --- commit f6a444c6fcfa9f1993841e8dce9a36899a8d8c9a Author: Sven/Sarah Barth Date: Sat May 1 22:11:11 2021 +0200 * combine the Boolean parameters of read_proc and read_proc_dec into a set M compiler/pdecobj.pas M compiler/pdecsub.pas M compiler/psub.pas M compiler/symcreat.pas --- commit ee187f78f411711fe221f871fea01b203114264c Author: Sven/Sarah Barth Date: Sat May 1 22:29:08 2021 +0200 * have read_body return the created procdef M compiler/psub.pas --- commit 9664ad4138ec531b0be7680bb274db0fdb39b554 Author: Sven/Sarah Barth Date: Sat May 1 23:08:30 2021 +0200 * use tparse_proc_flags for parse_proc_head as well M compiler/pdecobj.pas M compiler/pdecsub.pas M compiler/pgenutil.pas --- commit 542c3f0c4c916a61cce0614fc855241ba0e4e8c3 Author: Sven/Sarah Barth Date: Sat May 1 23:32:22 2021 +0200 * use tproc_parse_flags in parse_proc_dec_finish as well M compiler/pdecsub.pas M compiler/pgenutil.pas --- commit 4dbdb4f0f1ec9a675c22f0f5650a8cc5b44275e2 Author: Sven/Sarah Barth Date: Sun May 2 14:52:33 2021 +0200 + initial support for anonymous functions, for now as essentially nested functions Based on work by Blaise.ru M compiler/pdecsub.pas M compiler/pexpr.pas M compiler/psub.pas M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp --- commit 39896a1b113912c28ee09155ab6f81cc9a14428e Author: pierre Date: Mon May 3 16:04:19 2021 +0000 Destroy tfornode class loopiteration field if assigned git-svn-id: trunk@49329 - M compiler/nflw.pas --- commit dd9179043e1dd2839249ca4aa2b5eb25bb4760e3 Author: pierre Date: Mon May 3 16:10:59 2021 +0000 Fix message about unsupported OS_TARGET for LLVM git-svn-id: trunk@49330 - M compiler/Makefile M compiler/Makefile.fpc --- commit d936280c6b5810d72bcf1db26189339025343143 Author: florian Date: Wed May 5 20:38:05 2021 +0000 * (modified) patch by J. Gareth Moreton to unify ldr/str optimizations on Aarch64/ARM, part of #38841 git-svn-id: trunk@49338 - M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit 9bad5180bb210fa49437353c7643d9bc574af68b Author: pierre Date: Thu May 6 16:17:16 2021 +0000 Avoid using UXT and SXT instructions on arm version below 6 git-svn-id: trunk@49340 - M compiler/armgen/aoptarm.pas --- commit 964c04aded9d81191c5030d1bd75be285e36d8b8 Author: florian Date: Thu May 6 18:44:18 2021 +0000 * patch by J. Gareth Moreton, second part of #38841 git-svn-id: trunk@49341 - M compiler/aarch64/aoptcpu.pas --- commit 4ab310e0ed49cf72441c1072beb3e24206eb6e12 Author: florian Date: Sat May 8 20:48:59 2021 +0000 + ARM: basic vasm support git-svn-id: trunk@49347 - M .gitattributes A compiler/arm/agarmvasm.pas M compiler/arm/cputarg.pas M compiler/systems.inc --- commit 8535c758efc41d890c3d343d43e064deed88d132 Author: florian Date: Sun May 9 20:42:31 2021 +0000 + initial support for ARMv2 * check for unassigned valuestr when writing ntbs eabi attributes git-svn-id: trunk@49348 - M compiler/arm/aasmcpu.pas M compiler/arm/agarmgas.pas M compiler/arm/cpuinfo.pas M compiler/arm/narmmat.pas M compiler/arm/narmutil.pas M compiler/assemble.pas --- commit 929fc500043b93f1e06976d0735c3cfffcb2c446 Author: florian Date: Mon May 10 20:30:31 2021 +0000 * cleanup git-svn-id: trunk@49349 - M compiler/arm/agarmvasm.pas --- commit da3eb5c1785feb0dbd417632bff6f791b4b458e6 Author: pierre Date: Wed May 12 22:54:59 2021 +0000 Try to fix handle of large stack size in xtensa gen_proc_entry/gen_proc_exit git-svn-id: trunk@49352 - M compiler/xtensa/cgcpu.pas --- commit 022a9b210ffce670dbe4d675baf3b70db3e74b92 Author: florian Date: Thu May 13 09:26:53 2021 +0000 + AVR: avr_des intrinsic git-svn-id: trunk@49353 - M .gitattributes M compiler/avr/ccpuinnr.inc M compiler/avr/cpubase.pas M compiler/avr/itcpugas.pas M compiler/avr/navrinl.pas M compiler/avr/raavr.pas M rtl/avr/cpuinnr.inc M rtl/avr/intrinsics.pp A tests/test/tdes1.pp A tests/test/tdes2.pp --- commit bc21634b467631b3350b42f83894a7339bea54b1 Author: florian Date: Thu May 13 18:59:28 2021 +0000 * AVR: made avr_des intrinsic more usefull git-svn-id: trunk@49362 - M compiler/avr/navrinl.pas M rtl/avr/intrinsics.pp M tests/test/tdes1.pp M tests/test/tdes2.pp --- commit f0cc2c38b8aaff7b6b407aeeeb8bfe9556fbfa5f Author: Károly Balogh Date: Fri May 14 14:49:14 2021 +0000 sinclairql: enable weak linking support for the Sinclair QL git-svn-id: trunk@49363 - M compiler/systems.pas --- commit 884d24e321d3db6a74c25a2d0bf09b1e755645e0 Author: florian Date: Fri May 14 20:50:03 2021 +0000 * patch by J. Gareth Moreton: x86 MOVZX/CMP optimisation, resolves #38882 git-svn-id: trunk@49366 - M compiler/x86/aoptx86.pas --- commit e57059eea3959cfc9daeee5bd558b07a4ad21713 Author: florian Date: Sat May 15 16:02:22 2021 +0000 * fix building on i386 after r49366 git-svn-id: trunk@49372 - M compiler/x86/aoptx86.pas --- commit 6f1d965dace0a9e093ce73faa9e02828db463694 Author: florian Date: Mon May 17 20:02:12 2021 +0000 * first part of AVR assembler optimizer reword git-svn-id: trunk@49377 - M compiler/avr/aoptcpu.pas --- commit 430b2fd7917e4689de57e75a67ad864f38b570aa Author: florian Date: Tue May 18 19:13:13 2021 +0000 * AVR: second part of assembler optimizer rework git-svn-id: trunk@49378 - M compiler/avr/aoptcpu.pas --- commit c43d8e4adf47edacce499563558c0bbcc9c7fc3c Author: florian Date: Tue May 18 19:13:49 2021 +0000 * indention fixed git-svn-id: trunk@49379 - M compiler/avr/aoptcpu.pas --- commit 906d0ba06ef076fa6bebc994e1145bf222449b47 Author: Károly Balogh Date: Wed May 19 07:39:24 2021 +0000 sinclairql: make sure the end of bss (hence the bss size) is also aligned to two bytes git-svn-id: trunk@49380 - M compiler/systems/t_sinclairql.pas --- commit 6f482952dee00a2e14dc900815d660a32e46bc8d Author: florian Date: Wed May 19 20:29:04 2021 +0000 * patch by J. Gareth Moreton: Memory CMP optimisation, resolves #38907 git-svn-id: trunk@49382 - M compiler/x86/aoptx86.pas --- commit 578424cf51d3c1a127c5eaddfe462e82a5588586 Author: florian Date: Thu May 20 20:45:38 2021 +0000 * patch by J. Gareth Moreton: TEST chain shortcutting, resolves #38908 git-svn-id: trunk@49385 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 5726428dccfb87159f31ce505ab1bef04a5f59e6 Author: florian Date: Fri May 21 20:36:15 2021 +0000 * patch by J. Gareth Moreton: Additional SETcc optimisations, resolves #38767 git-svn-id: trunk@49386 - M compiler/cgutils.pas M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit e9b3db0d78ec4a3043d69de785b951b25179c2ae Author: florian Date: Sat May 22 20:22:53 2021 +0000 * more fixes to support vasm on arm * do not crash on empty eabi attribute strings git-svn-id: trunk@49397 - M compiler/aggas.pas M compiler/arm/agarmvasm.pas --- commit 814b68fac0e7a2328bf4cb0adc995bf20947383a Author: florian Date: Sun May 23 19:46:40 2021 +0000 * more fixes for VASM for ARM git-svn-id: trunk@49398 - M compiler/arm/agarmgas.pas M compiler/fpcdefs.inc --- commit 8006900e8e969fd4f8078398ce762f1575fff961 Author: florian Date: Mon May 24 09:26:44 2021 +0000 - clean up git-svn-id: trunk@49399 - M compiler/cgbase.pas --- commit bae583118a0e685032f2712943d2ec5bcdbb900b Author: florian Date: Wed May 26 21:03:56 2021 +0000 * patch by J. Gareth Moreton: x86 JccMovJmpMov2MovSetcc improvement, resolves #38761 git-svn-id: trunk@49402 - M compiler/aoptutils.pas M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86/cpubase.pas M compiler/x86_64/aoptcpu.pas --- commit d56a90e5ed984b10ce192d3197e72fba5b4e184c Author: Sven/Sarah Barth Date: Thu May 27 07:17:15 2021 +0200 * keep track of symbols that are accessed from a nested/anonymous function that belong to a surrounding scope M compiler/nld.pas M compiler/procinfo.pas M compiler/symdef.pas --- commit 8e2478e6328415ca01414db2a77c2180c23631bc Author: Sven/Sarah Barth Date: Thu May 27 07:18:00 2021 +0200 * check whether an anonymous function can be assigned to a global, method or nested function variable M compiler/defcmp.pas --- commit 30df9550019731ed3cf29d5e30fc6bff4bc4cc03 Author: florian Date: Thu May 27 21:13:23 2021 +0000 * the MovOpMov2Op optimization needs to take care of the second operand, should resolve #38359 git-svn-id: trunk@49404 - M compiler/x86/aoptx86.pas --- commit f2e0af6d37956caac79c5acf8c8cf5ad08475443 Author: florian Date: Fri May 28 21:23:09 2021 +0000 * check used registers properly for SETcc/TEST/Jcc -> Jcc, resolves #38940 git-svn-id: trunk@49405 - M .gitattributes M compiler/x86/aoptx86.pas A tests/webtbs/tw38940.pp --- commit d5a0dd3d2577809d169cfe18aa78e8372fc3b856 Author: nickysn Date: Fri May 28 21:59:57 2021 +0000 * prevent a range check error in TFPList.IndexOfItem when searching backwards in an empty list and the compiler is compiled with range checking turned on git-svn-id: trunk@49406 - M compiler/cclasses.pas --- commit 5e3efa4455a0c20e72ee2d970df1fa630308192e Author: florian Date: Sun May 30 18:08:37 2021 +0000 * Aarch64: apply OptPass1Data to CSEL as well git-svn-id: trunk@49414 - M compiler/aarch64/aoptcpu.pas --- commit ea5ffd597f3b8a50300e9e7d1ea2fcd0f1e14f48 Author: nickysn Date: Sun May 30 21:27:57 2021 +0000 * set self to nil in current_module.deflist for registered defs in the tstoreddef.destroy destructor, instead of doing it after each call to x.owner.deletedef(x) git-svn-id: trunk@49417 - M compiler/pdecvar.pas M compiler/pmodules.pas M compiler/pparautl.pas M compiler/symdef.pas --- commit 99f33824a7994a8e4fdbedfed79093cffcda03ad Author: nickysn Date: Mon May 31 19:33:03 2021 +0000 * patch from Alfred for setting source_cpu_string for the wasm32 platform git-svn-id: trunk@49420 - M compiler/version.pas --- commit 1957ea11cba7537976c6600b2334a9df386d7aa7 Author: pierre Date: Tue Jun 1 08:22:44 2021 +0000 Fix duplicate source_cpu_string after last patch, by using cpuwasm32 instead of wasm32 conditional git-svn-id: trunk@49425 - M compiler/version.pas --- commit 3ecb41cd2dbbededc213dc54ee4e44880dbd8336 Author: nickysn Date: Tue Jun 1 15:02:26 2021 +0000 * improvements to the prevention of dangling pointers in tmodule.deflist, introduced in r49417. Now it no longer depends on current_module, so it handles the case when current_module changes between the time the tdef was registered and the time it was freed. It also supports freeing the tmodule before the defs, so the freeing order of the object is once again flexible. git-svn-id: trunk@49426 - M compiler/fmodule.pas M compiler/symdef.pas M compiler/symtype.pas --- commit f59aab1371a008ff7c5f46d2b4d2fa56019cc15d Author: nickysn Date: Tue Jun 1 15:27:45 2021 +0000 * fixed typecast in tmodule.destroy after r49426, since registered_in_module is introduced in tdef, not in tstoreddef git-svn-id: trunk@49427 - M compiler/fmodule.pas --- commit 5085a04930268442e1dfd07f325291dc1f95d086 Author: nickysn Date: Tue Jun 1 15:36:01 2021 +0000 - removed the (deflist[i] is tdef) check from the tmodule destructor, since only tdef descendants are added to the deflist and casting deflist entries to tdef directly appears to be safe and is done in other parts of the compiler git-svn-id: trunk@49428 - M compiler/fmodule.pas --- commit c02b43fb93381fec8823752d0ac24e76e143868b Author: florian Date: Tue Jun 1 21:16:52 2021 +0000 * change fma cpu flag into an fpu flag git-svn-id: trunk@49448 - M compiler/i386/cpuinfo.pas M compiler/options.pas M compiler/x86/nx86add.pas M compiler/x86/nx86inl.pas M compiler/x86_64/cpuinfo.pas --- commit c2c7982a22f940366468c2b78e6625739d584be4 Author: pierre Date: Wed Jun 2 19:58:38 2021 +0000 Fix check that third parameter of ADDI hp1 instruction is a constant git-svn-id: trunk@49467 - M compiler/riscv/aoptcpurv.pas --- commit e6e49baed14c826a83e384fca0e29e739d3aef22 Author: pierre Date: Wed Jun 2 20:00:28 2021 +0000 Add A_CALL to the list of instructions considered as a calljmp, even though it is a pseudo-instruction, fixes a long list of -O3 and -O4 testsuite failures git-svn-id: trunk@49468 - M compiler/riscv32/cpubase.pas M compiler/riscv64/cpubase.pas --- commit e841e95390eecdfc83dd7747597d3bc15195f171 Author: florian Date: Wed Jun 2 20:03:55 2021 +0000 * aarch64-darwin supports unaligned memory access, confirmed by testing with clang 12 git-svn-id: trunk@49469 - M compiler/aarch64/cgcpu.pas --- commit aadcb0097781d53e6b555da644d3dc05dcb5f3a8 Author: pierre Date: Fri Jun 4 21:14:34 2021 +0000 Add -march option to clang call for llvm target git-svn-id: trunk@49475 - M compiler/llvm/agllvm.pas --- commit 4483343d00693632b120151f8ea67abf2a2c2d5f Author: pierre Date: Fri Jun 4 21:15:46 2021 +0000 Return -1 if size of file is smaller tham header size in tppufile.readheader method git-svn-id: trunk@49476 - M compiler/ppu.pas --- commit 04ebdf8df81632e5e3e8dd13d80dba4c75ea9c3f Author: pierre Date: Sat Jun 5 06:47:46 2021 +0000 Fix compilation for x86_64 llvm variant git-svn-id: trunk@49477 - M compiler/llvm/agllvm.pas --- commit 6e4984184b94547a91ffdd96dc47046377693a0d Author: svenbarth Date: Sat Jun 5 17:43:53 2021 +0000 * for variant dispatch calls, use the parameter name in source case, not upper case git-svn-id: trunk@49480 - M compiler/pexpr.pas --- commit 40e1a09e6c73c245cbc1bb3ea1b97a0816fb29e8 Author: florian Date: Sat Jun 5 21:14:30 2021 +0000 * improved AndUtxh2And optimization git-svn-id: trunk@49483 - M compiler/armgen/aoptarm.pas --- commit 134bc7eb423c398b8ae1d1b93b105c2d1dc66667 Author: florian Date: Mon Jun 7 21:20:43 2021 +0000 * ARM: split TCpuThumb2AsmOptimizer.PeepHoleOptPass1Cpu git-svn-id: trunk@49489 - M compiler/arm/aoptcpu.pas --- commit 214936b90e2f67c323cc530a4f022d3ab957e2ed Author: florian Date: Wed Jun 9 18:31:52 2021 +0000 * patch by J. Gareth Moreton: refactoring to standardise the "Peephole Optimization: " prefix on peephole debug messages, part of #38975 git-svn-id: trunk@49493 - M compiler/arm/aoptcpu.pas --- commit 464730dc44dbffcdd9fb0d3ef0847e7f0a04c633 Author: florian Date: Thu Jun 10 20:26:17 2021 +0000 + patch by J. Gareth Moreton: New label debugging feature, resolves #38980 git-svn-id: trunk@49494 - M compiler/aggas.pas --- commit 9d2e71ff699c447a2fc954ef15928f6697d60a8e Author: florian Date: Sat Jun 12 20:45:15 2021 +0000 * patch by Alfred to use new linker names for Android NDK >=22, resolves #38987 git-svn-id: trunk@49498 - M compiler/systems/t_android.pas --- commit 776667366feec2f8f00a81ba8d3f016730fd1e5d Author: florian Date: Sun Jun 13 20:46:46 2021 +0000 * patch by J. Gareth Moreton: ARM - str/str -> stm optimisation, second part of #38975 git-svn-id: trunk@49499 - M compiler/arm/aoptcpu.pas --- commit 7ee31ae252e6796fc32a3e1de90193e6f936920a Author: florian Date: Tue Jun 15 19:05:34 2021 +0000 * optimization "Merging stores: STR/STR -> STM" cannot be carried out when generating thumb code git-svn-id: trunk@49503 - M compiler/arm/aoptcpu.pas --- commit 2c418b988cbfd4d9737fb34f6c81c52bd32c0bcc Author: florian Date: Tue Jun 15 19:52:07 2021 +0000 * use smaller alignment when generating thumb code git-svn-id: trunk@49505 - M compiler/options.pas --- commit 3f8aeadb916de0d20cdef18897275c348133e90a Author: florian Date: Tue Jun 15 20:09:46 2021 +0000 * do not generate exit code for arm (thumb and thumb-2) if a routine is marked as noreturn git-svn-id: trunk@49506 - M compiler/arm/cgcpu.pas --- commit e1d9d1be0aa9b4029bdd144bb97374c3bf559d5a Author: florian Date: Wed Jun 16 19:53:56 2021 +0000 + Merge Add/Sub optimization git-svn-id: trunk@49508 - M compiler/arm/aoptcpu.pas --- commit 50648f2a6052a27c6ab8591c5817d63c830aa0ff Author: florian Date: Thu Jun 17 21:12:08 2021 +0000 + ARM: PushPop optimziation git-svn-id: trunk@49510 - M compiler/arm/aoptcpu.pas --- commit 43b29375899276a2734571d2be8daef68e5b9008 Author: tg74 Date: Fri Jun 18 14:06:55 2021 +0000 activate 'compressed disp8*N' for VCVTQQ2PS xmmreg, xmmrm and VCVTTPD2UDQ xmmreg, xmmrm git-svn-id: branches/tg74/avx512-0037785@49512 - M compiler/x86/x86ins.dat --- commit 85fffd7a77f5dafbf672ee80493fc42fe09aae5d Author: tg74 Date: Fri Jun 18 14:06:55 2021 +0000 activate 'compressed disp8*N' for VCVTQQ2PS xmmreg, xmmrm and VCVTTPD2UDQ xmmreg, xmmrm git-svn-id: branches/tg74/avx512-0037785@49512 - M compiler/x86/x86ins.dat --- commit 89d3d866d2370f8f332746506e97dea19c9fe382 Author: tg74 Date: Fri Jun 18 14:07:13 2021 +0000 activate 'compressed disp8*N' for VCVTQQ2PS xmmreg, xmmrm and VCVTTPD2UDQ xmmreg, xmmrm git-svn-id: branches/tg74/avx512-0037785@49513 - M compiler/i386/i386tab.inc M compiler/i8086/i8086tab.inc M compiler/x86_64/x8664tab.inc --- commit 7368fcf4c5a6845a0c2257ae0479556850184565 Author: tg74 Date: Fri Jun 18 14:07:13 2021 +0000 activate 'compressed disp8*N' for VCVTQQ2PS xmmreg, xmmrm and VCVTTPD2UDQ xmmreg, xmmrm git-svn-id: branches/tg74/avx512-0037785@49513 - M compiler/i386/i386tab.inc M compiler/i8086/i8086tab.inc M compiler/x86_64/x8664tab.inc --- commit 356afdd25bd80af7c674633df6eda10826dbbf4b Author: florian Date: Sun Jun 20 18:14:30 2021 +0000 * ARM (thumb): do not save registers in routines marked as noreturn git-svn-id: trunk@49519 - M compiler/arm/cgcpu.pas --- commit bbcc3966445438e2d97e07d21491a83e9b0bbb99 Author: florian Date: Mon Jun 21 21:36:32 2021 +0000 * ARM: fix for Merge Add/Sub optimization git-svn-id: trunk@49520 - M compiler/arm/aoptcpu.pas --- commit d7a9a7319493dcd61d41e68b3baedcaf9442ec5a Author: florian Date: Thu Jun 24 20:02:26 2021 +0000 + stack pages need to be touched on aarch64-win64 as well git-svn-id: trunk@49559 - M compiler/aarch64/cgcpu.pas --- commit ba1b0883c2771b3a4b9e5ab3954d2a9ea960cad6 Author: florian Date: Sun Jun 27 20:51:03 2021 +0000 * r/esp cannot be used as index register git-svn-id: trunk@49567 - M compiler/x86/aoptx86.pas --- commit ce1f9cce01e1f58859886593ea04e5a5bfd0da32 Author: florian Date: Sun Jun 27 21:21:19 2021 +0000 * throw an error if esp/rsp are used as index register git-svn-id: trunk@49568 - M .gitattributes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/x86/aasmcpu.pas A tests/tbf/tb0275.pp --- commit 51326e94f38d72e89bc833c60e20df237502d811 Author: florian Date: Mon Jun 28 20:35:33 2021 +0000 * allow char constant to be used for const string parameters in generic specializations, resolves #39030 git-svn-id: trunk@49569 - M .gitattributes M compiler/pgenutil.pas A tests/webtbs/tw39030.pp --- commit 94a15faa7f435b1b8a5e0776446b2352b0359065 Author: florian Date: Sat Jul 3 21:05:27 2021 +0000 * patch by J. Gareth Moreton to fix faulty conditional jump logic, resolves #38985 git-svn-id: trunk@49576 - M compiler/aoptobj.pas M compiler/x86/aoptx86.pas M compiler/x86/cpubase.pas --- commit 7a4110cca91f7fcb4097d156104bf7e12021bc52 Author: florian Date: Sun Jul 4 20:46:02 2021 +0000 * DeepMovOpt requires that the target reg of the mov is not modified before hp2 git-svn-id: trunk@49577 - M compiler/x86/aoptx86.pas --- commit 7d6b01bfc429e2bc70eaf7449a2f899f0ce4b0dd Author: florian Date: Mon Jul 5 21:07:46 2021 +0000 + SHXXMov2SHXX optimization git-svn-id: trunk@49579 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit ea47cb313def016b4f6359126d45ba9da4054411 Author: florian Date: Tue Jul 6 20:55:41 2021 +0000 * patch by J. Gareth Moreton: improve MovAndTest2Test optimization, resolves #39156 git-svn-id: trunk@49580 - M compiler/x86/aoptx86.pas --- commit cb0f422eb1f04ba531b1acdc0212194eb1c565e6 Author: florian Date: Thu Jul 8 20:40:10 2021 +0000 * patch by J. Gareth Moreton: x86: MovMovSar2MovCltd bug fix, resolves #39180 git-svn-id: trunk@49586 - M compiler/x86/aoptx86.pas --- commit 924f9466f0219cab6ea5c52da9b5676c97f9cf5d Author: svenbarth Date: Fri Jul 9 15:52:00 2021 +0000 * fix for Mantis #26760: apply patch by Ondrej Pokorny to ensure that units referenced by an "in"-clause are recompiled when they have been changed + added test (though due to the nature of the bug it needs to be interactive) git-svn-id: trunk@49587 - M .gitattributes M compiler/fppu.pas A tests/webtbs/tw26760.pp A tests/webtbs/uw26760/uw26760.pp --- commit c185ce02cc24c43f5213563669fce7c2c9727747 Author: florian Date: Fri Jul 9 20:58:42 2021 +0000 * patch by J. Gareth Moreton: x86: RegLoadedWIthNewValue overhaul and bug fix, resolves #39187 git-svn-id: trunk@49588 - M compiler/x86/aoptx86.pas --- commit d16160be915fc86a6ba634f9ea8500255ff996c9 Author: florian Date: Sat Jul 10 20:29:00 2021 +0000 * patch by J. Gareth Moreton: CMP chain shortcutting, resolves #39141 git-svn-id: trunk@49592 - M compiler/x86/aoptx86.pas --- commit 0d6a1d24bd0adb93608b17fff1e956564cc4d975 Author: florian Date: Tue Jul 13 18:31:38 2021 +0000 * might_have_sideeffects in gen_c_style_operator as proposed by runewalsh, resolves #39206 git-svn-id: trunk@49608 - M .gitattributes M compiler/pexpr.pas A tests/webtbs/tw39206.pp --- commit 2629bd7ba92a03ed6b106448b7eae6429b63e94a Author: florian Date: Thu Jul 15 20:58:46 2021 +0000 * patch by J. Gareth Moreton: x86: Lea2Nop for stack pointer, resolves #39225 git-svn-id: trunk@49612 - M compiler/x86/aoptx86.pas --- commit 2a2576b1d5c6335deb98c92f51344903e912c7ee Author: svenbarth Date: Thu Jul 15 21:52:27 2021 +0000 * further fix for Mants #26760: applied patch by Ondrej Pokorny to fix recompilation of units referenced with an "in" clause if no file extension is provided + added (interactive) test git-svn-id: trunk@49613 - M .gitattributes M compiler/fppu.pas A tests/webtbs/tw26760b.pp --- commit c67d35b8ccfe8a4de74ea6f33017fbd9f68979b0 Author: florian Date: Fri Jul 16 21:47:36 2021 +0000 * patch by J. Gareth Moreton: x86: Minor bitwise optimisations, resolves #39299 git-svn-id: trunk@49614 - M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit db8c723b9d503f0eee1b7058495170b97326752f Author: florian Date: Sat Jul 17 21:07:02 2021 +0000 * Xtensa: unified DataMov2Data optimization git-svn-id: trunk@49616 - M compiler/xtensa/aoptcpu.pas --- commit 46507f956552ac35f745568284ca6ca7de4f328f Author: florian Date: Sun Jul 18 21:40:43 2021 +0000 * Xtensa: optimize constant multiplications git-svn-id: trunk@49618 - M compiler/xtensa/cgcpu.pas --- commit eb96734b2062ee19daf54cd52266164d70e84b02 Author: florian Date: Sun Jul 18 21:41:57 2021 +0000 * avr4 has mul instructions git-svn-id: trunk@49619 - M compiler/avr/cpuinfo.pas --- commit 7a8893396d2598628075a4f3e001622d731e1191 Author: florian Date: Sun Jul 18 21:47:22 2021 +0000 * revert last commit, avr4 has no call/jmp git-svn-id: trunk@49620 - M compiler/avr/cpuinfo.pas --- commit 415bf22e01cbb676fbefc4de83ee4d18bfa6145e Author: florian Date: Mon Jul 19 20:55:41 2021 +0000 * remove mhs_exceptions in might_have_sideeffects call for C operators: it improves code and shouldn't hurt as this is no regression in comparison with current 3.2.x git-svn-id: trunk@49621 - M compiler/pexpr.pas --- commit 4e4d268963dd6d2b596d1cb5a70332015011bb04 Author: Sven/Sarah Barth Date: Thu Jul 22 17:10:31 2021 +0200 + add modeswitch for anonymous functions M compiler/globtype.pas M compiler/utils/ppuutils/ppudump.pp --- commit ddba001b651a404c2b01bdb88679599cc5df118f Author: Sven/Sarah Barth Date: Thu Jul 22 17:12:00 2021 +0200 * ensure that nested functions of main program, main program finalization and unit initialization/finalization are generated M compiler/pmodules.pas --- commit 5129c2cb9ac6bd7756bf77f8d94d60c0390e9734 Author: Sven/Sarah Barth Date: Thu Jul 22 17:19:50 2021 +0200 * consider Self parameters of nested functions as captured as well M compiler/nld.pas --- commit 17514ed5c0dcbfcc2d141653b021adf870d825ff Author: Sven/Sarah Barth Date: Thu Jul 22 17:42:39 2021 +0200 * allow to ignore Self parameters; for this the parameter skipping needs to be repeated to correctly catch all cases M compiler/defcmp.pas --- commit 2be8f01efe35eec1c1bb9b278b54de3715fc5b2f Author: Sven/Sarah Barth Date: Thu Jul 22 17:44:01 2021 +0200 * implement assignment of anonymous functions to procedure or method variables if they either capture nothing or (in case of method variables) at most the Self variable M compiler/defcmp.pas M compiler/htypechk.pas M compiler/ncnv.pas M compiler/nld.pas M compiler/pparautl.pas M compiler/symdef.pas --- commit 122c6c92cb5e494385d3fa3adffe6bee6ec4a51c Author: Sven/Sarah Barth Date: Fri Jul 23 12:01:09 2021 +0200 + add function to check whether a def is an invokable function reference M compiler/defutil.pas --- commit 5920d169c096737ad6288a96a37a9377fd8697dc Author: Yuriy Sydorov Date: Fri Aug 6 21:29:05 2021 +0300 * Prevent double release of a temp. M compiler/x86/nx86cnv.pas --- commit 136f0429725919c7759358a0499a4cec09f8a3ad Author: Yuriy Sydorov Date: Fri Aug 6 21:43:10 2021 +0300 * It is still needed to release the temp allocated for the result of an assembler function if the result is not referenced. This fixes some EXTDEBUG warnings. M compiler/hlcgobj.pas --- commit 6a3f32ba6983dfda5250d03b9b2d33c8ffc6022a Author: Yuriy Sydorov Date: Mon Aug 9 18:38:31 2021 +0300 * optimize tests for a single bit "(a and one_bit_mask_const) = <> one_bit_mask_const" into "(a and one_bit_mask_const) <> = 0" to enable further CPU specific optimizations. M compiler/nadd.pas --- commit 10acbca82824b6a3ebf5dd829941da61211f947c Author: Yuriy Sydorov Date: Mon Aug 9 23:49:58 2021 +0300 * x86: Added the "test $-1,%reg" condition to the MovAndTest2Test optimization. M compiler/x86/aoptx86.pas --- commit 306fae299e2b90543f863504cd9a35be802d103e Author: florian Date: Wed Aug 11 22:59:40 2021 +0200 * patch by J. Gareth Moreton: AND/CMP optimisation, resolves #39287 M compiler/x86/aoptx86.pas --- commit 07698050e56747de32c7ce580467cc8bbebb2a28 Author: Yuriy Sydorov Date: Fri Aug 13 13:53:22 2021 +0300 * Before r35961 (back in 2017) some simple assignment optimizations, such as "x:=x+y" to "inc(x,y)", were performed when -O2 in tassignmentnode.simplify. In r35961 these optimizations were moved to a separate pass which is enabled only when -O3 by cs_opt_use_load_modify_store. This separate pass can benefit from other optimization. But worse code is generated with -O2 since then. This commit restores applying of simple assignment optimizations when -O2. M compiler/nld.pas M compiler/optloadmodifystore.pas --- commit dd4b4af6a53514749c8ed329cbd9c41ab6f1b7b5 Author: Karl-Michael Schindler <609203+kamischi@users.noreply.github.com> Date: Sat Aug 14 23:48:45 2021 +0200 compiler/msg/errord*.msg: Update of German error messages M compiler/msg/errord.msg M compiler/msg/errordu.msg --- commit 122ed4b76a4e735ab76b44d52c845879e6fa5535 Author: Yuriy Sydorov Date: Sun Aug 15 14:25:15 2021 +0300 * Support for sleb128 and uleb128 constants in the NASM writer. * Added sleb128tostr() and uleb128tostr() methods to TExternalAssembler. * Use these methods in assembler writers instead of code duplication. M compiler/aggas.pas M compiler/assemble.pas M compiler/x86/agx86nsm.pas M compiler/z80/agsdasz80.pas M compiler/z80/agz80vasm.pas --- commit c78e9557f81f7711a60400f8709b5b1fe017bdd5 Author: Yuriy Sydorov Date: Mon Aug 16 00:31:08 2021 +0300 * Added support for the old Turbo Pascal INLINE(data/data/...) statement. It is available only in the TP mode. M compiler/ncgbas.pas M compiler/pstatmnt.pas M compiler/tokens.pas --- commit 64ddf22e1b77cea0a29d13f5bcd1e09e8bb17ebf Author: Yuriy Sydorov Date: Mon Aug 16 00:40:06 2021 +0300 * TP compatibility: For retro CPUs always copy the function result to the register(s) on function exit if assembler blocks are present. M compiler/pstatmnt.pas --- commit 3ca73da91282ae5ea53ab61ece3301dacb454a43 Author: Yuriy Sydorov Date: Mon Aug 16 17:35:23 2021 +0300 * In TP-style INLINE, allowed the > modifier for global vars and relaxed range checks. M compiler/pstatmnt.pas --- commit 07dcd22b1c812f4dc659995c84c51fc580383a59 Author: Yuriy Sydorov Date: Mon Aug 16 21:53:17 2021 +0300 * sizeof(array) and length(array) must return sizeUint in case the array size does not fit in sizeint. This fixes a range check error during compilation on small CPU targets where allowed array size is 64K, but sizeint is 32K max. M compiler/ncon.pas M compiler/ninl.pas M compiler/pexpr.pas --- commit 838cc89faceda7b5439d6a816da8a3f7567a3855 Author: florian Date: Wed Aug 18 10:34:08 2021 +0200 * properly check if -unpushed should be appended in revision.inc M compiler/Makefile M compiler/Makefile.fpc --- commit 27529a7e748ff7580e0a05865f7738632c61a559 Author: florian Date: Wed Aug 18 15:16:51 2021 +0200 * always use $(GIT) to call git M compiler/Makefile M compiler/Makefile.fpc --- commit aecec2f6df34e7ddc759215a258899a19bb2eed4 Author: Don Date: Thu Aug 19 07:51:36 2021 +0100 Allow custom definition of GIT. M compiler/Makefile M compiler/Makefile.fpc --- commit 0f0b9833fefa846d3291d275d5d78602212c23be Author: florian Date: Thu Aug 19 23:01:00 2021 +0200 * fix change information for popcnt M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 2e608a3dd025db0a270cfdb17a382e46547fe62b Author: florian Date: Fri Aug 20 23:54:49 2021 +0200 * change information for round* fixed M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 61a3f6603d2fac4f4b88cabb5c1ab1361bf6429b Author: florian Date: Fri Aug 20 23:54:49 2021 +0200 * change information for round* fixed M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit b4f939a4ab82eb56fadb74ee53c183d9c814f5c2 Author: florian Date: Sat Aug 21 20:36:29 2021 +0200 * check if git executable really exists M compiler/Makefile M compiler/Makefile.fpc --- commit bc84f780ee3baba239b7cf99b16ac8ad70150c7b Author: Jonas Maebe Date: Sun Aug 22 14:56:19 2021 +0000 Solves #39296: x86-64 parameter zero/sign extension M compiler/x86_64/cpupara.pas A tests/webtbs/tw39296.pp --- commit a73ee4f403dc037bdc0d45e2ae793f55f994771a Author: Jonas Maebe Date: Sun Aug 22 14:56:19 2021 +0000 Solves #39296: x86-64 parameter zero/sign extension M compiler/x86_64/cpupara.pas A tests/webtbs/tw39296.pp --- commit e310be017eb68e356085ffb0495fc1d042aaf294 Author: ccrause Date: Tue Aug 24 17:01:50 2021 +0000 + Add support for -Adefault. * Move help message for option -sT to the correct group of messages. * Use shorter message to indicate switch to external asm. * Adapted -sX messages because -sT doesn't force external assembler writer. M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas M compiler/systems.inc M compiler/systems.pas --- commit 968d00fedf64ee56f23796069752cac3207d48e5 Author: ccrause Date: Tue Aug 24 17:01:50 2021 +0000 + Add support for -Adefault. * Move help message for option -sT to the correct group of messages. * Use shorter message to indicate switch to external asm. * Adapted -sX messages because -sT doesn't force external assembler writer. M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas M compiler/systems.inc M compiler/systems.pas --- commit 9526fc64cde63ce5768ebc21f9cacdbd9b827219 Author: florian Date: Tue Aug 24 23:16:52 2021 +0200 + Aarch64: FMovFMov2FMov 2 optimization M compiler/aarch64/aoptcpu.pas M compiler/avr/aoptcpu.pas --- commit a18a6b4391ee8c0786fdbccf8154949b41be86b1 Author: florian Date: Tue Aug 24 23:16:52 2021 +0200 + Aarch64: FMovFMov2FMov 2 optimization M compiler/aarch64/aoptcpu.pas M compiler/avr/aoptcpu.pas --- commit 4a67f098ee5f2077417ed8b47e6912a0e4794d1e Author: florian Date: Wed Aug 25 10:41:03 2021 +0200 * reverted wrongly committed file M compiler/avr/aoptcpu.pas --- commit c28995494c33ff0cf4c66858e8a7de86e10dc411 Author: florian Date: Wed Aug 25 10:41:03 2021 +0200 * reverted wrongly committed file M compiler/avr/aoptcpu.pas --- commit f134e3b0eec1866a21572feb012813fa14623b87 Author: ccrause Date: Wed Aug 25 20:46:48 2021 +0200 Sorted help options. M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 5ab67753769a4dd11c3d6c4d2356a18a6bf14fba Author: ccrause Date: Wed Aug 25 20:46:48 2021 +0200 Sorted help options. M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 3ce6cae11d0f754038ac31a3249431903a7909c3 Author: Sven Barth Date: Sat Aug 28 17:58:34 2021 +0200 * fix for #39310 by fixing various small issues in tabstractrecordsymtable.has_single_field: - initialize the returned def to a safe default - correctly reset the found symbol for each loop - reset the result when descending into a record + added test M compiler/symtable.pas A tests/webtbs/tw39310.pp --- commit 468975aa3046e252c5ebbf4c9a01088dc7d86952 Author: florian Date: Sun Aug 29 20:38:29 2021 +0200 + move often used floating point constants into registers M compiler/aarch64/cpuinfo.pas M compiler/globtype.pas M compiler/optcse.pas M compiler/psub.pas M compiler/utils/ppuutils/ppudump.pp M compiler/x86_64/cpuinfo.pas --- commit 9305bff861034a05c8919a8dcc3783017eff6c61 Author: florian Date: Sun Aug 29 21:00:51 2021 +0200 * generate a def. file only if really necessary M compiler/options.pas --- commit dca4bde3a2b43a31fa0e6dbc564c823f53a20da2 Author: florian Date: Tue Aug 31 20:28:23 2021 +0200 * unified internal error M compiler/cgobj.pas --- commit 4d8ecfb42270e418060c9de45ac5a1527150c66c Author: florian Date: Tue Aug 31 20:28:23 2021 +0200 * unified internal error M compiler/cgobj.pas --- commit 1f272f8f90cb1fc0a0a9ba3723aad13ebfcc5f03 Author: florian Date: Tue Aug 31 21:24:28 2021 +0200 * we cannot do SSA during partial writes to arrays which span multiple registers, resolves #39325 M compiler/hlcgobj.pas A tests/webtbs/tw39325.pp --- commit 8efae66956c35ef07d5dd817cfa20d6600b6fab7 Author: florian Date: Tue Aug 31 21:24:28 2021 +0200 * we cannot do SSA during partial writes to arrays which span multiple registers, resolves #39325 M compiler/hlcgobj.pas A tests/webtbs/tw39325.pp --- commit 3069d74ecce6a302ef844f6fa2819f46af7eff2d Author: florian Date: Wed Sep 1 21:32:27 2021 +0200 * handle constant folding correctly for ++, resolves #39332 M compiler/nadd.pas A tests/webtbs/tw39332.pp --- commit 2ce34f7bd3a648cfa5c7af111bbd0ef0fc991f8f Author: florian Date: Thu Sep 2 22:03:54 2021 +0200 * do constant folding on div div , resolves #39301 M compiler/nmat.pas --- commit b3bf183fd37dcb46c4a89fc48005cb68dbed4a50 Author: florian Date: Sun Sep 5 16:46:44 2021 +0200 * pass the final name of the compiler executable when compiling the compiler to avoid moving the executable afterwards, this allows proper stack dumps with line numnbers on OSes with external debugging information (darwin) M compiler/Makefile M compiler/Makefile.fpc --- commit d2921dfb55646401ff156f85a7997ba1d17f2d22 Author: florian Date: Sun Sep 5 18:00:11 2021 +0200 * move more node tree optimizations to tcgprocinfo.OptimizeNodeTree M compiler/psub.pas --- commit a5f6505edc01ba35c0fd05c2b048b6ab7aa306af Author: florian Date: Sun Sep 5 21:03:31 2021 +0200 * fix range checking for zero based strings, resolves #39323 M compiler/ncgmem.pas M rtl/inc/astrings.inc M rtl/inc/compproc.inc M rtl/inc/ustrings.inc M rtl/inc/wstrings.inc A tests/webtbs/tw39323.pp --- commit 3cddfb4e2ff9fc38925ce973bd29fe36cef3fc98 Author: florian Date: Sun Sep 5 22:15:57 2021 +0200 * patch by J. Gareth Moreton: x86: SETcc/TEST/SETcc -> SETcc/SETcc optimisation, resolves #39271 M compiler/x86/aoptx86.pas --- commit 6b7df6d22e246a54b7ce60e08ac4474664efe90d Author: Pierre Muller Date: Mon Sep 6 12:54:22 2021 +0200 Add 'treated as Error:' to compiler messages M compiler/comphook.pas --- commit 33ad038bbbf5d724394d5c07aeb4bf7aa7ad71d3 Author: Pierre Muller Date: Mon Sep 6 13:45:33 2021 +0200 * Avoid some wrong error messages after initial error On x86_64-openbsd, cycling with -O3 option fails due to a wrong warning about uninitialized zeros variable in compilation of ogbase unit ogbase.pas(2310,41) Warning: Local variable "zeros" does not seem to be initialized ogbase.pas(2318,39) Error: Can't evaluate constant expression The second message is due to the fact that simplify is not called inside nadd unit if errorcount is non-zero. By replacing errorcount<>0 by not codegenerror, this message disappears. M compiler/nadd.pas --- commit 213a0a704aed3270afbb0c9ec0070e4cbad85d9a Author: Yuriy Sydorov Date: Mon Sep 6 18:49:33 2021 +0300 * Added trgobj.remove_ai(), call it instead of code duplication. No functional changes. M compiler/rgobj.pas --- commit 810de9eacacaad3a7b0093e64f61f4c95aa060c8 Author: Pierre Muller Date: Mon Sep 6 23:31:15 2021 +0200 Try to avoid infinite loop for revision target on svn repo M compiler/Makefile M compiler/Makefile.fpc --- commit 6007ceb9083c0b27313377c19f65dd8fea51fcc6 Author: Yuriy Sydorov Date: Tue Sep 7 20:09:47 2021 +0300 * Patch by J. Gareth "Kit" Moreton (issue #39343). x86 peephole optimization of conditions which are always true or false. M compiler/x86/aoptx86.pas --- commit 9a1ccd2a16a48e980662be44f228d549871e8b22 Author: florian Date: Tue Sep 7 23:05:08 2021 +0200 * x86: ShlOp2Op optimization M compiler/x86/aoptx86.pas --- commit 67b08734cfe4bbe2aa19c4cf4020817abaf74c5d Author: Florian Klämpfl Date: Wed Sep 8 21:06:13 2021 +0200 * to avoid that -Xg causes a failure during comparing ppc3.exe and ppc386.exe on windows, during the last compiler compilation step, the same executable name is used M compiler/Makefile M compiler/Makefile.fpc --- commit 61cf121533572a72ea65a7ec35bed1a5b3621a5b Author: Yuriy Sydorov Date: Thu Sep 9 16:32:55 2021 +0300 * Use a register alias while handling reg deallocs in trgobj.instr_spill_register() to be in sync with commit b96057ad. M compiler/rgobj.pas --- commit 37bb10e893d97f44e4f130c06ad825a2b4693945 Author: florian Date: Thu Sep 9 23:10:21 2021 +0200 * make ShlOp2Op optimization more fool proof M compiler/x86/aoptx86.pas --- commit b4df9dbe1d10937f7e61265cc58cab832f6b8506 Author: Yuriy Sydorov Date: Fri Sep 10 18:06:12 2021 +0300 * Prevent spilling of spill-helper registers which contain the value of a previously spilled register. These helper registers must never be spilled. This fixes failures of the register allocator in rare corner cases. M compiler/rgobj.pas --- commit c7c8e2e0086f1f257af5f4fb927beae687105f4e Author: florian Date: Sat Sep 11 16:24:41 2021 +0200 * nicer spelling M compiler/comphook.pas --- commit 1e072aef31dbc456da749011f2ede30dddd76546 Author: florian Date: Sun Sep 12 10:54:09 2021 +0200 + for loop optimizations can be controller by a switch (-Oo(no)forloop) M compiler/globtype.pas M compiler/psub.pas M compiler/utils/ppuutils/ppudump.pp --- commit 5762e687a3ab8fa55d3d7b14177de991b044e9da Author: florian Date: Sun Sep 12 19:36:27 2021 +0200 * (modified) patch by J. Gareth Moreton: ARM/AArch64 Some short-range LDR/STR optimisations, last part of #38841 M compiler/armgen/aoptarm.pas --- commit 4f77cbbac4accf137ac2683b95f5ee9f7c628ce8 Author: florian Date: Sun Sep 12 19:40:51 2021 +0200 + keep addresses of thread vars in registers if possible and likely an advantage M compiler/optcse.pas --- commit 5e9eb673f8141c2a931e971448cf1264d55e7f04 Author: florian Date: Sun Sep 12 20:28:40 2021 +0200 * x86: only add mm capable consts to register candidate list, this is better than checking when they are assigned M compiler/optcse.pas --- commit 9bd785c06bb6f3b7c1dfe2190cb5fbfcfc6f76d2 Author: florian Date: Mon Sep 13 22:47:26 2021 +0200 * fix handling of -0.0 in sse/avx code, resolves #39357 M compiler/x86/nx86con.pas M compiler/x86/nx86mat.pas A tests/webtbs/tw39357.pp --- commit 5065e4ba50b7bcda40c0c010b404eb228a4d3188 Author: florian Date: Mon Sep 13 22:55:44 2021 +0200 * fix code for ARM FPA, just in case ... M compiler/globals.pas M tests/webtbs/tw39357.pp --- commit 9b4033fa80bff4b50cd2faa83a49aea8ed71c17f Author: J. Gareth "Curious Kit" Moreton Date: Tue Sep 14 13:34:55 2021 +0100 Fast mod M compiler/cgutils.pas M compiler/x86/nx86add.pas M tests/bench/bdiv.pp M tests/bench/bdiv_s32.inc M tests/bench/bdiv_s64.inc M tests/bench/bdiv_u32.inc M tests/bench/bdiv_u64.inc --- commit a7e234254f19327d7053f390ac93d29f53d40803 Author: Yuriy Sydorov Date: Wed Sep 15 00:27:13 2021 +0300 * x86: Do not replace inc/dec with add/sub 1 because this code path is executed only for the C_Z,C_NZ,C_E,C_NE conditions, so inc/dec can be used. M compiler/x86/aoptx86.pas --- commit abe3002b5badb867b33dfe4457e92535b089a954 Author: Yuriy Sydorov Date: Wed Sep 15 00:31:10 2021 +0300 * Fixed lack of the calculation code for the strength reduction optimization. M compiler/optloop.pas --- commit b8befe3d1fd54329845387d8c7109827c55a0b3c Author: Yuriy Sydorov Date: Wed Sep 15 12:25:48 2021 +0300 * Fixed a typo in the condition, though it seems this code path is not used now. M compiler/x86/nx86add.pas --- commit bd4c2064726700790c5c6bdd0a55d3d471dd0c5b Author: Yuriy Sydorov Date: Wed Sep 15 18:07:12 2021 +0300 * Fixed the strength reduction optimization for loops containing 'continue'. The compiler now cycles properly with -O3 -OoSTRENGTH. M compiler/optloop.pas --- commit e121a753e116701c5a8c68f44ca90b296b67b6e8 Author: Florian Klämpfl Date: Wed Sep 15 20:20:00 2021 +0200 * mark temps as deallocated (cherry picked from commit 50452e5707b1d5f8590042ed55fc5f47bce33962) M compiler/x86/nx86add.pas --- commit b2165570de567ccd94e192353900000376492fbd Author: Yuriy Sydorov Date: Wed Sep 15 21:31:04 2021 +0300 * Fixed missing assignments with the strength reduction optimization. M compiler/optloop.pas --- commit 4a7a113a30030675eb50c9b1d0e563b6d0b82c73 Author: Yuriy Sydorov Date: Wed Sep 15 22:29:43 2021 +0300 * x86: Fixed attributes of the LEAVE instruction - it reads EBP. This fixes crashes with -O3s in some cases due to an incorrect peephole optimization. M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/aoptx86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 81e83ffa675a60a8244c2a32723bbb00b70f3e46 Author: florian Date: Wed Sep 15 23:16:53 2021 +0200 * release temp M compiler/x86/nx86inl.pas --- commit 6b26fa0f9a4c6c7f8d12a10737428c443c7750e2 Author: J. Gareth "Curious Kit" Moreton Date: Thu Sep 16 18:06:08 2021 +0100 Added correction to AllocRegBetween M compiler/aoptobj.pas --- commit eda6b105b718d810129c752ec7749d6a8e6132a7 Author: Nikolay Nikolov Date: Thu Sep 16 21:41:54 2021 +0300 + added target flags for the different WebAssembly exception modes that I'm planning to implement M compiler/globtype.pas --- commit 3a242a17f4ad59a3bccdbc1b7982ce92b9dcec76 Author: Nikolay Nikolov Date: Thu Sep 16 21:44:05 2021 +0300 * increased size of ttargetswitchinfo.define to fit the string added in my previous commit M compiler/globtype.pas --- commit cd244cbf7dbd85f2a28b67fabc27455fd23f1e33 Author: Nikolay Nikolov Date: Thu Sep 16 21:48:28 2021 +0300 * fixed compilation of ppudump M compiler/utils/ppuutils/ppudump.pp --- commit 08b07122f8c0a270d4f9ccd1bd925e14402323e7 Author: Nikolay Nikolov Date: Thu Sep 16 22:23:18 2021 +0300 + added usage info to the compiler help screen for the WebAssembly target-specific exception handling modes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit bdbdf2616830ee919a86d5181440b8db1b89ca84 Author: Nikolay Nikolov Date: Thu Sep 16 23:09:20 2021 +0300 + added validation to ensure no more than one WebAssembly exception support mode is enabled + set the NOEXCEPTIONS mode by default for the WebAssembly targets M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas --- commit 4064694a5e438b10d71a24fe5d1d24bad40e4c48 Author: Nikolay Nikolov Date: Fri Sep 17 02:15:56 2021 +0300 + support writing the new tai_tagtype directive in the asm output M compiler/aggas.pas --- commit a83f5749debb1409e18f0ef92b2e81bc9d0adba2 Author: Yuriy Sydorov Date: Fri Sep 17 23:54:41 2021 +0300 * Reverted the accidentally committed debug code in 4a7a113a. M compiler/x86/aoptx86.pas --- commit 962c5bd727fe1930421e1897d0c8aaf6fba6a489 Author: J. Gareth "Kit" Moreton Date: Sat Sep 18 08:30:50 2021 +0000 x86: MOV constant optimisation M compiler/x86/aoptx86.pas M compiler/x86/cpubase.pas --- commit f78818e38727ccefbd1c3b1415d186ca67f34fd4 Author: florian Date: Sat Sep 18 19:24:05 2021 +0200 * some warnings fixed M compiler/pdecl.pas M compiler/pexpr.pas M compiler/symsym.pas --- commit 5a2d884fe3f3f556bec5ae3a74917d31c5ce896c Author: florian Date: Sat Sep 18 19:24:37 2021 +0200 * is_calljmp really means calls and jmp * is_calljmpuncondret includes ret M compiler/x86/aoptx86.pas M compiler/x86/cpubase.pas --- commit 5bcc530707062fc715a4dab703848388d67efd7c Author: florian Date: Sat Sep 18 22:11:03 2021 +0200 * handle - more cleverly if SSE is used M compiler/x86/nx86mat.pas --- commit fc41306c4585c17e34d17a5f3618b59806152fdc Author: florian Date: Sun Sep 19 17:40:11 2021 +0200 * fix alignment issues with - when using SSE M compiler/x86/nx86mat.pas --- commit 59ea39ce75fd1f8f5d3f9cb5afa264c3198d8a96 Author: Nikolay Nikolov Date: Sun Sep 19 18:49:25 2021 +0300 + started the wasmbase unit (similar to elfbase and omfbase) M compiler/ogwasm.pas A compiler/wasmbase.pas --- commit ffc5131087cc627c3ce957de0998d92518a3d958 Author: Nikolay Nikolov Date: Sun Sep 19 19:24:16 2021 +0300 + implemented TWasmObjData.sectionname M compiler/ogwasm.pas --- commit fd4d6b8fc3f139bbb41eaa96d82055b25868ea4b Author: Nikolay Nikolov Date: Sun Sep 19 19:33:33 2021 +0300 + write the wasm binary module header and version M compiler/ogwasm.pas --- commit c200bf531176074e75a0d8efab36ad34886a3cd6 Author: Nikolay Nikolov Date: Sun Sep 19 19:41:27 2021 +0300 * fixed TWasmObjData.sectionname_gas M compiler/ogwasm.pas --- commit 967b721e4ffa310891361e6947a40181e7288d2d Author: Nikolay Nikolov Date: Sun Sep 19 20:09:25 2021 +0300 + enabled the WASM32_INTERNALASM define when compiling with the lazarus project file M compiler/ppcwasm32.lpi --- commit 429454c8f48b197db4f8d25fb382cbc074f23e38 Author: Nikolay Nikolov Date: Sun Sep 19 20:46:45 2021 +0300 + write some debug info to the console in the wasm obj writer M compiler/ogwasm.pas --- commit 698b5de389b0342acb28bc6f753b79aa1b922933 Author: Nikolay Nikolov Date: Sun Sep 19 20:51:33 2021 +0300 + added TWasmObjSection class M compiler/ogwasm.pas --- commit eea8f3277211a2df7cc299dacd03cf600dcd48b5 Author: Nikolay Nikolov Date: Sun Sep 19 20:56:06 2021 +0300 + introduced TWasmObjSection.IsCode and .IsData M compiler/ogwasm.pas --- commit e45d8578e8d8c5ee425f5efc31439f54ffd02ceb Author: Nikolay Nikolov Date: Sun Sep 19 21:04:55 2021 +0300 + count the number of segments and assign segment indices to the wasm sections M compiler/ogwasm.pas --- commit 2563cb6daa45b7b4ff2034f3c383a5c080c5f756 Author: Nikolay Nikolov Date: Sun Sep 19 22:46:54 2021 +0300 + start writing the wasm sections. The DataCount section is the first section to be implemented. M compiler/ogwasm.pas --- commit 8cb92fd49a8f89d830850e3f775550342ccb1a8e Author: florian Date: Sun Sep 19 23:07:59 2021 +0200 * simplify real expressions involving unary minus + test M compiler/nadd.pas A tests/tbs/tb0685.pp --- commit e8c3f5d6b0a19348358d039c2f975c920b39b26e Author: Nikolay Nikolov Date: Sun Sep 19 23:43:45 2021 +0300 + create the data section and the first entry of the import section M compiler/ogwasm.pas --- commit 905f0b1f7819d50eaa2a0cc0e4c9da7e491d6847 Author: Nikolay Nikolov Date: Sun Sep 19 23:56:32 2021 +0300 + add the __stack_pointer global import M compiler/ogwasm.pas --- commit 12796d176d278f11843fde6abbd0935c21eba2da Author: Nikolay Nikolov Date: Mon Sep 20 00:05:28 2021 +0300 + added the indirect function table to the imports section M compiler/ogwasm.pas --- commit 455f603c8c6614f10993047e3c047fb8df3d3f2e Author: Nikolay Nikolov Date: Mon Sep 20 00:14:02 2021 +0300 + debug print the obj symbols to the console M compiler/ogwasm.pas --- commit 3c3120845af13d067111b13bcdae08ce00247333 Author: Nikolay Nikolov Date: Mon Sep 20 03:07:00 2021 +0300 * fixed crash when writing a binary wasm module with a .bss section M compiler/ogwasm.pas --- commit 92592be8e43db53a29b9f12d49efa317fefe844e Author: Nikolay Nikolov Date: Mon Sep 20 04:16:25 2021 +0300 + print more symbol properties to the console M compiler/ogwasm.pas --- commit bb0155141ad1afa1869f503b585f9d29fc5bca6f Author: Nikolay Nikolov Date: Mon Sep 20 04:25:40 2021 +0300 * fixed warning M compiler/ogwasm.pas --- commit b97570c8b3b0e1c0f3b5d6c337b026686d5d8a68 Author: Nikolay Nikolov Date: Mon Sep 20 04:39:10 2021 +0300 + added the TWasmRelocationType enum M compiler/wasmbase.pas --- commit ab0d7697c3038537c983dbedd52046fe27022d70 Author: Nikolay Nikolov Date: Mon Sep 20 04:47:51 2021 +0300 + added the TWasmLinkingSubsectionType enum M compiler/wasmbase.pas --- commit 3e760b33c736290988741ce7354824cab306e952 Author: florian Date: Mon Sep 20 22:30:41 2021 +0200 + more unary minus optimizations * test extended M compiler/nmat.pas M tests/tbs/tb0685.pp --- commit 69d5d648a9630a85a0ba9dbe0f79345152294112 Author: florian Date: Tue Sep 21 23:09:33 2021 +0200 + more unary minus optimizations * test extended M compiler/nmat.pas M tests/tbs/tb0685.pp --- commit 671c674d6513502c0bb5bc477d83d4ee5615738b Author: J. Gareth "Curious Kit" Moreton Date: Wed Sep 22 03:23:20 2021 +0100 Expanding division to 64-bit and tests M compiler/x86/nx86mat.pas M tests/bench/bdiv.pp M tests/bench/bdiv_u32.inc M tests/bench/bdiv_u64.inc --- commit 01d6358f93faadd4ec8f61c1146d6a5178792580 Author: florian Date: Wed Sep 22 22:08:56 2021 +0200 * some fixes for expectloc M compiler/x86/nx86add.pas M compiler/x86/nx86con.pas --- commit 78af12b58483e701da0097898e26335382e4dcb4 Author: Nikolay Nikolov Date: Thu Sep 23 16:19:15 2021 +0300 + added function name to functype hashlist in the wasm objdata class M compiler/ogwasm.pas --- commit 5abfe21f39cf60800c77ee5f22198d94e8341054 Author: florian Date: Thu Sep 23 22:43:51 2021 +0200 + apply unary minus optimizations also to / * test extended M compiler/nmat.pas M tests/tbs/tb0685.pp --- commit a3666aa8c96c198b294bd794cb1fbc6eed2c28dd Author: florian Date: Fri Sep 24 20:10:38 2021 +0200 o manually applied merge request 46 by J. Gareth "Kit" Moreton: + x86_64: XMM-based block move optimisation M compiler/x86/aoptx86.pas M compiler/x86_64/cgcpu.pas --- commit f56aa9abe79fff9dd5f36e5f092aa2629dd1c6fc Author: florian Date: Fri Sep 24 22:27:22 2021 +0200 * set expectloc properly for x87 on x86 M compiler/ncal.pas --- commit 72a49b68cef4c213f089c79fc1d47b2874ba146a Author: Nikolay Nikolov Date: Sat Sep 25 00:39:03 2021 +0300 * fixed the writing of the external functions in the import table M compiler/ogwasm.pas --- commit 27675967f85208af3308f342a4e2ca0d0a8dc0a9 Author: Nikolay Nikolov Date: Sat Sep 25 15:24:30 2021 +0300 * store the funcname to functype index in a TFPHashObjectList, instead of TFPHashList with the index converted to pointer, which was a hack and didn't allow adding more fields, which we would need to do for e.g. import_module and import_name M compiler/ogwasm.pas --- commit 4ef2a889464dcf5b05569da5ef97cc883a4a6938 Author: Nikolay Nikolov Date: Sat Sep 25 15:35:28 2021 +0300 + added method TWasmObjData.AddOrCreateObjSymbolExtraData M compiler/ogwasm.pas --- commit 050519f16fb7f00d857776249fbceab350196b04 Author: Nikolay Nikolov Date: Sat Sep 25 15:44:35 2021 +0300 + handle the import_module and import_name directives in the internal assembler and store them as obj symbol extra data M compiler/assemble.pas M compiler/ogwasm.pas --- commit 7e53fecd092c55b7675af5e6bf5dfafbe9e74da0 Author: Nikolay Nikolov Date: Sat Sep 25 16:00:09 2021 +0300 + handle tai_local in the internal asm writer and store the locals in the wasm obj extra symbol data object M compiler/assemble.pas M compiler/ogwasm.pas --- commit fcb646bc3bae2cd53070cd608bf281b1da534271 Author: Jonas Maebe Date: Sat Sep 25 16:14:30 2021 +0200 obcpas: fix categories implementing protocols Allocate the ImplementedInterfaces array for them and save to/load from ppu Solves #39375 M compiler/ppu.pas M compiler/symdef.pas A tests/webtbs/tw39375.pp --- commit e924dd0d16c13c27bfee35e98376e05bcb887415 Author: Nikolay Nikolov Date: Sat Sep 25 16:53:00 2021 +0300 + generate and write the functions table in the wasm binary module, produced by the internal obj writer M compiler/ogwasm.pas --- commit 6d1df899e61fc69117a2e061b17cfe241d2637f1 Author: Nikolay Nikolov Date: Sat Sep 25 17:40:58 2021 +0300 + write the code section (still, without the actual function code, but with the correct locals) M compiler/ogwasm.pas --- commit dbb6f95ea74a7d510502818c38e9dabbe8784448 Author: Nikolay Nikolov Date: Sat Sep 25 17:49:19 2021 +0300 * replaced TWasmObjData(Data) with FData in TWasmObjOutput.writeData M compiler/ogwasm.pas --- commit cbf444bbbe699581354288d36b27c43ffcb47c17 Author: Nikolay Nikolov Date: Sat Sep 25 18:08:01 2021 +0300 + write the actual function code in the code section M compiler/ogwasm.pas --- commit a5d1ce26a00d1196bea7292c828caa5fb8a93f27 Author: Nikolay Nikolov Date: Sat Sep 25 18:24:01 2021 +0300 + partial implementation of emitting RELOC_FUNCTION_INDEX_LEB relocations M compiler/ogwasm.pas --- commit 12496a638b4c5b1ec45b5435c8db03ea34e851f1 Author: Nikolay Nikolov Date: Sat Sep 25 18:37:10 2021 +0300 + add relocation objects for the RELOC_FUNCTION_INDEX_LEB relocation to the relocation list. They are not written to the object file, yet. M compiler/ogwasm.pas --- commit 8295173f8665ba60a3b6df56581b280b448cf6f4 Author: Nikolay Nikolov Date: Sat Sep 25 19:05:36 2021 +0300 + added enums for the wasm symbol type and constnats for the bitflags M compiler/wasmbase.pas --- commit 8c57d20abc119d71c86bf24088623dbced3565b7 Author: Nikolay Nikolov Date: Sat Sep 25 19:19:12 2021 +0300 + write the linking section (empty for now) M compiler/ogwasm.pas M compiler/wasmbase.pas --- commit 3e984294181d96a590a814476616c1d3e365f458 Author: Jonas Maebe Date: Sat Sep 25 20:59:22 2021 +0200 Revert " * patch by J. Gareth Moreton: Nothing (NOP) node optimisation, resolves #38194" This reverts commit c2ff85ac5ba307d7cc10cae7ee17d479c83c9119. That change duplicates the logic of tstatementnode.simplify in tblocknode.simpify in a very complex way, and in case of issue #39336 results in adding a non-tstatementnode in a tblocknode, which is illegal. If tstatementnode.simplify cannot catch all cases, then that one should preferably be improved instead (and if not possible, we can look into catching those edge cases in tblocknode.simplify rather than duplicating everything). Resolves issue #39336 M compiler/nbas.pas --- commit 2805e44ccb58b9c8a31864c6ccedccbcd024487c Author: florian Date: Sat Sep 25 21:59:47 2021 +0200 * Aarch64: taicpu.spilling_get_operation_type with new instructions extended M compiler/aarch64/aasmcpu.pas --- commit 2d2906205bbbdcc4769ea5587625deb9fa30c83f Author: Nikolay Nikolov Date: Sat Sep 25 22:45:30 2021 +0300 + write the externals to the symbol table M compiler/ogwasm.pas --- commit ad8ed4b48d60ec8becdf5609d9b1a63cfbd1efdd Author: Nikolay Nikolov Date: Sat Sep 25 23:02:48 2021 +0300 + write the non-external functions to the symbol table as well M compiler/ogwasm.pas --- commit 5066a7eb2464ad8d4a9d10bcbb8c848c66c63e78 Author: Nikolay Nikolov Date: Sat Sep 25 23:20:15 2021 +0300 + also write the data symbols to the symbol table M compiler/ogwasm.pas --- commit 217b3ea3cc200030e22b40831a479d5073bb299b Author: Nikolay Nikolov Date: Sat Sep 25 23:30:43 2021 +0300 + write the segment info (names and alignment) to the linking custom section M compiler/ogwasm.pas --- commit 4e4910cb8409adc60bcb4e02d907d75203785a15 Author: Nikolay Nikolov Date: Sat Sep 25 23:47:30 2021 +0300 + write the relocation tables for the code and data sections (empty for now) M compiler/ogwasm.pas --- commit 67cbb7032e1025996309689fc2fb3687c48b64af Author: Nikolay Nikolov Date: Sun Sep 26 00:45:52 2021 +0300 + fully implemented the RELOC_FUNCTION_INDEX_LEB relocations M compiler/ogwasm.pas --- commit 4ebf857ffcf8997a3d5efca9c4f2ae2954d49b09 Author: Nikolay Nikolov Date: Sun Sep 26 03:05:00 2021 +0300 * fixed warning M compiler/ogwasm.pas --- commit 6e7e6326822490236e1c46895221212bd1840366 Author: Nikolay Nikolov Date: Sun Sep 26 03:16:01 2021 +0300 * fixed another warning M compiler/ogwasm.pas --- commit 83f2f7bf375bd50366d8ae859ae88fcdc8ad795d Author: Nikolay Nikolov Date: Sun Sep 26 03:56:56 2021 +0300 + introduced TObjData.SymbolPairDefine, to allow custom handling of symbol pairs in the internal object writer M compiler/aasmbase.pas M compiler/aasmtai.pas M compiler/assemble.pas M compiler/ogbase.pas --- commit acdb65c2a33517d623d8468388f323969a49d946 Author: Nikolay Nikolov Date: Sun Sep 26 04:19:16 2021 +0300 + support tai_symbolpair in the wasm internal obj writer, so that the PASCALMAIN alias of main can be created M compiler/ogwasm.pas --- commit bf5048cb5e9655558802a7f369fee009d33b57e7 Author: Nikolay Nikolov Date: Sun Sep 26 04:46:46 2021 +0300 + support generating R_WASM_TABLE_INDEX_I32 relocations M compiler/ogwasm.pas --- commit 238d09d875d38d19c2ff77a12a8b463ed4a524a8 Author: Nikolay Nikolov Date: Sun Sep 26 05:15:50 2021 +0300 + support writing RELOC_FUNCTION_INDEX_LEB relocations to non-external functions M compiler/ogwasm.pas --- commit bd6bbb6cf4fd0ba52c1447dff58a26dfd98579b9 Author: Nikolay Nikolov Date: Sun Sep 26 05:36:51 2021 +0300 + support writing imports from a different module in the wasm binary object writer M compiler/ogwasm.pas --- commit ea401ccc826b13e56965ea4dbc0b79b8a01bb7f2 Author: Nikolay Nikolov Date: Sun Sep 26 06:27:02 2021 +0300 + support writing R_WASM_MEMORY_ADDR_I32 relocations M compiler/ogwasm.pas --- commit 392ca81c20b781db7c33eba2b8609f71ce90ab15 Author: Nikolay Nikolov Date: Sun Sep 26 09:40:28 2021 +0300 + add threadvar symbols to the symbol table M compiler/ogwasm.pas --- commit efd58317428d3407d7ac5b5986f9674698a4de70 Author: Nikolay Nikolov Date: Sun Sep 26 09:42:12 2021 +0300 * generate an internal error if an attempt is made to emit a R_WASM_MEMORY_ADDR_LEB relocation, that points to code, instead of data M compiler/ogwasm.pas --- commit 2d1ebe4cb3087935ef30467d6d71ca74cb8967da Author: florian Date: Sun Sep 26 09:50:30 2021 +0200 + re-added accidently removed internal error M compiler/aarch64/aasmcpu.pas --- commit 07461d0fc3a36fd6071aaa9bd13f2d651ae0a74d Author: Nikolay Nikolov Date: Sun Sep 26 10:17:19 2021 +0300 * made the constructor of TObjSymbol virtual, so it can be overriden M compiler/ogbase.pas M compiler/ogwasm.pas --- commit c881d057937f8146701634e884a44f58e29d24c4 Author: Nikolay Nikolov Date: Sun Sep 26 10:29:17 2021 +0300 * fixed bug in the code, generated for the RELOC_FUNCTION_INDEX_LEB relocation M compiler/ogwasm.pas --- commit abf831c430aff63659113e53150debbd0bc8724f Author: Nikolay Nikolov Date: Sun Sep 26 11:11:43 2021 +0300 + fixed the addend in the relocations that point to data M compiler/ogwasm.pas --- commit 79f60923bad6ba4e0dec027eacf66a892375fae8 Author: J. Gareth "Kit" Moreton Date: Sun Sep 26 14:09:29 2021 +0000 Bug fix to XMM block move optimisation M compiler/aoptobj.pas M compiler/x86/aoptx86.pas --- commit 15b2f9a7b1482ab9b1abb457066d494f1e18b57b Author: J. Gareth "Curious Kit" Moreton Date: Sun Sep 26 18:08:46 2021 +0100 Changed get_volatile_registers_mm to not return XMM16 to XMM31 when not under AVX512 M compiler/x86_64/cpupara.pas --- commit 2940d0f45f41fd70107d2660a5059f4682833fb4 Author: Nikolay Nikolov Date: Sun Sep 26 18:29:28 2021 +0300 - removed unused constructor of tai_impexp, as well as unused member variable extmodule M compiler/aggas.pas M compiler/wasm32/aasmcpu.pas --- commit 346b57e238953710adbf9b576cba46a5f2e33817 Author: Nikolay Nikolov Date: Sun Sep 26 18:35:10 2021 +0300 * tai_impexp renamed tai_export_name * ait_importexport renamed ait_export_name M compiler/aasmtai.pas M compiler/aggas.pas M compiler/systems/t_wasi.pas M compiler/wasm32/aasmcpu.pas M compiler/wasm32/agwat.pas --- commit 1c8579da2e401ee0dfb54bcbd170130c0a653659 Author: Nikolay Nikolov Date: Sun Sep 26 18:40:49 2021 +0300 * simplified and integrated the WriteImportExport procedure into the case statement. Use similar statements to write the asm code for the export_name, like we use for the import_name directive. M compiler/aggas.pas --- commit 99c84da071bf59d35e0e0ec85f83dc0a2bde7bef Author: Nikolay Nikolov Date: Sun Sep 26 20:02:48 2021 +0300 + generate the export section in the wasm internal obj writer M compiler/assemble.pas M compiler/ogwasm.pas --- commit 2102fbdc97e9cdcdb56bb5e549018454197351c8 Author: Nikolay Nikolov Date: Sun Sep 26 20:13:35 2021 +0300 - removed debug writelns from the wasm internal object writer M compiler/ogwasm.pas --- commit db843287a2d21b94049af809161a9dab8884331c Author: Nikolay Nikolov Date: Sun Sep 26 20:37:34 2021 +0300 + generate funcdef for external procs, that don't have an import dll M compiler/wasm32/nwasmutil.pas --- commit bc76487b878e59133ce3c2cc19ebb13f9a9826ea Author: Nikolay Nikolov Date: Sun Sep 26 20:46:47 2021 +0300 + enable the WebAssembly internal assembler and object writer M compiler/ppcwasm32.lpi M compiler/systems/i_embed.pas M compiler/systems/i_wasi.pas --- commit 77b898fe45cecf6a52176dcdb86ce0f63b9a8f57 Author: Nikolay Nikolov Date: Sun Sep 26 22:21:34 2021 +0300 * use objsym.size to determine the code size of the function (instead of writing until the end of the section) in the wasm internal object writer. This removes the extra padding of 'unreachable' instructions at the end of each function (which are zeroes, added for alignment - they are harmless, but are unnecessary and cause a slight increase of the size of the resulting binaries), after the final 'return' instruction of the function. M compiler/ogwasm.pas --- commit d37117c460f1cb65e6d750d9085f628a0dcec562 Author: Nikolay Nikolov Date: Sun Sep 26 23:10:55 2021 +0300 * use an incrementing counter variable to determine the numbers for the code and data section, so they can be used in the relocation section, without hardcoding them as constants. This will automatically adjust the numbers when we add more sections, or when we make writing some of the sections optional. M compiler/ogwasm.pas --- commit 0bb781c92876ed29bb962e9129a4f9f1c14df412 Author: Nikolay Nikolov Date: Sun Sep 26 23:14:52 2021 +0300 * omit writing the export section if there are no exported functions from the module. This reduces object file size slightly for modules without exports. M compiler/ogwasm.pas --- commit 6fb4b9b7dd751e41d7ef808c31a33e7810169c24 Author: Nikolay Nikolov Date: Sun Sep 26 23:50:02 2021 +0300 + support the 'try' instruction in the wasm internal assembler M compiler/wasm32/aasmcpu.pas --- commit 10db5ea5dc0093161900a4fc88d2905735c3d95f Author: Nikolay Nikolov Date: Sun Sep 26 23:58:21 2021 +0300 + implemented the 'delegate' and the 'rethrow' instructions in the wasm internal assembler M compiler/wasm32/aasmcpu.pas --- commit a1c8e92904f3504fe6c3a7140134b910aadc04d9 Author: Nikolay Nikolov Date: Mon Sep 27 00:33:57 2021 +0300 * emit a tai_tagtype for __FPC_exception instead of hardcoding the asm output directly when wasm native exceptions are enabled M compiler/aggas.pas M compiler/wasm32/agllvmmc.pas M compiler/wasm32/nwasmutil.pas --- commit 8226233aa3f6265e9c29b120493fd1fff3e6b5ee Author: Nikolay Nikolov Date: Mon Sep 27 02:39:43 2021 +0300 * introduced the tai_globaltype asm directive, use that to declare the stack pointer global symbol M compiler/aasmtai.pas M compiler/aggas.pas M compiler/wasm32/aasmcpu.pas M compiler/wasm32/agllvmmc.pas M compiler/wasm32/nwasmutil.pas --- commit 812732cb6ad97a11c9aa8f2b0767f8dda2dd29e5 Author: Nikolay Nikolov Date: Mon Sep 27 02:52:29 2021 +0300 + introduced the AT_WASM_GLOBAL asm symbol type M compiler/aasmbase.pas M compiler/wasm32/hlcgcpu.pas --- commit 5ad2d47e236b80d0d091667a665c6a4da736c1f6 Author: Nikolay Nikolov Date: Mon Sep 27 03:03:57 2021 +0300 * track wasm global types in the internal object writer M compiler/assemble.pas M compiler/ogwasm.pas --- commit 2bce4d36db45ada7533f2e6d3d42d84d5b58b711 Author: Nikolay Nikolov Date: Mon Sep 27 04:24:49 2021 +0300 + proper support for WASM globals in the internal object writer - emit relocations, generate a Global section, if they are declared in the object file, etc. M compiler/ogbase.pas M compiler/ogwasm.pas M compiler/wasm32/aasmcpu.pas --- commit e85aff2b967839b9597ed00d613c268d1a6ccf50 Author: Nikolay Nikolov Date: Mon Sep 27 04:53:35 2021 +0300 * combined TWasmObjSymbol.ImportIndex and .FuncIndex into just .FuncIndex, because there's no point in having them separate, and the name ImportIndex is misleading, as there are multiple import indices (they are separate for functions, globals, tables, memories, etc.) M compiler/ogwasm.pas --- commit 7b3154911931d4b92c619c207e37194057c00b68 Author: Nikolay Nikolov Date: Mon Sep 27 05:17:20 2021 +0300 * the data section is now only written by the internal wasm object writer, when there are data segments in the module M compiler/ogwasm.pas --- commit b46c010f82aae51435dda77ca93d91b1401b0203 Author: Nikolay Nikolov Date: Mon Sep 27 05:40:26 2021 +0300 + also support immutable wasm globals in the wasm assembler writer (both internal and external) M compiler/aggas.pas M compiler/ogwasm.pas M compiler/wasm32/aasmcpu.pas M compiler/wasm32/nwasmutil.pas --- commit e0ad427b6c83a334362f42f8d1d3782963f76fa3 Author: Nikolay Nikolov Date: Mon Sep 27 17:38:28 2021 +0300 + introduced the FPC_EXCEPTION_TAG_SYM string constant M compiler/wasm32/cpubase.pas M compiler/wasm32/nwasmutil.pas --- commit 82b6450f198b15bd2823554d47a275eb836c9933 Author: Nikolay Nikolov Date: Mon Sep 27 17:49:30 2021 +0300 + introduced the AT_WASM_EXCEPTION_TAG asm symbol type, use that for specifying the parameter to the 'throw' and 'catch' instructions M compiler/aasmbase.pas M compiler/wasm32/itcpugas.pas M compiler/wasm32/nwasmflw.pas M compiler/wasm32/nwasminl.pas --- commit b463f2a141166cc739f27e5c93c9274db683ad2d Author: Nikolay Nikolov Date: Mon Sep 27 21:44:09 2021 +0300 + added support for exception tags and for the 'throw' and 'catch' instructions in the wasm internal assembler and object writer M compiler/aggas.pas M compiler/assemble.pas M compiler/ogbase.pas M compiler/ogwasm.pas M compiler/wasm32/aasmcpu.pas M compiler/wasm32/nwasmutil.pas M compiler/wasmbase.pas --- commit ec0bdfbdd9235119d210efaf7243b0ce2c9decff Author: Nikolay Nikolov Date: Tue Sep 28 00:19:13 2021 +0300 * fill exceptstate variables and update flowcontrol in twasmexceptionstatehandler_nativeexceptions.new_exception - removed the TODO comment, generated in the asm output by twasmexceptionstatehandler_nativeexceptions.free_exception M compiler/wasm32/cpupi.pas --- commit f701d2f29498bb4766d814265995bad14c68ad13 Author: Nikolay Nikolov Date: Tue Sep 28 01:11:01 2021 +0300 + support in_wasm32_throw_fpcexception in twasminlinenode.pass_typecheck_cpu M compiler/wasm32/nwasminl.pas --- commit cdf1ceca765df8b62d4888981cc27f023978c39d Author: Nikolay Nikolov Date: Tue Sep 28 02:52:40 2021 +0300 * emit a weak symbol for the exception tag, since that's what the LLVM linker wants to treat them as shared between .o files M compiler/aasmbase.pas M compiler/aasmtai.pas M compiler/ogbase.pas M compiler/ogwasm.pas M compiler/wasm32/nwasmflw.pas M compiler/wasm32/nwasminl.pas M compiler/wasm32/nwasmutil.pas --- commit 21fd8cd5d3f98ecdd2847aa3bb43cce64af8f7b9 Author: Nikolay Nikolov Date: Tue Sep 28 03:01:09 2021 +0300 * updated ppudump with the new asm symbol types and binding types M compiler/utils/ppuutils/ppudump.pp --- commit c9fd115ec575728f9a8b3966b5de73f1477ea549 Author: Nikolay Nikolov Date: Tue Sep 28 03:29:45 2021 +0300 * fixes to the try..finally code generation in wasm native exceptions mode M compiler/wasm32/nwasmflw.pas --- commit 0c3e179652842f9f65b810ff64447aefaa9d76f4 Author: Nikolay Nikolov Date: Tue Sep 28 03:59:38 2021 +0300 - 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 M compiler/wasm32/nwasmflw.pas M rtl/inc/compproc.inc M rtl/wasm32/except_native.inc --- commit 99e449eaa1b34d4d45df59600ea65cd8c82b2e7f Author: Nikolay Nikolov Date: Tue Sep 28 04:11:16 2021 +0300 * decblock moved after end_try, instead of after catch M compiler/wasm32/nwasmflw.pas --- commit f2abce7ea58decf10255bdfea14740578068dd4a Author: Nikolay Nikolov Date: Tue Sep 28 20:23:27 2021 +0300 + initial implementation of try..except..end in wasm native exceptions mode. The 'on' statements are not implemented yet. M compiler/wasm32/nwasmflw.pas --- commit ef738f01cf32f00fdd58c7687dca7581fd54126b Author: Nikolay Nikolov Date: Tue Sep 28 20:39:47 2021 +0300 * fixed warning M compiler/wasm32/nwasmflw.pas --- commit 0e647a073e5978f2e6aefafc0b034b187dbffce7 Author: Nikolay Nikolov Date: Tue Sep 28 21:23:49 2021 +0300 + override the 'on' node for WebAssembly M compiler/wasm32/nwasmflw.pas --- commit 7ce1a7c6a0722dcfb6db9f2c2c3a0a54e4a5fc8d Author: florian Date: Tue Sep 28 23:13:12 2021 +0200 * x86_64-linux doesn't need .data.rel.ro either M compiler/aggas.pas --- commit 6e7f0744ca11202c2defc6c7dfdd5863245612c8 Author: Nikolay Nikolov Date: Tue Sep 28 23:55:10 2021 +0300 + implemented the 'on' node for WebAssembly in native exceptions mode M compiler/wasm32/cpupi.pas M compiler/wasm32/nwasmflw.pas --- commit 99dbbcadcd19d4babe656949c20a5c643dd22a70 Author: Nikolay Nikolov Date: Wed Sep 29 00:04:23 2021 +0300 + generate functype directives for all functions in all used units, regardless of whether they have paraloc info created. This fixes linking of WebAssembly programs that declare their own classes, because that causes the compiler to generate a VMT, containing references to virtual methods, and these don't necessarily have paraloc info (if they're not called from within the program) M compiler/wasm32/nwasmutil.pas --- commit 6e6c946e0fd1765f99110e12c79db27a400c6587 Author: Nikolay Nikolov Date: Wed Sep 29 00:16:23 2021 +0300 * the fpc_Catches result test code was inverted M compiler/wasm32/cpupi.pas --- commit 95243ed6ede742a891297e91d687bf510c9f31e0 Author: Nikolay Nikolov Date: Wed Sep 29 03:48:31 2021 +0300 + implemented sqrt via the f32.sqrt and f64.sqrt instructions M compiler/wasm32/nwasminl.pas --- commit f42817d1a2d3a3efa595c90d58aa82aa57f77cc8 Author: Nikolay Nikolov Date: Wed Sep 29 03:56:13 2021 +0300 * fixed opcode generation for the f32.const in the WebAssembly internal asm M compiler/wasm32/aasmcpu.pas --- commit 8822be8a1f1c1b6affca58be1bf337be4c345bb1 Author: Nikolay Nikolov Date: Wed Sep 29 04:04:03 2021 +0300 + implemented abs(real) for WebAssembly via the f32.abs and f64.abs instructions M compiler/wasm32/nwasminl.pas --- commit d84a7d1bdedae4f5bdb31c406c4f052ff728aaab Author: Nikolay Nikolov Date: Wed Sep 29 04:19:10 2021 +0300 + implemented int(real) for WebAssembly via the f32.trunc and f64.trunc instructions M compiler/wasm32/nwasminl.pas --- commit f6b4a54f7d2de15793e3da1a477d1ef274f31cb4 Author: Nikolay Nikolov Date: Wed Sep 29 04:57:19 2021 +0300 * fixed output of 32-bit floating point constants in the llvm-mc asm output M compiler/wasm32/agllvmmc.pas --- commit 835bc62e2a8aa887170510ecc2ebdadee27bb4e7 Author: Nikolay Nikolov Date: Wed Sep 29 05:07:43 2021 +0300 + implemented trunc(real) for WebAssembly via the i64.trunc_f32_s and i64.trunc_f64_s instructions M compiler/wasm32/nwasminl.pas --- commit 91d8009b531b61d41604406e3a6a94e92f1b9c41 Author: Nikolay Nikolov Date: Wed Sep 29 05:27:27 2021 +0300 + implemented round(real) for WebAssembly via the fXX.nearest and i64.trunc_fXX_s instructions M compiler/wasm32/nwasminl.pas --- commit 1f19b113983906e1cbffd428eba4488e78b4cdeb Author: J. Gareth "Kit" Moreton Date: Wed Sep 29 18:32:31 2021 +0000 x86_64: Fix to tw8573 overflow bug under -Cg option M compiler/x86/aoptx86.pas A tests/webtbs/tw8573a.pp --- commit abd494624bf2e722938b14f2eb01ba91f4227799 Author: florian Date: Wed Sep 29 22:29:47 2021 +0200 * properly search in GetMMRegisterBetween and GetIntRegisterBetween for usable volatile registers (low() .. high( Date: Fri Oct 1 02:43:55 2021 +0300 * fixed code generation for 'boolean64 and/or boolean64' for WebAssembly M compiler/wasm32/nwasmadd.pas --- commit 2e5b895d70f68daaafe52ecee8a66736b055decf Author: Nikolay Nikolov Date: Fri Oct 1 02:47:08 2021 +0300 * fixed WebAssembly code generation for 'if boolean64 then ... else ...' M compiler/wasm32/nwasmflw.pas --- commit c6a549eb487f3bb5b0578a56f08db35559764b0d Author: Nikolay Nikolov Date: Fri Oct 1 02:57:04 2021 +0300 * int64/boolean64 fix in twasmtypeconvnode.second_int_to_bool M compiler/wasm32/nwasmcnv.pas --- commit 188a21bbfdbbd2c5c0a2b6a8232bf5da9f6ffb90 Author: Nikolay Nikolov Date: Fri Oct 1 03:01:55 2021 +0300 * fixed 'not(boolean64)' for WebAssembly M compiler/wasm32/hlcgcpu.pas --- commit 968e23546c6614cff0607478721e181800ac38b4 Author: Nikolay Nikolov Date: Fri Oct 1 04:20:02 2021 +0300 * fixed second_int_to_bool for cbool types for WebAssembly M compiler/wasm32/nwasmcnv.pas --- commit baf5ff4e05987a027d8912aa231ecd3c79147dd1 Author: Nikolay Nikolov Date: Fri Oct 1 04:40:50 2021 +0300 * another WebAssembly cbool fix in twasmtypeconvnode.second_int_to_bool M compiler/wasm32/nwasmcnv.pas --- commit 4fc763ac5033ae56e908ee263d538950f71e544d Author: Nikolay Nikolov Date: Fri Oct 1 04:54:17 2021 +0300 * fixed WebAssembly cbool support for OP_NOT M compiler/wasm32/hlcgcpu.pas --- commit d2726c240648a1db264cab515969672355746c97 Author: Nikolay Nikolov Date: Fri Oct 1 05:17:12 2021 +0300 * fixed WebAssembly code generation for not(cbool64) M compiler/wasm32/hlcgcpu.pas --- commit 177b38dfe9423dd714a99e9fc34abaa7f032df66 Author: florian Date: Fri Oct 1 23:05:48 2021 +0200 * modified (cosmetics) patch by Rika: replace DJB2 with MurmurHash3, resolves #39377 M compiler/cclasses.pas --- commit b5c7997c88f39c0803a8a5f48188848843f9cc6d Author: florian Date: Sat Oct 2 15:37:34 2021 +0200 + Aarch64: AndCmpB.E/NE2Tbnz/Tbz optimization M compiler/aarch64/aasmcpu.pas M compiler/aarch64/aoptcpu.pas --- commit c1d8e32eaedd102759c3b5132228aaf493026b8d Author: florian Date: Sat Oct 2 16:07:00 2021 +0200 + Aarch64: LdrMov2Ldr optimization M compiler/aarch64/aoptcpu.pas --- commit 39164ad732ea12af79ecf267172146569297aa1a Author: florian Date: Sat Oct 2 16:15:19 2021 +0200 * cleanup M compiler/aarch64/aoptcpu.pas --- commit cc5ee6b868935bbc3fe22c349b9c312029d88523 Author: florian Date: Sat Oct 2 16:24:47 2021 +0200 + comments M compiler/aarch64/aoptcpu.pas --- commit 4b39f7dea0383c96f62f381ab46f866bd8e2270f Author: J. Gareth "Kit" Moreton Date: Sat Oct 2 19:32:44 2021 +0000 x86: Missed logic with CMP and MOV optimisations M compiler/x86/aoptx86.pas --- commit 026d23632aa3343756ebf454d4d0961048d34fcc Author: Nikolay Nikolov Date: Sat Oct 2 19:35:26 2021 +0300 + added the memory.copy and memory.fill WebAssembly instructions M compiler/systems.pas M compiler/wasm32/aasmcpu.pas M compiler/wasm32/agllvmmc.pas M compiler/wasm32/cpubase.pas M compiler/wasm32/itcpugas.pas M compiler/wasm32/strinst.inc --- commit 85207e94f8e4a1904a67ba2a3be06f7b69ef146c Author: Nikolay Nikolov Date: Sat Oct 2 19:40:36 2021 +0300 + added inline numbers for a memory.copy and a memory.fill intrinsic M compiler/wasm32/ccpuinnr.inc M rtl/wasm32/cpuinnr.inc --- commit 2e3e3edb5fb5b137c79875e5f018e456fdd8c664 Author: Nikolay Nikolov Date: Sat Oct 2 20:31:37 2021 +0300 + implemented FillChar for WebAssembly via the memory.fill instruction M compiler/wasm32/nwasminl.pas M rtl/wasm32/cpuh.inc M rtl/wasm32/wasm32.inc --- commit 3258937d97b8ca6a4ea6b6556fe46664da9d65fa Author: Nikolay Nikolov Date: Sat Oct 2 21:33:28 2021 +0300 + implemented move() for WebAssembly via the memory.copy instruction M compiler/wasm32/nwasminl.pas M rtl/wasm32/cpuh.inc M rtl/wasm32/wasm32.inc --- commit cc2fa67dfa475710c57c4b3b73631a0f3a959e3f Author: Nikolay Nikolov Date: Sat Oct 2 22:10:34 2021 +0300 * fixed OS_S8 to OS_16 conversion for WebAssembly. This fixes test/cg/tcnvint6 M compiler/wasm32/hlcgcpu.pas --- commit c450b63f1ccd696c8034142a985222d3f01895f4 Author: Nikolay Nikolov Date: Sat Oct 2 22:42:20 2021 +0300 + enabled compilation of the fpintres unit for the WASI target and enabled tf_has_winlike_resources for the target M compiler/systems/i_wasi.pas M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc --- commit 020a58b0750902e161a29bb1f8218052ddcd2d54 Author: Nikolay Nikolov Date: Sat Oct 2 23:14:24 2021 +0300 + added system_wasm32_embedded to systems_embedded M compiler/systems.pas --- commit c1eeb8beda0df3f74741677df85259e86b0a789f Author: Nikolay Nikolov Date: Sun Oct 3 00:49:32 2021 +0300 + use the aasmdef unit in wasm32/cpunode.pas M compiler/wasm32/cpunode.pas --- commit 6f88919f3775a94c3df98f6b3d2c03f885202e03 Author: Nikolay Nikolov Date: Sun Oct 3 00:59:11 2021 +0300 - don't set casmdata in wasm32/aasmcpu.pas, so that the aasmdef unit can override it M compiler/wasm32/aasmcpu.pas --- commit 0a383d8c0f50bf3ed3333dd57f295864fca02cae Author: Nikolay Nikolov Date: Sun Oct 3 02:27:19 2021 +0300 * fixed WebAssembly method pointer assignment M compiler/ncgld.pas M compiler/wasm32/hlcgcpu.pas --- commit 5adec3ca98120bc2c4110ebe354dfc50d7095ebe Author: Nikolay Nikolov Date: Sun Oct 3 03:16:34 2021 +0300 + workaround for WebAssembly treating the stack parameter of the store and load instructions as unsigned. This caused an 'out of bounds memory access' trap when accessing arrays with negative offset index, e.g. in test/cg/tvec.pp M compiler/wasm32/hlcgcpu.pas --- commit 41db71c21c1c00dc83de8113ad0b35f5250ca2e0 Author: Nikolay Nikolov Date: Sun Oct 3 04:37:13 2021 +0300 + implemented the <= operator for smallsets for WebAssembly M compiler/wasm32/nwasmadd.pas --- commit 3fb0fab410ac4c791227d74c1bbd8ceb45f653b8 Author: Jonas Maebe Date: Sun Oct 3 13:59:33 2021 +0200 Fix bitpacking 62/63 bit fields on 64 bit targets As reported on the lazarus forum: * https://forum.lazarus.freepascal.org/index.php?topic=56341.new * https://forum.lazarus.freepascal.org/index.php/topic,56339.msg418608/topicseen.html Also optimized nextpowerof2 in the compiler M compiler/cutils.pas M compiler/symdef.pas A tests/test/tprec25.pp --- commit b00c0e44a596bdf167ded7900b3ba71ea903591f Author: Nikolay Nikolov Date: Sun Oct 3 18:16:11 2021 +0300 + support equality comparison of smallsets on the Z80 M compiler/z80/nz80add.pas --- commit 890b899842b741f54f5191ff369c8a97a89ac845 Author: Nikolay Nikolov Date: Sun Oct 3 18:33:00 2021 +0300 + support the <= and >= operators for smallsets on the Z80 M compiler/z80/nz80add.pas --- commit 2e8c99947a978f8614d4075b1ee0d9caac4945aa Author: florian Date: Sun Oct 3 18:40:20 2021 +0200 * define DEBUG_AOPTCPU if EXTDEBUG is used M compiler/aarch64/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit 190c77e8633d185d983e3e59d62443bd443bb807 Author: J. Gareth "Curious Kit" Moreton Date: Sun Oct 3 19:45:22 2021 +0100 Fixed bug where hp1 object was used after being freed M compiler/x86/aoptx86.pas --- commit ab01b0ebd72c646b66a6bb3fd55ed717b9852541 Author: Jonas Maebe Date: Sun Oct 3 21:35:55 2021 +0200 Typed constants: no internalerror on failure Don't check whether the expression queue is empty in the destructor in case there was an error. Also improved error messages (constant expression instead of variable expression expected). Resolves #39393 M compiler/aasmcnst.pas M compiler/ngtcon.pas A tests/webtbf/tw39393.pp --- commit 494dac5db57f60073f2d538f66b6570b9fd05beb Author: florian Date: Sun Oct 3 23:16:55 2021 +0200 + x86: MovOp2Op optimization M compiler/x86/aoptx86.pas --- commit 2577180b935364b1a84ee8d38f8f6a42c0b812b0 Author: Nikolay Nikolov Date: Mon Oct 4 00:10:31 2021 +0300 + introduced WebAssembly branchful exceptions M compiler/globtype.pas M compiler/msg/errore.msg A compiler/msg2inc M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 1011c31a80e0ea9e67497b335a8293a49cbdecb7 Author: Nikolay Nikolov Date: Mon Oct 4 00:15:27 2021 +0300 + increase string type to avoid const string truncation M compiler/globtype.pas --- commit 9a85ac204ce5e0996478c0c4ede0138ab5ecab15 Author: Nikolay Nikolov Date: Mon Oct 4 00:28:31 2021 +0300 + fixed compilation of ppudump M compiler/utils/ppuutils/ppudump.pp --- commit 3989a01968ddee76110556f2cb2390da751b9694 Author: Nikolay Nikolov Date: Mon Oct 4 00:34:18 2021 +0300 - removed msg2inc. Stupid git added it without my consent. D compiler/msg2inc --- commit c745ae4836a0f19a1733347f208d263d1a5829e5 Author: Jonas Maebe Date: Mon Oct 4 20:55:56 2021 +0200 AArch64 popt: don't replace registers with X/WZR Most arithmetic/logica instructions don't support X/WZR as operand (since you should use movk with the calculated constant in that case) Resolves #39372 M compiler/armgen/aoptarm.pas A tests/webtbs/tw39372.pp --- commit 7778d20003ab3b62779243cfde33bd0b129bb61f Author: Pierre Muller Date: Mon Oct 4 21:08:24 2021 +0000 Avoid range check error in TCpuAsmOptimizer.OptPostAnd method M compiler/aarch64/aoptcpu.pas --- commit 01a449c807e4ad9a4142977ee86b16d6461ad256 Author: florian Date: Mon Oct 4 22:11:08 2021 +0200 + debug msg added M compiler/x86/aoptx86.pas --- commit 1e136b0cc7ff37f900adcb91b2783962cf9d7622 Author: florian Date: Mon Oct 4 22:18:53 2021 +0200 * bail out early in MatchInstruction M compiler/x86/aoptx86.pas --- commit 5124ab2521defb4623b6866e4d5c36726ab74608 Author: Nikolay Nikolov Date: Tue Oct 5 00:35:54 2021 +0300 * 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) M compiler/options.pas M compiler/wasm32/cpupi.pas M compiler/wasm32/nwasmflw.pas M compiler/wasm32/nwasmutil.pas M rtl/inc/compproc.inc M rtl/inc/objpas.inc A rtl/wasm32/except_branchful.inc --- commit 6599f1d898003773f70c24898419f4bf6bef78ee Author: Nikolay Nikolov Date: Tue Oct 5 01:01:24 2021 +0300 - don't generate any WebAssembly native exception handling instructions, nor relocations, when compiling in branchful exceptions mode. This produces a currently not working, but accepted by wasmtime binary (otherwise, it complains it doesn't support exceptions and refuses to try to run it). M compiler/wasm32/nwasmflw.pas M compiler/wasm32/nwasmutil.pas --- commit d02921d66b14ea499ef783a834388be1322620ff Author: Nikolay Nikolov Date: Tue Oct 5 01:07:37 2021 +0300 + introduced raiseBr, similar to exitBr, but will point to the current innermost exception handler, if there is such a handler in the current procedure, otherwise it will be the same as exitBr. M compiler/wasm32/hlcgcpu.pas --- commit 5be1bfeecad2af3cc4acad908fa649849a231bf7 Author: Nikolay Nikolov Date: Tue Oct 5 01:11:31 2021 +0300 + added comment that states that raiseBr is only used in branchful exceptions mode M compiler/wasm32/hlcgcpu.pas --- commit 7afb665c92e9e1787c518c1fbd6d205476b36d04 Author: Nikolay Nikolov Date: Tue Oct 5 02:26:13 2021 +0300 + insert exception flag check and branch after each function call, when compiling in WebAssembly branchful exceptions mode M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasmcal.pas M rtl/inc/compproc.inc M rtl/wasm32/except_branchful.inc --- commit 7ce19c1ad78a75d84765790f077f228b448129de Author: Nikolay Nikolov Date: Tue Oct 5 02:47:49 2021 +0300 + implemented try..finally in branchful exceptions mode M compiler/wasm32/nwasmflw.pas --- commit a5dcd1c44ddeac28ca8fda44f6d60e3b179266e4 Author: Nikolay Nikolov Date: Tue Oct 5 03:14:58 2021 +0300 + initial implementation of try..except in branchful exceptions mode M compiler/wasm32/nwasmflw.pas --- commit 464b3ebbed39dd87480513372caadb5214fb1e3e Author: Nikolay Nikolov Date: Tue Oct 5 03:25:03 2021 +0300 + implemented the 'on' node code generation (try except 'on' ...) for the branchful exceptions mode M compiler/wasm32/nwasmflw.pas --- commit f7b1ec24352fc4eb77adb23ec70fa47388734c75 Author: Nikolay Nikolov Date: Tue Oct 5 03:38:33 2021 +0300 + call g_checkexceptions after calls to fpc_reraise and fpc_raise_nested in branchful exceptions mode M compiler/wasm32/nwasmflw.pas --- commit bab60d819ffdd3c7fa6081634ebf89ee130cc61e Author: J. Gareth "Curious Kit" Moreton Date: Tue Oct 5 04:23:33 2021 +0100 * x86: Refactored CMOV optimisations and permitted the use of constants in some cases. M compiler/aoptobj.pas M compiler/x86/aoptx86.pas --- commit 7110d1e48e8fe40a95738cb993cb06fdf535afaa Author: Nikolay Nikolov Date: Tue Oct 5 05:29:10 2021 +0300 * use 'br_if' instead of 'if br end_if' sequence in the code, generated by thlcgwasm.g_checkexceptions M compiler/wasm32/hlcgcpu.pas --- commit cf7ad98dbfcaf699983d813452a0a5dabe68818c Author: Nikolay Nikolov Date: Tue Oct 5 06:25:32 2021 +0300 + support exception object cleanup, when 'exit', 'break' or 'continue' is used in the except 'on' statements, in branchful WebAssembly exceptions mode M compiler/wasm32/nwasmflw.pas --- commit 023f08d54bef139841faaf7c954732498e139277 Author: Nikolay Nikolov Date: Tue Oct 5 06:45:31 2021 +0300 + exception cleanup when break, continue or exit is used inside a try .. except 'on' block, in WebAssembly native exceptions mode M compiler/wasm32/nwasmflw.pas --- commit 674ed4069a2fdf69362353707cbfa08fa222d998 Author: J. Gareth "Curious Kit" Moreton Date: Tue Oct 5 07:16:41 2021 +0100 Expanded MM block move to include YMM registers under AVX M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit ddbdc529b1e3d99244e2d0cedcb20195c0fb55e7 Author: Nikolay Nikolov Date: Tue Oct 5 07:19:24 2021 +0300 + proper exception cleanup for try except blocks that use exit, break or continue in WebAssembly branchful exceptions mode M compiler/wasm32/nwasmflw.pas --- commit 99ab6bd56d4d60aa3cf5ec2680514a143da4dd1b Author: Nikolay Nikolov Date: Tue Oct 5 07:41:42 2021 +0300 + proper exception object cleanup when using break, continue or exit in try except blocks in WebAssembly native exceptions mode M compiler/wasm32/nwasmflw.pas --- commit 04a41fa5b08de0a837f11af30cfe9091c36a2830 Author: Nikolay Nikolov Date: Tue Oct 5 07:43:47 2021 +0300 - removed duplicated assignment M compiler/wasm32/nwasmflw.pas --- commit fab4ca449bb6ba351500c5443a3e9c0567ba19eb Author: Nikolay Nikolov Date: Tue Oct 5 07:54:57 2021 +0300 * twasmexceptionstatehandler_nativeexceptions.handle_nested_exception and twasmexceptionstatehandler_bfexceptions.handle_nested_exception should not be called, so now they cause an internal error M compiler/wasm32/cpupi.pas --- commit 3c58f26e83b91e2d79e894b03403d469073c7113 Author: Nikolay Nikolov Date: Tue Oct 5 17:54:35 2021 +0300 * thlcgwasm.g_checkexceptions renamed .g_maybe_checkforexceptions, added also as an empty virtual method in thlcgobj and modified the WebAssembly implementation, so that it can be called from any exceptions mode (so it emits no code in exception modes that don't require it, instead of generating an internal error). This will allow .g_maybe_checkforexceptions to be called from the generic parts of the code generator, after calls to systemprocs that could raise an exceptions. M compiler/hlcgobj.pas M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasmcal.pas M compiler/wasm32/nwasmflw.pas --- commit 074ce9c50fa5d97afd1ebff5720ece287f767f6e Author: Nikolay Nikolov Date: Tue Oct 5 18:02:11 2021 +0300 + added call to g_maybe_checkforexceptions after generating call to fpc_iocheck M compiler/ncgcal.pas --- commit d5867793f6d16bde39e0e209a11741ba8d8b0388 Author: florian Date: Wed Oct 6 21:23:25 2021 +0200 * partially applied patch by J. Gareth "Kit" Moreton to inline parts of cclasses, resolves #39344 M compiler/cclasses.pas --- commit ec40db3da7ab1d8143b4276518416aa2816d792e Author: florian Date: Wed Oct 6 21:57:24 2021 +0200 + (V)Cvtss2CvtSd(V)Cvtsd2ss2Nop optimization, resolves #39360 M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 4752230c8f5f5f51774b90e52ceec3a142b3f62d Author: florian Date: Thu Oct 7 23:09:35 2021 +0200 * use source register as second register in VCVTSD2SS and VCVTSS2SD, this should break dependency chains better and resolves partially #39360 M compiler/x86/aoptx86.pas M compiler/x86/cgx86.pas --- commit 6bf4c7a68d2491971350170e80414a07e11ab4f5 Author: Yuriy Sydorov Date: Fri Oct 8 16:51:42 2021 +0300 * Optimized evaluation of the condition. M compiler/optloop.pas --- commit 7388735b11726d1263de7058d7492d9f87f9bcb4 Author: Yuriy Sydorov Date: Fri Oct 8 18:04:03 2021 +0300 * Strength reduction optimization: - Use a temp for complex loop start values to prevent double evaluation. - For slow CPUs perform the optimization for all sizes of array elements. M compiler/optloop.pas --- commit b4bf371b34b19d4505b8a330a1b9250047a4b8ca Author: florian Date: Fri Oct 8 22:58:41 2021 +0200 * generate VMOVAPS for (V)Cvtss2CvtSd(V)Cvtsd2ss optimization, resolves #39360 M compiler/x86/aoptx86.pas --- commit 344da9597f1dc072a634820a9431146d0b7c60f7 Author: Nikolay Nikolov Date: Fri Oct 8 23:50:28 2021 +0300 + added the current WebAssembly exceptions mode to the .ppu module flags and perform a check to ensure all units are compiled in the same exceptions mode as the main program M compiler/fppu.pas M compiler/globtype.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 8f68988aefeec865263dfecb29140de582470949 Author: florian Date: Sat Oct 9 14:24:14 2021 +0200 * another location to use source register as second register in VCVTSD2SS and VCVTSS2SD to break dependency chains, hopefully final fix for #39360 M compiler/x86/cgx86.pas --- commit 6c7e6191f64ac8cea36e963028c190263d8a2ea9 Author: florian Date: Sat Oct 9 15:44:46 2021 +0200 + support of SHA extension in the internal assembler M compiler/i386/i386att.inc M compiler/i386/i386atts.inc M compiler/i386/i386int.inc M compiler/i386/i386nop.inc M compiler/i386/i386op.inc M compiler/i386/i386prop.inc M compiler/i386/i386tab.inc M compiler/i8086/i8086att.inc M compiler/i8086/i8086atts.inc M compiler/i8086/i8086int.inc M compiler/i8086/i8086nop.inc M compiler/i8086/i8086op.inc M compiler/i8086/i8086prop.inc M compiler/i8086/i8086tab.inc M compiler/x86/aasmcpu.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664ats.inc M compiler/x86_64/x8664att.inc M compiler/x86_64/x8664int.inc M compiler/x86_64/x8664nop.inc M compiler/x86_64/x8664op.inc M compiler/x86_64/x8664pro.inc M compiler/x86_64/x8664tab.inc M tests/utils/avx/asmtestgenerator.pas M tests/utils/avx/avxopcodes.pas --- commit fd28cc0db04b00612387baba33f30f8e0dc3825c Author: J. Gareth "Curious Kit" Moreton Date: Sun Oct 10 03:42:03 2021 +0100 Better handling of zeroing upper parts of registers Better handling of zeroing upper parts of registers M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit d502bccc1b03094d5260f1494baf49387f674273 Author: J. Gareth "Curious Kit" Moreton Date: Sun Oct 10 06:31:57 2021 +0100 A pair of inlines M compiler/x86/aasmcpu.pas --- commit a925522ead1e0ccdbd0c77c57e2ccc147b61dc67 Author: J. Gareth "Curious Kit" Moreton Date: Sun Oct 10 09:15:43 2021 +0100 xor optimisation now doesn't check to see if the REX prefix will actually be removed, as it's beneficial for speed reasons to only use the 32-bit register when zeroing the whole thing M compiler/x86/aoptx86.pas --- commit a4672fbd1c097752430017fbe84a26d702e43e83 Author: florian Date: Sun Oct 10 10:09:22 2021 +0200 o based on a patch by Rika, resolves #39401: * use Base64 (62=_, 63=$) encoded FNV hash (instead of CR-32) to shorted identifiers * renamed fpccrc to fpchash + test M compiler/aasmbase.pas R055 compiler/fpccrc.pas compiler/fpchash.pas M compiler/link.pas M compiler/ncgvmt.pas M compiler/pcp.pas M compiler/pgenutil.pas M compiler/ppu.pas M compiler/symdef.pas A tests/webtbs/tw39401.pp --- commit cc3cbbb7b96d75e816f38a83abcbb08b9fd8843d Author: florian Date: Sun Oct 10 10:21:21 2021 +0200 * fix x86 compilation after my last commit M compiler/ogomf.pas M compiler/x86/agx86nsm.pas --- commit 2c180cf101b6a49c1f8bdf462cd7b4e729600ad8 Author: florian Date: Sun Oct 10 15:34:59 2021 +0200 * by default, DEBUG_AOPTCPU is only enabled if the compiler is compiled with -dEXTDEBUG M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas --- commit 07413be8b569f000a158c290fa856365557c3dd3 Author: florian Date: Sun Oct 10 22:54:08 2021 +0200 + being able to define change information for xmm0 * corrected change information for SHA256RNDS2 M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/aasmcpu.pas M compiler/x86/aoptx86.pas M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit ca9384fd6c265aa76a9ef59229b3746153e6114a Author: florian Date: Mon Oct 11 18:43:59 2021 +0200 * patch by Dean Mustakino to avoid generation of debug info for generics, resolves #38827 + test M compiler/dbgdwarf.pas A tests/webtbs/tw38827.pp A tests/webtbs/uw38827.pp --- commit 00d4a6889dd2f79981ebaef3f839be5354d2933c Author: florian Date: Tue Oct 12 22:59:17 2021 +0200 * add no internal flag when folding constants in taddnode.simplify, resolves #39308 M compiler/nadd.pas A tests/webtbf/tw39308.pp --- commit 236e10d03aab15949f7c2114ddc39b63cf2ea364 Author: Nikolay Nikolov Date: Wed Oct 13 08:13:13 2021 +0300 + pass 64-bit structures by address in WebAssembly for compatibility with LLVM's C ABI M compiler/wasm32/cpupara.pas --- commit 66b7ed45fd0f260e2d9d9c00b844e27b7b8b3191 Author: Yuriy Sydorov Date: Wed Oct 13 15:56:19 2021 +0300 * Removed unused tlocation.registers[]. M compiler/cgutils.pas --- commit 6cb24a392959e10186cb0bdc9347ef78ecc53882 Author: florian Date: Wed Oct 13 22:55:22 2021 +0200 * itcpugas unit for Z80 providing gas_regname to fix compilation with -dDEBUG_NODE_XML A compiler/z80/itcpugas.pas --- commit 321764bdd93a675343fa0045ec22a1c2d62639c3 Author: florian Date: Wed Oct 13 23:07:39 2021 +0200 * fix warnings with -dDEBUG_NODE_XML, resolves #38222 M compiler/verbose.pas --- commit ee387f7c66f418a23f78a0b6ceb162bec71a5d1b Author: Nikolay Nikolov Date: Thu Oct 14 08:29:16 2021 +0300 * C ABI fixes for the passing of records in WebAssembly M compiler/wasm32/cpupara.pas --- commit 3511b8097269e7622ef97c9a6da7f0db8a948888 Author: Nikolay Nikolov Date: Thu Oct 14 08:46:54 2021 +0300 * fixed formatting in defToWasmBasic M compiler/wasm32/tgcpu.pas --- commit df92d88f39a81ef2ec20499ea82cfdee6df04df6 Author: Nikolay Nikolov Date: Thu Oct 14 09:34:00 2021 +0300 + added support for the handling of singleton record and array types in defToWasmBasic M compiler/wasm32/cpupara.pas M compiler/wasm32/tgcpu.pas --- commit b91fc3a0d3409b39e20bf0e0120ec8c072bc410a Author: Nikolay Nikolov Date: Thu Oct 14 10:34:08 2021 +0300 * fixed passing of singleton record parameters, containing a float in WebAssembly M compiler/defutil.pas M compiler/wasm32/cpupara.pas M compiler/wasm32/hlcgcpu.pas --- commit dcae87bd5267914c8be0b57481f355a3eb700f3a Author: Nikolay Nikolov Date: Thu Oct 14 12:29:59 2021 +0300 + support cdecl and stdcall on the WebAssembly target. They are essentially the same, the only difference is that cdecl creates an unmangled alias M compiler/wasm32/cpuinfo.pas --- commit 0da5d57c1e54cafdfa4f2233a17e4d17dd5ff694 Author: Nikolay Nikolov Date: Thu Oct 14 14:19:13 2021 +0300 * replaced the 'if br end_if' sequence with the 'br_if' instruction, when generating WebAssembly code for try..finally blocks (in all exception modes) M compiler/wasm32/nwasmflw.pas --- commit d55b2c2a35d9a30f4928cab612f02d70e2704fb9 Author: florian Date: Fri Oct 15 23:12:59 2021 +0200 + extend assembler optimization MovxMov2Mov to MovxOp2Op M compiler/x86/aoptx86.pas --- commit 4012c3dbd47f661805bb7a831c6c687807ede3b4 Author: florian Date: Sun Oct 17 09:50:47 2021 +0200 * merge request 75 by J. Gareth "Kit" Moreton manually applied: This merge request makes a number of improvements to the DeepMOVOpt method and supporting functions: * ReplaceRegisterInInstruction now replaces registers in references that are written to (since the registers themselves won't change) * RegModifiedByInstruction will no longer return True for a register that appears in a reference that's written to (for the same reason as above) - special operations like MOVSS (the 0-operand version) aren't affected. * DeepMOVOpt returning True will now always set the Result of OptPass1MOV to True even though p wasn't directly modified, since this often caused missed optimisations. * Some of the speed-ups in the patch from #32916 have also been applied in order to make the general DeepMOVOpt run faster, notably it tries to avoid calling UpdateUsedRegs where possible. M compiler/x86/aoptx86.pas --- commit ea6529ff63225e13baa4e1fd2c193b84d1432048 Author: florian Date: Sun Oct 17 10:22:30 2021 +0200 * manually merged merge request 69 by J. Gareth "Kit" Moreton: x86: CMP/MOV refactoring and expansion This merge request refactors the SwapMovCmp routine, and calls to it, to be more self-contained, having the preliminary checks built-in to ensure that moving the MOV instruction is actually a sound idea, while also making it more general-purpose so it can handle instructions that are not MOV operations. This feature is primarily for future expansion, but also cleans up the code for the x86 peephole optimizer. M compiler/x86/aoptx86.pas --- commit ee10850a5793b69b19dc82b9c28342bdd0018f2e Author: florian Date: Sun Oct 17 11:13:29 2021 +0200 * 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 M compiler/aasmcnst.pas M rtl/inc/astrings.inc M rtl/inc/ustrings.inc M tests/webtbs/tw20962.pp M tests/webtbs/tw7100.pp --- commit 08050086b950a6bdb5a04f6054d58a497f45d7a4 Author: florian Date: Sun Oct 17 21:57:39 2021 +0200 * keep type when removing "1*", resolves #38840 M compiler/nadd.pas A tests/webtbs/tw38840.pp --- commit 7e73e0dd2314527e9b9a79e51fdd5727e6efdad8 Author: florian Date: Mon Oct 18 22:08:06 2021 +0200 + support reading of .p2align with op code and/or max. bytes in the gas assembler reader + test M compiler/aasmtai.pas M compiler/raatt.pas A tests/test/tp2align.pp --- commit 01dc62b1275ca935ab65e856495faf3300f6dc62 Author: Nikolay Nikolov Date: Wed Oct 20 09:39:44 2021 +0300 + introduced the use of asm labels for WebAssembly. Resolve them in tcpuprocinfo.postprocess_code. Use them when generating code for the 'continue' label jumps. M compiler/aasmbase.pas M compiler/wasm32/cpupi.pas M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasmflw.pas --- commit 0662a0bd44c557d338e577cc29065db54b57f202 Author: Nikolay Nikolov Date: Wed Oct 20 09:59:54 2021 +0300 + use WebAssembly asm labels for the code generation of 'break' statements as well M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasmflw.pas --- commit b3a9c36cbb77bcd8079505ee9f16b68a09307ed5 Author: Nikolay Nikolov Date: Wed Oct 20 10:03:14 2021 +0300 * fixed some warnings M compiler/wasm32/cpupi.pas --- commit dc9090e67f48c7e23f7701e46427169be78d03e3 Author: Nikolay Nikolov Date: Wed Oct 20 10:23:02 2021 +0300 * fixed some more warnings M compiler/wasm32/nwasmflw.pas --- commit 1ce2fb8a4acaeee52446e881f0da0d0540097b2f Author: Nikolay Nikolov Date: Wed Oct 20 10:30:56 2021 +0300 * use WebAssembly asm labels for generating code for the 'exit' statement M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasmflw.pas --- commit 9f077d4ac04479b4bc3e46a3eb8465d1916df5df Author: Nikolay Nikolov Date: Wed Oct 20 10:40:21 2021 +0300 * leave unresolved branches in the asm output, when the compiler is compiled with -dEXTDEBUG M compiler/wasm32/cpupi.pas --- commit 703ae75ba6a9d8d1c39e81e319e72a4fd19ef702 Author: Nikolay Nikolov Date: Wed Oct 20 10:51:15 2021 +0300 * if a label cannot be associated with the previous block instruction, try matching it with the next instruction M compiler/wasm32/cpupi.pas --- commit bb3095866549b503f6419b773fa2e65c0b88f320 Author: Nikolay Nikolov Date: Wed Oct 20 11:09:08 2021 +0300 + wrap block nodes with exit in a_block..a_end_block instructions. This fixes 'exit' in inlined procedures on the WebAssembly target. M compiler/wasm32/cpunode.pas A compiler/wasm32/nwasmbas.pas --- commit c96e20378024002d340434835ac2cf912c8ebe90 Author: Nikolay Nikolov Date: Wed Oct 20 13:21:19 2021 +0300 * moved the 'end_block' WebAssembly instruction before the 'exit' label right before the procedure finalization code. This fixes compilation errors in procedures with implicit finalization code (e.g. for ansistring local vars, etc). M compiler/psub.pas M compiler/wasm32/cpupi.pas M compiler/wasm32/hlcgcpu.pas --- commit 4e3a6aa5a812fbd1aee6394f98cc4c2425032735 Author: Nikolay Nikolov Date: Wed Oct 20 14:29:08 2021 +0300 * match the label to the wider block, if it is adjacent to both the brevious and the next instruction M compiler/wasm32/cpupi.pas --- commit e018264ad93c77e2855f144d004c26873d2f772f Author: Karoly Balogh Date: Wed Oct 20 14:37:16 2021 +0200 internalerror if the section we're about to keep has no exesection assigned M compiler/ogbase.pas --- commit 5a0956d8050eb4f3f54ba0d8b9fad41fea3a09c3 Author: Nikolay Nikolov Date: Wed Oct 20 16:20:08 2021 +0300 * use WebAssembly asm labels for the raise branch instruction in branchful exceptions mode M compiler/wasm32/cpupi.pas M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasmflw.pas --- commit 470e77a5725fdb0eeffa9475a14937779dce364c Author: Nikolay Nikolov Date: Thu Oct 21 22:48:33 2021 +0300 + added sanity check when resolving labels to ensure we don't get any jumps with negative nesting depth M compiler/wasm32/cpupi.pas --- commit 6fe647ee3dd194e7ccbf230782da0c42134245be Author: Nikolay Nikolov Date: Fri Oct 22 10:32:47 2021 +0300 * moved the default procedure CurrRaiseLabel to the end of the procedure, not at the exit label. This fixes problems when using units with finalization code that contain classes with class destructors in branchful WebAssembly exceptions mode. M compiler/wasm32/cpupi.pas M compiler/wasm32/hlcgcpu.pas --- commit 342803532de444c5c0710e625bcc2b884193fc51 Author: J. Gareth "Curious Kit" Moreton Date: Fri Oct 22 12:33:16 2021 +0100 Bug fix to MovMov2Mov 6 optimisation exposed by 4012c3dbd47f661805bb7a831c6c687807ede3b4 (and miscellaneous code refactors) M compiler/x86/aoptx86.pas --- commit 3094f756903a6c06ff7786a1fa972ff6a61de457 Author: Nikolay Nikolov Date: Fri Oct 22 17:31:04 2021 +0300 * WebAssembly code generation for 'case' nodes changed to use labels M compiler/nset.pas M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasmset.pas --- commit 12a2c56461dd689b24756292d4f069e8e24690d8 Author: Nikolay Nikolov Date: Fri Oct 22 17:42:29 2021 +0300 - removed thlcgwasm.incblock, .decblock and br_blocks, as branching is now done entirely with labels M compiler/ncgset.pas M compiler/wasm32/cpupi.pas M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasmadd.pas M compiler/wasm32/nwasmbas.pas M compiler/wasm32/nwasmcnv.pas M compiler/wasm32/nwasmflw.pas M compiler/wasm32/nwasminl.pas M compiler/wasm32/nwasmset.pas --- commit d0fdda6da718e26af14c17fc9d7d0fd3d5bd9fab Author: florian Date: Fri Oct 22 22:39:23 2021 +0200 + TDFABuilder.redodfainfo M compiler/optdfa.pas M compiler/psub.pas --- commit 7bef4d827d905fc57ed773c2aa70f157a573e225 Author: Nikolay Nikolov Date: Sat Oct 23 11:25:44 2021 +0300 * keep track of the block stack, when resolving labels and check whether the blocks match (i.e. block..end_block, if..end_if, loop..end_loop, try..end_try) M compiler/wasm32/cpupi.pas --- commit 7f1050464a60977ad6261a108e4e839bea8fa8a3 Author: Nikolay Nikolov Date: Sat Oct 23 11:56:25 2021 +0300 + added 'else' tracking for the if..end_if blocks M compiler/wasm32/cpupi.pas --- commit 4610980f2e9ac4269074d2d0613290ab78c50bbd Author: florian Date: Sat Oct 23 23:40:09 2021 +0200 * TX86AsmOptimizer.OptPass1MOVXX takes care of volatility M compiler/x86/aoptx86.pas --- commit 10fcae34a957e94837fe376fa828815ab99d80a3 Author: florian Date: Sun Oct 24 18:22:05 2021 +0200 * improved TX86AsmOptimizer.OptPass1MOVXX M compiler/x86/aoptx86.pas --- commit 4b157a14988b5f0637e61b5555ca6e420e896b99 Author: florian Date: Tue Oct 26 21:34:22 2021 +0200 + print full file path if -vb is passed even if no line number is known, resolves #39419 M compiler/comphook.pas --- commit b58fdc3e584854a4c4fc02bd7fc23f378263d25a Author: J. Gareth "Curious Kit" Moreton Date: Tue Oct 26 23:11:21 2021 +0100 Improved ADD and SUB optimisations for LEA instructions M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit c9d9d42f0e3cb3d413bb755b7ec11d99e5446ee0 Author: Yuriy Sydorov Date: Wed Oct 27 12:42:01 2021 +0300 * Better coalescing with real registers. This improves setting of parameters in registers. * Removed superfluous condition in trgobj.enable_moves(). * Fixed flags checking in trgobj.adjacent_ok(). * Added assembler comments about coalescing when DEBUG_SPILLCOALESCE is defined. M compiler/rgobj.pas --- commit 42eb06f5c660df09a392d99fb41166ffc614e0bc Author: J. Gareth "Curious Kit" Moreton Date: Thu Oct 28 01:15:39 2021 +0100 Fixed some range check problems M compiler/x86/aoptx86.pas --- commit 95ad8f1694dd0efd0774767b0a08b79dd53130d4 Author: florian Date: Thu Oct 28 21:13:01 2021 +0200 * correctly read the region label in $region directives, resolves #39395 M compiler/scandir.pas A tests/webtbs/tw39395.pp --- commit 284317d877bb10d11ffe8f6f8d3cd34bd51ee837 Author: J. Gareth "Curious Kit" Moreton Date: Sat Oct 30 01:16:04 2021 +0100 Fixed OptPass2Lea not honouring symbols M compiler/x86/aoptx86.pas --- commit fb7cdbefb3f14cd66a4960bbeded3e6a739a95f5 Author: florian Date: Sat Oct 30 20:21:47 2021 +0200 + some opcodes added M compiler/aarch64/a64att.inc M compiler/aarch64/a64atts.inc M compiler/aarch64/a64ins.dat M compiler/aarch64/a64op.inc --- commit e657aa64317a385a5c6fb52bf6c752e883220eb9 Author: florian Date: Sun Oct 31 11:57:32 2021 +0100 + write code and data size for Mach-O files if possible M compiler/link.pas M compiler/systems/t_darwin.pas --- commit ff3acfb8cda7f6a077dfc585cbe9acb0d8e34418 Author: florian Date: Sun Oct 31 13:20:28 2021 +0100 * cleanup of 2.7.0 defines M compiler/aarch64/cpuinfo.pas M compiler/arm/cpuinfo.pas M compiler/avr/cpuinfo.pas M compiler/compiler.pas M compiler/cresstr.pas M compiler/generic/cpuinfo.pas M compiler/i386/cpuinfo.pas M compiler/i8086/cpuinfo.pas M compiler/jvm/cpuinfo.pas M compiler/m68k/cpuinfo.pas M compiler/mips/cpuinfo.pas M compiler/nadd.pas M compiler/options.pas M compiler/powerpc/cpuinfo.pas M compiler/powerpc64/cpuinfo.pas M compiler/riscv32/cpuinfo.pas M compiler/riscv64/cpuinfo.pas M compiler/scanner.pas M compiler/sparc/cpuinfo.pas M compiler/sparc64/cpuinfo.pas M compiler/wasm32/cpuinfo.pas M compiler/x86_64/cpuinfo.pas M compiler/z80/cpuinfo.pas --- commit 5a617cd1082e80008559a012673db2eecb6304bf Author: florian Date: Sun Oct 31 17:22:15 2021 +0100 + fold real constants c1,c2 for v+c1+c2 or c1+(c2+v) (+ being either + or *) as well if fastmath is enabled M compiler/nadd.pas --- commit 15865e760244be485772a53a6eaa09f80e5ca8ee Author: Jonas Maebe Date: Sun Oct 31 17:49:04 2021 +0100 Record variant discriminators: check types M compiler/pdecvar.pas A tests/tbf/tb0276.pp --- commit fcdbb31ec4f057f1eb169a1214f6c50a0ad5a90c Author: florian Date: Mon Nov 1 11:46:19 2021 +0100 * AArch64: TCpuAsmOptimizer.RegLoadedWithNewValue: check if p.ops=0 M compiler/aarch64/aoptcpu.pas --- commit c4a1cdceaebf8d01151fc20ae3e3a053180db9e7 Author: Yuriy Sydorov Date: Mon Nov 1 12:19:45 2021 +0200 * Corrected calculation of spilling efficiency. M compiler/rgobj.pas --- commit 89d27751911d6904fbbb10660a0194c43522fc8d Author: Jonas Maebe Date: Mon Nov 1 13:56:33 2021 +0100 optcse: fix wrong typecast M compiler/optcse.pas --- commit dcb1fcd9b81d364660b9ca5906e7b2f5e0fe688f Author: florian Date: Mon Nov 1 23:24:13 2021 +0100 + support $lgeacyifend directive, resolves #37676 M compiler/globtype.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/scandir.pas M compiler/scanner.pas M compiler/utils/ppuutils/ppudump.pp A tests/tbf/tb0277.pp A tests/tbf/tb0278.pp A tests/tbf/tb0279.pp A tests/tbf/tb0280.pp --- commit e04df465efe7fdbdc8ebe6b812789daa0bea0e25 Author: Yuriy Sydorov Date: Tue Nov 2 13:01:44 2021 +0200 * The label which is generated by traisenode is not a jump target. Mark this label as nf_internal, which means the label does not impact the code flow. This leads to a much better register allocation. M compiler/ncgflw.pas M compiler/nflw.pas --- commit d0cc6494280732f5be8ccfaecbafb2b6b7fb0f87 Author: Yuriy Sydorov Date: Tue Nov 2 15:23:08 2021 +0200 * Write interference graphs to the unit output directory. M compiler/rgobj.pas --- commit d96600a02d1dd4ee53ffe9bd4efc718f906e80d1 Author: Yuriy Sydorov Date: Tue Nov 2 16:55:59 2021 +0200 * Removed unused and confusing tnode.parent and tnode.concattolist(). M compiler/node.pas --- commit b78761efd30a814d055d78078c3f9d0422ef6291 Author: Yuriy Sydorov Date: Tue Nov 2 17:08:08 2021 +0200 * Removed obsolete OLDREGVARS ifdefs. M compiler/hlcgobj.pas M compiler/i386/n386add.pas M compiler/i8086/n8086add.pas M compiler/ncgflw.pas M compiler/ncgset.pas M compiler/powerpc/nppcadd.pas M compiler/psub.pas M compiler/symdef.pas M compiler/wasm32/nwasmset.pas --- commit 5b32c81befccea3ba64fc012e3e4216bb875dc17 Author: Yuriy Sydorov Date: Tue Nov 2 20:33:34 2021 +0200 * Corrected setting of the flag. M compiler/nflw.pas --- commit 7e4753bebd600951a76838f3e7c08f17d0e65505 Author: Yuriy Sydorov Date: Tue Nov 2 20:36:30 2021 +0200 * Typo fixed. M compiler/rgobj.pas --- commit e0a78c2485bbcce7fb5972b2c7ab7fb6263674c0 Author: florian Date: Tue Nov 2 22:01:52 2021 +0100 * tcgaarch64.g_concatcopy calls tcgaarch64.g_concatcopy_move only if the current subroutine has pi_do_call set * fixed copy loop in tcgaarch64.g_concatcopy if ldp/stp is used: fixed increment calculation and fixed tail length calculation M compiler/aarch64/cgcpu.pas --- commit 2240c690784bc6117f8d602c9eedfb23d0d8846c Author: florian Date: Wed Nov 3 22:28:12 2021 +0100 * improved heurisics when thread var addresses or float constants are put in registers M compiler/optcse.pas --- commit 44051b4af33b097a1069a0702108fc4799864c84 Author: florian Date: Wed Nov 3 22:41:07 2021 +0100 * corrected accidently made changs in 01a449c8, resolves #39424 M compiler/x86/aoptx86.pas --- commit 9feafc7bd73705fea94842a34ef704192350fe01 Author: florian Date: Fri Nov 5 23:05:17 2021 +0100 + ARM: started on vfpv5 support M compiler/arm/aasmcpu.pas M compiler/arm/agarmgas.pas M compiler/arm/cpuinfo.pas M compiler/arm/narmutil.pas --- commit 9423d5e390b94f34046ee030b5712e466950640e Author: florian Date: Sat Nov 6 11:00:53 2021 +0100 + fp-armv8 fpu type added M compiler/arm/aasmcpu.pas M compiler/arm/cpuinfo.pas M compiler/arm/narmutil.pas --- commit 716e8c8e8975337c2f40122becd0b596b3461586 Author: florian Date: Sat Nov 6 21:14:57 2021 +0100 * tcgsizep2size now supports all tcgsize values M compiler/aarch64/cpubase.pas --- commit 8e5c2467e29e86222877085a43575f04ac1204df Author: Yuriy Sydorov Date: Sat Nov 6 21:47:12 2021 +0200 * Fixed node coalescing with real registers. M compiler/rgobj.pas --- commit c1d43df4a1e58702a57452499fc00898a1e421d6 Author: florian Date: Sat Nov 6 23:32:56 2021 +0100 + be able to add single cpu capabilites by the command line + AArch64: SHA2 capability M compiler/aarch64/agcpugas.pas M compiler/aarch64/cpuinfo.pas M compiler/options.pas --- commit f570b6cb7bb10b90a7eba22de9d4d10a09e83703 Author: florian Date: Sun Nov 7 11:06:01 2021 +0100 + more Aarch64 cpu capability flags added M compiler/aarch64/agcpugas.pas M compiler/aarch64/cpuinfo.pas --- commit c917639b91bd8d0d784a0f84e6dc3c3789ff8520 Author: florian Date: Sun Nov 7 14:46:03 2021 +0100 * cosmetics M compiler/options.pas --- commit 492d75483d05af525822561fc8232c52748a24b0 Author: florian Date: Sun Nov 7 14:46:13 2021 +0100 * fix (V)Cvtss2CvtSd(V)Cvtsd2ss2* optmizations for non-avx code, resolves #39416 M compiler/x86/aoptx86.pas --- commit 7fcbd1d7e0a24bbe476d5ec4e67c458b742190b1 Author: florian Date: Sun Nov 7 14:58:17 2021 +0100 * my last commit hopefully fixed M compiler/x86/aoptx86.pas --- commit d708bef92f5353e010bb13857469c55e671a6e05 Author: florian Date: Sun Nov 7 20:02:29 2021 +0100 + Aarch64: read register sets with ranges properly + tests M compiler/aarch64/racpugas.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc A tests/tbf/tb0281.pp A tests/tbf/tb0282.pp A tests/tbf/tb0283.pp A tests/tbf/tb0284.pp A tests/tbs/tb0687.pp --- commit 292be9029e729b03f4f6f2ac415d43ac90fdc03a Author: florian Date: Sun Nov 7 21:54:25 2021 +0100 * when converting a*a into sqr(a), set the result type correctly * removefloatupcasts takes care of cs_excessprecision, resolves #39012 M compiler/nadd.pas M compiler/ninl.pas A tests/webtbs/tw39012.pp --- commit 8e7791ac232d88f298bd3a5ed3c6cd511c48ce5e Author: Pierre Muller Date: Mon Nov 8 22:55:38 2021 +0000 Explicitly disable overflow for offset propagation optimization M compiler/x86/aoptx86.pas --- commit e4ee8fa6a2b6fbebf8723712c63d9e0504d1396e Author: florian Date: Tue Nov 9 22:17:46 2021 +0100 * patch by Rika to pass some strings by reference, resolves #39338 M compiler/assemble.pas M compiler/cstreams.pas M compiler/globals.pas M compiler/pexpr.pas M compiler/pgenutil.pas M compiler/pinline.pas M compiler/scanner.pas M compiler/symtable.pas --- commit 03ce23246f11b42ac3739f91e2f2433c66ef25f0 Author: florian Date: Wed Nov 10 19:16:14 2021 +0100 * patch by Don Siders: Fixes spelling, grammar errors in source and compiler messages, resolves #39434 M compiler/msg/errorct.msg M compiler/msg/errorda.msg M compiler/msg/errores.msg M compiler/msg/errorf.msg M compiler/msg/errorfi.msg M compiler/msg/errorhe.msg M compiler/msg/errorheu.msg M compiler/msg/erroriu.msg M compiler/msg/errorn.msg M compiler/msg/errorpl.msg M compiler/msg/errorpli.msg M compiler/msg/errorpt.msg M compiler/msg/errorptu.msg M compiler/msg/errorues.msg M packages/fcl-web/src/base/fphttpserver.pp M packages/ptc/src/win32/directx/p_dinput.pp M packages/tcl/tests/tcl_demo.pp M packages/univint/src/ATSUnicodeDrawing.pas M packages/univint/src/CFNetDiagnostics.pas M packages/univint/src/CFNetServices.pas M packages/univint/src/CFURL.pas M packages/univint/src/CFURLEnumerator.pas M packages/univint/src/Menus.pas M packages/univint/src/OpenTransport.pas M packages/univint/src/SCSI.pas M packages/univint/src/SKSummary.pas M packages/univint/src/WSProtocolHandler.pas M packages/univint/src/WSTypes.pas M tests/test/tstack.pp M tests/test/units/math/tmask.inc M tests/webtbs/tw16884.pp M tests/webtbs/tw7100.pp --- commit 1b06599e8224da182c91896475658796826a03bf Author: Jonas Maebe Date: Thu Nov 11 11:48:49 2021 +0100 llvm: version 12.0 support M compiler/llvm/agllvm.pas M compiler/llvm/llvmdef.pas M compiler/llvm/llvminfo.pas --- commit 550d0481b343effe45626780f047ed090a88bb11 Author: florian Date: Thu Nov 11 22:52:10 2021 +0100 * better error message M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/systems/t_freertos.pas --- commit 9f60628e5b8283cdfce7e9f6feb7055eb4b52a22 Author: J. Gareth "Curious Kit" Moreton Date: Sat Nov 13 00:19:15 2021 +0000 x86: new optimisation to change add/sub 128,(dest) to sub/add -128,(dest) to reduce binary size M compiler/x86/aoptx86.pas --- commit 5289aab4f2bff99cbc0cfac2d3993a7fce68252d Author: ccrause Date: Sat Nov 13 15:28:12 2021 +0200 Add -WP option so that IDF version can be passed in - stored in globals.idf_version. The version is checked in t_freertos.pas and for esp-idf version 4.3.x an extra link file is added, also running ldgen.py is skipped as that seems unused. M compiler/globals.pas M compiler/options.pas M compiler/systems/t_freertos.pas --- commit dc161e519f1641a8c44f289387ab2880d18e6c7b Author: florian Date: Sat Nov 13 16:36:18 2021 +0100 * inputfilepath might not be empty M compiler/systems/t_freertos.pas --- commit 54f2308d2aeca1b90a4ae98a94ab044149c167d0 Author: florian Date: Sat Nov 13 16:36:37 2021 +0100 + draft for esp-idf version specific rtl unit which contains the necessery linklib statements M compiler/pmodules.pas M rtl/freertos/Makefile M rtl/freertos/Makefile.fpc M rtl/freertos/xtensa/esp32.pp A rtl/freertos/xtensa/espidf_40200.pp --- commit 802f24dfbdcba129c833416f1ac273277637674c Author: florian Date: Sat Nov 13 16:47:40 2021 +0100 * force result to be set M compiler/options.pas --- commit 5db20610dd8dabee146efd6703a62c2d15bc641b Author: florian Date: Sat Nov 13 17:58:17 2021 +0100 * correct idf version check M compiler/systems/t_freertos.pas --- commit feb5bde09cf9cc79e26b01080ec9400eef03f600 Author: florian Date: Sat Nov 13 19:04:38 2021 +0100 * better code and data size info for FreeRTOS M compiler/systems/t_freertos.pas --- commit e86d3af7e0036346c5f189dfc8c49138181f6d6a Author: ccrause Date: Sun Nov 14 10:13:32 2021 +0200 The linklib list for esp-idf v4.2 is also needed for v4.3 M compiler/pmodules.pas --- commit 655a5f526cd9697d5874e85727adae18e89040a8 Author: ccrause Date: Sun Nov 14 11:01:15 2021 +0200 Place IDF related files in executable output folder. M compiler/systems/t_freertos.pas --- commit a58567004b907ab6841dfc7d47d9dfea7e824df1 Author: ccrause Date: Sun Nov 14 12:28:19 2021 +0200 Remove unused $OUTPUT substtution and empty check of outputexedir. M compiler/systems/t_freertos.pas --- commit 2dc0995067a410daecf4b6cd8744823c1f876d19 Author: J. Gareth "Curious Kit" Moreton Date: Mon Nov 15 16:27:21 2021 +0000 - Bug fix to new ADD/SUB optimisation where conditions are concerned - Register allocation fixes for overflow checks M compiler/cg64f32.pas M compiler/hlcgobj.pas M compiler/i386/n386add.pas M compiler/i8086/n8086add.pas M compiler/jvm/cpubase.pas M compiler/ncgmat.pas M compiler/wasm32/cpubase.pas M compiler/wasm32/hlcgcpu.pas M compiler/x86/aoptx86.pas M compiler/x86/cgx86.pas M compiler/x86/nx86add.pas M compiler/x86_64/nx64add.pas --- commit 3ce6c478ccdbd58c04daa6a07a721ae1faebce2c Author: J. Gareth "Curious Kit" Moreton Date: Tue Nov 16 20:39:57 2021 +0000 Bug fixes to magic division and vectorcall code that trigger -CriotR checks M compiler/x86/nx86mat.pas M compiler/x86_64/cpupara.pas --- commit 6404478ea444cda85cdf7f8784efba0ed6669ebe Author: florian Date: Wed Nov 17 22:19:43 2021 +0100 * cleanup of VER3_0 defines M compiler/aarch64/cpupara.pas M compiler/arm/cpupara.pas M compiler/fpcdefs.inc M compiler/i386/cpupara.pas M compiler/i8086/cpupara.pas M compiler/jvm/cpupara.pas M compiler/m68k/cpupara.pas M compiler/mips/cpupara.pas M compiler/nadd.pas M compiler/objcasm.pas M compiler/paramgr.pas M compiler/powerpc/cpupara.pas M compiler/powerpc64/cpupara.pas M compiler/wasm32/cpupara.pas M compiler/x86_64/cpupara.pas --- commit 67f3a7502d0f1100046abd87c5df2565b8d945b8 Author: florian Date: Fri Nov 19 22:36:48 2021 +0100 + Aaarch64: support adr instructions with local labels in the assembler reader + throw an error if an illegal instruction extension is passed as command line option M compiler/aarch64/aasmcpu.pas M compiler/options.pas --- commit b733e21fd1055e821b9d9fee644e54c917be440f Author: florian Date: Sat Nov 20 20:47:32 2021 +0100 + more AArch64 extensions M compiler/aarch64/agcpugas.pas M compiler/aarch64/cpuinfo.pas --- commit 65ef6f1f3726680eaecc2ae24a2da30ee249c54a Author: florian Date: Wed Nov 24 22:50:37 2021 +0100 * regenerated Makefiles M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-hash/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-mustache/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gitlab/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/qlunits/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcm/revision.inc M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile M utils/wasmbin/Makefile --- commit 5bddb3a435103997b2ae5b7f6f75a4de994ec571 Author: florian Date: Wed Nov 24 23:06:38 2021 +0100 * x86-64 can handle overflows in 64 bit multiplications directly, part of resolving #39450 M compiler/x86_64/nx64add.pas --- commit 271ba59cf1c1780d8c0b120dff107c42bcfe1e02 Author: Pierre Muller Date: Thu Nov 25 22:13:32 2021 +0000 All Makefile's regenerated M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-hash/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-mustache/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gitlab/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/qlunits/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile M utils/wasmbin/Makefile --- commit bf5f37b14a4b92e9c441cc5bc2cd9924d3cbfb7b Author: florian Date: Fri Nov 26 22:27:19 2021 +0100 * fix conditional statement as pointed out by Sergey Larin M compiler/nadd.pas --- commit e132ae2feed6ac06daf9e22f48b735841691188e Author: florian Date: Sat Nov 27 00:28:57 2021 +0100 * last commit was not correct, fixed M compiler/nadd.pas --- commit ab0079434302d85260bf18c420611bd1227aab1a Author: ccrause Date: Sat Nov 27 15:18:24 2021 +0200 Keep esp32 and esp8266 version specific tweaks separate. M compiler/options.pas M compiler/pmodules.pas --- commit f66dd54bc277618feb9cf38d81b2651a4f10db61 Author: ccrause Date: Sat Nov 27 18:31:45 2021 +0200 Extract linker script generation as separate method. Check if esp linker scripts can be found in library paths, if not then generate scritps. M compiler/systems/t_freertos.pas --- commit 5c55f1a16ee0c41f8f657f5a706bcb3bfc8a8f2c Author: Yuriy Sydorov Date: Sat Nov 27 19:44:50 2021 +0200 * Added Tmoveins.id to be used for sorting and searching in Tmovelist, to produce the consistent order of elements. This fixes occasional differences in the register allocation caused by the address space randomization. When ASLR is in effect, the previous approach to sort elements by their memory addresses can't guarantee the consistent elements order for each compilation of the same source code. M compiler/rgobj.pas --- commit 4f711a8b2c534fa786922acd8453c49b40bc1768 Author: Yuriy Sydorov Date: Sun Nov 28 01:02:09 2021 +0200 * Use longint for Tmoveins.id instead of word to prevent overflow in extreme cases. M compiler/rgobj.pas --- commit b0c0309cc1c1dccfd11acd3284b2168d6720892a Author: ccrause Date: Sun Nov 28 21:44:37 2021 +0200 Add output path to kconfig source file location parameters. M compiler/systems/t_freertos.pas --- commit 793c157a9c69201caf0dca17b64b55ec06e34ed2 Author: ccrause Date: Sun Nov 28 21:47:32 2021 +0200 Always call DoExec to generate linker scripts. Even if cs_link_nolink is set, the ldgen scipt needs to be called in the generated ppas script. M compiler/systems/t_freertos.pas --- commit 222a41be7b5d3eba617c8f0530064911fff84cd8 Author: Pierre Muller Date: Sun Nov 28 23:57:09 2021 +0000 Change declaration of DynLinkStr local variable of MakeExecutable method to ansitring to avoid short string overflows M compiler/systems/t_amiga.pas M compiler/systems/t_atari.pas M compiler/systems/t_beos.pas M compiler/systems/t_bsd.pas M compiler/systems/t_haiku.pas M compiler/systems/t_linux.pas M compiler/systems/t_macos.pas M compiler/systems/t_sinclairql.pas M compiler/systems/t_sunos.pas --- commit 40196f4a437626044a4a40baf9bedacb3fc984e4 Author: J. Gareth "Curious Kit" Moreton Date: Tue Nov 30 03:11:19 2021 +0000 Fixes to ADD/SUB 128 optimisation that didn't check flags properly, and also handling ADC/SBB properly M compiler/x86/aoptx86.pas --- commit 60623f39a1917afa3a03a44c7a8b66d6fcfa4f7f Author: florian Date: Tue Nov 30 22:27:50 2021 +0100 + - can be used to remove options from a cpu capability switch M compiler/options.pas --- commit 0f1c4b4db8bae6fe397c14d06ac2d2e0795265c2 Author: J. Gareth "Curious Kit" Moreton Date: Tue Nov 30 22:54:33 2021 +0000 Fixed Unreachable code warning when building on a 32-bit platform with DEBUG_NODE_XML M compiler/verbose.pas --- commit 89aeedac1ec47570922fe219664c3374e93aeb8a Author: florian Date: Wed Dec 1 22:48:19 2021 +0100 * fixes excluding of cpu capabilities M compiler/cutils.pas M compiler/options.pas --- commit da899df6b2bbb980a2d047b542eee3bff03f4fa9 Author: J. Gareth "Curious Kit" Moreton Date: Fri Dec 3 13:15:14 2021 +0000 New MovxMovxOp2OpMovx optimisation M compiler/x86/aoptx86.pas --- commit 0b3fb55c6a8e75e869ed29cc1ad09189325f82df Author: florian Date: Fri Dec 3 23:25:45 2021 +0100 * generate no exit code at all on x86-64 if the subroutine is compiled with po_noreturn M compiler/x86_64/cgcpu.pas --- commit f02b7508de42be8a2768036727447cb16106af0c Author: J. Gareth "Curious Kit" Moreton Date: Sat Dec 4 06:49:00 2021 +0000 Bolder OptPass2Movx optimisations, including a simplification fix M compiler/x86/aoptx86.pas --- commit 4825d2d16c2af3d3658e12637fb9fbed32f86491 Author: J. Gareth "Curious Kit" Moreton Date: Sat Dec 4 08:06:25 2021 +0000 New Movz ###,%ecx, shift/rotate %cl,... optimisation M compiler/x86/aoptx86.pas --- commit 49af134ba7e2b99153d51eadc8a190bea19f8530 Author: Florian Klämpfl Date: Sat Dec 4 16:21:29 2021 +0100 * compilation of x86_64-win64 fixed M compiler/x86_64/cgcpu.pas --- commit 53e5a4a03a6f802a5ee2217d326eb4f5af87bc5c Author: Robert Roland Date: Sun Dec 5 20:24:57 2021 -0800 Adding aaarch64-embedded target This adds support for aarch64-embedded, specifically for the Raspberry Pi 3. Uses UART0 at 115200 baud 8N1 for console IO. M Makefile M compiler/Makefile M compiler/aarch64/a64reg.dat M compiler/aarch64/agcpugas.pas M compiler/aarch64/cpuinfo.pas M compiler/aarch64/cpunode.pas M compiler/aarch64/cputarg.pas A compiler/aarch64/naarch64util.pas M compiler/aarch64/ra64con.inc M compiler/aarch64/ra64dwa.inc M compiler/aarch64/ra64nor.inc M compiler/aarch64/ra64num.inc M compiler/aarch64/ra64rni.inc M compiler/aarch64/ra64sri.inc M compiler/aarch64/ra64sta.inc M compiler/aarch64/ra64std.inc M compiler/aarch64/ra64sup.inc M compiler/systems.inc M compiler/systems.pas M compiler/systems/i_embed.pas M compiler/systems/t_embed.pas M compiler/utils/Makefile M compiler/utils/ppuutils/ppudump.pp M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-hash/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-mustache/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gitlab/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/qlunits/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/embedded/Makefile.fpc A rtl/embedded/aarch64/gpio.pp A rtl/embedded/aarch64/mailbox.pp A rtl/embedded/aarch64/mmio.pp A rtl/embedded/aarch64/raspi3.pp A rtl/embedded/aarch64/raspiuart.pp M rtl/embedded/system.cfg M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcm/fpcmake.ini M utils/fpcm/fpcmmain.pp M utils/fpcm/revision.inc M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile M utils/wasmbin/Makefile --- commit 01e5f4855a596496921e45f3b098f86285097d4c Author: J. Gareth "Curious Kit" Moreton Date: Mon Dec 6 06:19:25 2021 +0000 MovZX->MovSX optimisation M compiler/x86/aoptx86.pas --- commit d255ffba8ba16c21a006d7ed9710ff095c3d30a5 Author: J. Gareth "Curious Kit" Moreton Date: Mon Dec 6 12:45:48 2021 +0000 Improved handling of signed sequences in OptPass2Movx M compiler/x86/aoptx86.pas --- commit 5b4c104aafdacafe36495a89c4d0e3a8be62fa9d Author: J. Gareth "Curious Kit" Moreton Date: Tue Dec 7 17:26:42 2021 +0000 Massive overhaul to OptPass2Movx to favour operand shrinkage M compiler/x86/aoptx86.pas --- commit d083cc7247bbc6895eded5624933114d1e90c50c Author: J. Gareth "Curious Kit" Moreton Date: Tue Dec 7 18:37:21 2021 +0000 New MovxAndTest2Test optimisation to mirror the regular MovAndTest2Test optimisation M compiler/x86/aoptx86.pas --- commit 72661fd5c106a5bc1e689eef63ba7636a01d7d24 Author: J. Gareth "Curious Kit" Moreton Date: Thu Dec 9 02:15:55 2021 +0000 Added missing MOVSXD check to PostPeepHoleOptsCpu M compiler/x86_64/aoptcpu.pas --- commit 5921fa9a6285f501df028a8fb4e1d10bda5653b8 Author: florian Date: Sat Dec 11 22:46:27 2021 +0100 + store references to global variables in registers if benefical (currrently used for aarch64 only) M compiler/optcse.pas --- commit 59fca3a01de11a06d304d72b74df611a4e046495 Author: Yuriy Sydorov Date: Sun Dec 12 15:50:12 2021 +0200 * Increased the bounds of TBooleanArray to prevent a range check error while linking Lazarus. M compiler/link.pas --- commit 7b2cd0bcdc450b6c117ace262f4cd9d82e471a5e Author: Yuriy Sydorov Date: Sun Dec 12 17:55:46 2021 +0200 * Prevent a range check error in case of big unsigned values. M compiler/x86/aoptx86.pas --- commit e9acd759a4aa88a8ad1ff97a574f108eb7deef33 Author: Yuriy Sydorov Date: Sun Dec 12 18:19:35 2021 +0200 * Fixed random AVs when targeting the AVX FPU. M compiler/rgobj.pas M compiler/x86/rgx86.pas --- commit f60523a3b92a98ab693a37d3acf2a84dd0d321e2 Author: J. Gareth "Kit" Moreton Date: Sun Dec 12 21:40:42 2021 +0000 x86: New TEST optimisations M compiler/x86/aoptx86.pas --- commit 7a15312b54869784baf92d15a459691fd6c8c419 Author: J. Gareth "Curious Kit" Moreton Date: Mon Dec 13 11:06:05 2021 +0000 Safety checks on TEST removals and better FLAG tracking M compiler/x86/aoptx86.pas --- commit 06da0b3db6563ae317dfc108fe2425ca8b3736be Author: Karoly Balogh Date: Mon Dec 13 16:14:59 2021 +0100 * fix m68k IE after e9acd759, patch by Yuriy Sydorov M compiler/m68k/rgcpu.pas --- commit 42c429bf450ea9f674192c0a0f4faabc5a0b9e12 Author: J. Gareth "Curious Kit" Moreton Date: Mon Dec 13 23:53:16 2021 +0000 New optimisation that merges small constants written to the stack M compiler/x86/aoptx86.pas --- commit be448e29f63fd5d5d2b4320f24bde4ec197ca895 Author: J. Gareth "Curious Kit" Moreton Date: Wed Dec 15 16:37:31 2021 +0000 Fixed bug in new TEST optimisation where a FLAGS check always returned "in use" M compiler/x86/aoptx86.pas --- commit f7239e03e7c4e21aea30ef17393a5303dd5d5ac8 Author: florian Date: Wed Dec 15 23:05:18 2021 +0100 * make tgobj.pas less verbose in extdebug mode, use separate define DEBUG_FREETEMP for the really verbose stuff M compiler/tgobj.pas --- commit c6874df5c8ffcb6ad97096e63b63afe12e86b08d Author: florian Date: Thu Dec 16 22:27:18 2021 +0100 * better error recovery, resolves #39485 M compiler/pdecobj.pas A tests/tbf/tw39485.pp --- commit b4bd15a5c07ae81b0a7f7906bf61c3c6e6180751 Author: J. Gareth "Curious Kit" Moreton Date: Fri Dec 17 22:09:17 2021 +0000 Removed incorrect logic in TEST optimisation M compiler/x86/aoptx86.pas --- commit 77b9d62520dbc4cce3751fbdabfff0ca73aa90e9 Author: florian Date: Sat Dec 18 21:22:36 2021 +0100 + in_min/max_single/double support for aarch64 M compiler/aarch64/ncpuinl.pas M compiler/nflw.pas --- commit e443936e12822b1466e9f0ead1e464742412202e Author: florian Date: Sun Dec 19 16:16:44 2021 +0100 + in_min/max_dword/longint support for aarch64 M compiler/aarch64/ncpuinl.pas M compiler/nflw.pas --- commit 6147d6d8a02903b1a11d36424dd53b229aacee6d Author: florian Date: Tue Dec 21 22:45:32 2021 +0100 * compilation with i386 fixed M compiler/x86/aoptx86.pas --- commit b4c8c1da12f2aa006862bb1212ae540521604ca1 Author: J. Gareth "Curious Kit" Moreton Date: Wed Dec 22 03:34:49 2021 +0000 Overflow bug fixes to MovZX/SX optimisations when CMP instructions are encountered. M compiler/x86/aoptx86.pas --- commit 8609c0803e592a3e9cf2ab9c2fbf567fdbc750ab Author: J. Gareth "Curious Kit" Moreton Date: Wed Dec 22 17:48:05 2021 +0000 Fixed MovxOp2Op failing on i386 due to lack of register check M compiler/x86/aoptx86.pas --- commit 6dbe71cd3000e8d396fe2a05e8e2f74d0c012f81 Author: florian Date: Wed Dec 22 22:54:11 2021 +0100 * TX86AsmOptimizer.OptPass1MOVXX should search only over other instructions if it works with registers only M compiler/x86/aoptx86.pas --- commit ab969e0a9b19820e57fedc21d18e0e1335e74949 Author: florian Date: Thu Dec 23 22:00:26 2021 +0100 * patch by Rika: improve ctuils.newalign/align, part of #39496 M compiler/cutils.pas --- commit 1da7ce46de3829225c6c50d831656e46109ec7d7 Author: J. Gareth "Curious Kit" Moreton Date: Fri Dec 24 01:31:48 2021 +0000 x86: New double CMP optimisation to remove a branch M compiler/x86/aoptx86.pas --- commit 683a92bcc8d791f4f23fde8205229b382dd8fec8 Author: J. Gareth "Curious Kit" Moreton Date: Fri Dec 24 01:41:09 2021 +0000 i386: Correction to GetIntRegisterBetween to ensure we only get 8-bit registers that we can actually encode M compiler/x86/aoptx86.pas --- commit f289f2694ab837b414aa131a0514c56fee4950bc Author: J. Gareth "Curious Kit" Moreton Date: Fri Dec 24 04:12:20 2021 +0000 x86: Additions to OptPass2Movx to better synergise with new CMP optimisation under -O2 M compiler/x86/aoptx86.pas --- commit cafd708b6d862776b7454e1b229f3134ccde5009 Author: J. Gareth "Curious Kit" Moreton Date: Sat Dec 25 01:37:54 2021 +0000 Refactoring of OptPass2Movx to remove goto M compiler/x86/aoptx86.pas --- commit 22cd8d5d62ca165e36c6fe39c9054d18322e51f5 Author: J. Gareth "Curious Kit" Moreton Date: Sat Dec 25 03:15:44 2021 +0000 Fixed bug in MovxMovx2Movx optimisation that would specify a 64-bit destination instead of 32-bit one M compiler/x86/aoptx86.pas --- commit abc4a0a4e6ef0c0622bf155edba8c8394fdec95c Author: florian Date: Sat Dec 25 19:37:27 2021 +0100 * patch by Rika: another improvement of cutils.newalignment, part of #39496 M compiler/cutils.pas --- commit 30166f8eb79bd6a0609cdea2fd91559bd0a7eec6 Author: J. Gareth "Curious Kit" Moreton Date: Sat Dec 25 21:12:35 2021 +0000 Procedure-saved registers are now recorded for peephole optimizers to use M compiler/cgobj.pas M compiler/procinfo.pas M compiler/x86/aoptx86.pas --- commit 67a1d52806449c5fa249d2c2b6e84bec4c9f1c6f Author: J. Gareth "Curious Kit" Moreton Date: Sat Dec 25 21:44:22 2021 +0000 JccAdd2SetccAdd modified to make use of GetIntRegisterBetween M compiler/cgobj.pas M compiler/x86/aoptx86.pas --- commit 1e37eef3d240ff422ad2f92ea9cab6ebdc8391c4 Author: Sven/Sarah Barth Date: Sun Dec 26 16:36:16 2021 +0100 * use an anonymous symbol for the record operator table as its typing is different for each incarnation anyway M compiler/ncgrtti.pas M compiler/symconst.pas --- commit 273a598be86b5bc65f23c36eae35e88356389a28 Author: Karoly Balogh Date: Sun Dec 26 17:22:11 2021 +0100 * Amiga-likes: set some sensible heapsize defaults, for OSHeap support M compiler/options.pas --- commit 116c861af6c13f6d3d0d0d91b6dc4e0c1eb88550 Author: J. Gareth "Curious Kit" Moreton Date: Mon Dec 27 16:18:13 2021 +0000 MOV/CMP optimisation is now in both Pass 1 and Pass 2 to catch more eventualities M compiler/x86/aoptx86.pas --- commit 25eab57a582a022f3336e052971fd56d9d3cbfd9 Author: Florian Klämpfl Date: Wed Dec 29 15:37:20 2021 +0100 * allow %... for binary constants in delphi mode, resolves #39503 M compiler/scanner.pas R089 tests/tbf/tb0067.pp tests/tbs/tb0689.pp --- commit d2447026de4165b06c574c99f54f6f646b897d88 Author: florian Date: Sat Jan 1 23:26:48 2022 +0100 + modeswitch UNDERSCOREISSEPERATOR, active by default in delphi modes: support _ as seperator in numbers, it is ignored while reading them, resolves #39504 M compiler/globals.pas M compiler/globtype.pas M compiler/scanner.pas M compiler/utils/ppuutils/ppudump.pp A tests/tbf/tb0286.pp A tests/tbf/tb0287.pp A tests/tbf/tb0288.pp A tests/tbf/tb0289.pp A tests/tbf/tb0290.pp A tests/tbs/ib0690.inc A tests/tbs/tb0690.pp A tests/tbs/tb0691.pp --- commit 2a93e65511cc09cd0723e63fd74e88f693a1c140 Author: florian Date: Sun Jan 2 13:12:33 2022 +0100 * seperator => separator M compiler/arm/armreg.dat M compiler/arm/cgcpu.pas M compiler/globals.pas M compiler/globtype.pas M compiler/hlcgobj.pas M compiler/ngenutil.pas M compiler/scanner.pas M compiler/utils/ppuutils/ppudump.pp M rtl/inc/text.inc M rtl/objpas/sysutils/datih.inc M tests/tbf/tb0287.pp M tests/tbf/tb0288.pp M tests/tbf/tb0289.pp M tests/tbf/tb0290.pp M tests/tbs/tb0690.pp --- commit 86c097086a23476a6a7cf73d28bddee86039cb5c Author: Robert Roland Date: Sun Jan 2 13:32:39 2022 -0800 Additional copyright header M compiler/aarch64/naarch64util.pas --- commit 50a37d00e78c9b51b6eda868fd28baac87361d1f Author: J. Gareth "Curious Kit" Moreton Date: Tue Jan 4 00:55:59 2022 +0000 Debugging code in AllocRegBetween is now safer and more accurate, and p2 can no longer be nil M compiler/aoptobj.pas --- commit 2b7c28e41a496cb86ca5b59bdb64596c0bcb3fa0 Author: florian Date: Tue Jan 4 16:03:39 2022 +0100 * (modified) patch by Rika: optutils.SetNodeSucessors improvement, resolves #39509 M compiler/optutils.pas --- commit 3cf00af48df50812ef32e8bbb82eb57f5edfa61d Author: florian Date: Tue Jan 4 16:12:17 2022 +0100 * compilation with -Oodfa fixed M compiler/optutils.pas --- commit 33cf86ff9f11e17c1e3dc78cd4fb503e2059193a Author: J. Gareth "Curious Kit" Moreton Date: Wed Jan 5 06:08:01 2022 +0000 PostPeepholeOptTestOr now removes TEST when dealing with POPCNT and LZCNT M compiler/x86/aoptx86.pas --- commit ea345f34aac81046f9865da1186024615e10a85d Author: ccrause Date: Wed Jan 5 08:52:37 2022 +0200 Use different library link lists for esp8266-rtos-sdk v3.3 and v3.4. M compiler/pmodules.pas M rtl/freertos/Makefile M rtl/freertos/Makefile.fpc M rtl/freertos/xtensa/esp8266.pp A rtl/freertos/xtensa/esp8266rtos_30300.pp A rtl/freertos/xtensa/esp8266rtos_30400.pp --- commit c06a3f2ca3254b39718b1ea69653d231a0e8accb Author: Pierre Muller Date: Wed Jan 5 16:38:54 2022 +0000 Avoid range check error inside tcgcasenode.pass_generate_code method M compiler/ncgset.pas --- commit abee4d46b668e5985ca49f3bcf5dc2b53e244f7f Author: Pierre Muller Date: Wed Jan 5 16:41:22 2022 +0000 Ignore NR_DEFAULTFLAGS for ait_regalloc, because there is no default flags for JVM M compiler/jvm/rgcpu.pas --- commit 15a5a62eb4a0cd3de7d8eabf394fd1fe93e4633e Author: J. Gareth "Curious Kit" Moreton Date: Wed Jan 5 17:41:32 2022 +0000 New backward MOV optimisation M compiler/x86/aoptx86.pas --- commit e26b29888565c291d9d1bb80a99d02ff28aea1b3 Author: florian Date: Wed Jan 5 19:50:01 2022 +0100 * patch by Rika: Better Align()'s #2, resolves #39512 M compiler/ogbase.pas --- commit 5944631246cabaebdaab78e5ac36426b7e2ea51e Author: ccrause Date: Wed Jan 5 23:07:09 2022 +0200 Add help message for xtensa-freertos -WP option M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 0bbfad1add6d76b4aad7bac9d6b2cb34b8f7fe1e Author: Sven/Sarah Barth Date: Thu Jan 6 18:04:32 2022 +0100 * apply patch by Blaise.ru: - avoid creation of a dummy typesym just to call parse_var_proc_directives() by introducing a new parse_proctype_directives() that takes a tprocvardef instead of a symbol like the former does - have parse_var_proc_directives() call parse_proctype_directives() to avoid duplicated code M compiler/pdecsub.pas M compiler/pdecvar.pas M compiler/ptype.pas --- commit 9c9c6cc81bcd2d99e54a7b040b1f80641ce49b9b Author: Sven/Sarah Barth Date: Thu Jan 6 18:17:26 2022 +0100 * apply patch by Blaise.ru: - all call sites of parse_var_proc_directives() have the tprocvardef easily available, so use parse_proctype_directives() directly - remove the now no longer required parse_var_proc_directives() M compiler/pdecl.pas M compiler/pdecsub.pas M compiler/pgenutil.pas --- commit e5ac99a4c97b52c95b26829b6f62ec0029798e7c Author: Sven/Sarah Barth Date: Thu Jan 6 18:22:23 2022 +0100 * apply patch by Blaise.ru: parse_object_proc_directives() and parse_object_record_directives() should only be called with procdefs, so change the parameter from tabstractprocdef to tprocdef to make this explicit M compiler/pdecsub.pas --- commit bd226c00f16b778444c41673678b2ba6eb6e1000 Author: Sven/Sarah Barth Date: Thu Jan 6 18:29:13 2022 +0100 * apply part of patch by Blaise.ru: check only once whether writable consts are enabled or not by determining the type of the assembly list earlier (it's only not needed in an error case anyway) M compiler/pdecl.pas --- commit e5df46722ef25585c66dc698943515ce95438283 Author: Sven/Sarah Barth Date: Thu Jan 6 18:36:38 2022 +0100 * apply part of patch by Blaise.ru: reduce code duplication when parsing anonymous procvar types M compiler/pdecl.pas --- commit acee4eb27ac492447d4dbde978f8989dcd292d54 Author: Sven/Sarah Barth Date: Thu Jan 6 18:40:54 2022 +0100 - apply patch by Blaise.ru: pdflags are no longer required in generate_specialization_phase2() after parse_proc_directives() was done, so remove its unused modification after that call M compiler/pgenutil.pas --- commit 89f9ebc7b7fed1af0347c9290bc8d657fab8ccb3 Author: florian Date: Thu Jan 6 21:00:41 2022 +0100 * throw an error if raise is called in a noreturn subroutine outside of any exception frame, resolves #39514 M compiler/cclasses.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pstatmnt.pas M compiler/verbose.pas A tests/tbf/tw39514.pp --- commit a8cf67d73b3a9421ec3089eae5c54e38e934161f Author: Sven/Sarah Barth Date: Thu Jan 6 21:33:57 2022 +0100 * apply patch by Blaise.ru: reject assignments of instance methods, accessed via a type, to method pointers + add tests M compiler/pexpr.pas A tests/test/tprocvar10.pp A tests/test/tprocvar4.pp A tests/test/tprocvar5.pp A tests/test/tprocvar6.pp A tests/test/tprocvar7.pp A tests/test/tprocvar8.pp A tests/test/tprocvar9.pp --- commit 6e7a82440ef55b0e8d125e49b791ac8dd7ca43f9 Author: Sven/Sarah Barth Date: Thu Jan 6 21:54:46 2022 +0100 * apply patch by Blaise.ru: avoid internal error when assigning class methods, accessed via a class reference type, to incompatible procvars + added tests M compiler/ncnv.pas A tests/test/tprocvar11.pp A tests/test/tprocvar12.pp A tests/test/tprocvar13.pp A tests/test/tprocvar14.pp A tests/test/tprocvar15.pp --- commit bc4eb00a7a1d2c2050a8056d13abaf8656897bc0 Author: Sven/Sarah Barth Date: Thu Jan 6 21:59:11 2022 +0100 * apply patch by Blaise.ru: proper code generation for assigning class non-static methods, accessed via a class reference type, to method pointers + added test M compiler/pexpr.pas A tests/test/tprocvar16.pp --- commit f4e28ab357c786dc55efc9f9b3f5a4356f7d0629 Author: J. Gareth "Curious Kit" Moreton Date: Thu Jan 6 22:03:14 2022 +0000 * x86: Fixes to GetInt/MMRegisterBetween assignments M compiler/x86/aoptx86.pas --- commit 9ee672f9eb8584c4d2de627aa131f6299711776f Author: J. Gareth "Curious Kit" Moreton Date: Fri Jan 7 08:43:41 2022 +0000 * New UpdateUsedRegsBetween utility subroutine M compiler/aoptobj.pas --- commit 4d33e5f137bce78e1d14a02cee370fd42e6adebe Author: J. Gareth "Curious Kit" Moreton Date: Fri Jan 7 09:09:06 2022 +0000 * x86: OptPass1_V_MOVAP now uses GetNextInstructionUsingReg and UpdateUsedRegsBetween M compiler/x86/aoptx86.pas --- commit d5a104f493227253eed8daa13f8b631366bfdccf Author: J. Gareth "Curious Kit" Moreton Date: Fri Jan 7 10:25:00 2022 +0000 Fixed Internal Error 2020120501 number clash M compiler/ncginl.pas --- commit 4966e9376477defcdf6f292a8ef84d2079c7ce41 Author: florian Date: Fri Jan 7 11:03:30 2022 +0100 * small fix for ie M compiler/x86/cgx86.pas --- commit 6a9b4a1b13b4e0585301037c6f26838216f43ebd Author: Sven/Sarah Barth Date: Fri Jan 7 19:13:28 2022 +0100 + apply patch by Blaise.ru: allow initialisation of method pointers with class methods (when class types are known at compile time) * adjust error message when a method pointer isn't suitable + add tests M compiler/msg/errore.msg M compiler/ngtcon.pas A tests/test/tprocvar17.pp A tests/test/tprocvar18.pp A tests/test/tprocvar19.pp A tests/test/tprocvar20.pp --- commit 1d4c28fb35ffe12a16ae79c8e6cd3c4a85b38c7b Author: Sven/Sarah Barth Date: Fri Jan 7 19:14:38 2022 +0100 * regenerate msg{idx,txt}.inc after message change in last commit M compiler/msgidx.inc M compiler/msgtxt.inc --- commit c3e94051a18038745302b04dd6e1a75fa5153574 Author: Pierre Muller Date: Sat Jan 8 00:18:47 2022 +0100 Use '.rodata' for read-only data section for aarch64 CPU M compiler/aggas.pas --- commit bb49c190afdd16da94cae4c6fdbc1e5ae4f8aa7f Author: J. Gareth "Curious Kit" Moreton Date: Sun Jan 9 08:38:21 2022 +0000 New MOV optimisation that helps reduce instruction count and memory accesses M compiler/x86/aoptx86.pas --- commit 6ac50f4100ee4c4e967dbd5754d338d4c7debe3a Author: Sven/Sarah Barth Date: Sun Jan 9 13:25:52 2022 +0100 + add method ResetSourceLines to TExternalAssembler to reset already written lines M compiler/assemble.pas --- commit 088c746d45fadc744878771d586ecd42a1d75b31 Author: Sven/Sarah Barth Date: Sun Jan 9 13:27:36 2022 +0100 * reset written source lines once a section is encountered M compiler/aggas.pas M compiler/llvm/agllvm.pas M compiler/powerpc/agppcmpw.pas M compiler/x86/agx86int.pas M compiler/x86/agx86nsm.pas M compiler/z80/agsdasz80.pas M compiler/z80/agz80vasm.pas --- commit 9d95e6159ef7e9a88b50c751341e789db2e1033b Author: Sven/Sarah Barth Date: Sun Jan 9 13:30:46 2022 +0100 * fix typo in comment M compiler/pass_1.pas --- commit 985e8d3d13ae35a53b3353ffe79df261cb8e5680 Author: ccrause Date: Mon Jan 10 21:53:01 2022 +0200 Remove fall-through logic and separate idf_version checks of esp32 and esp8266. Also warn if idf_version is below the supported range. M compiler/pmodules.pas --- commit 8e4e229a5fe9e8086d39bf36d23496794e29fe6f Author: florian Date: Tue Jan 11 22:10:26 2022 +0100 + DestSize parameter for fpc_Val_UInt functions M compiler/ninl.pas M rtl/inc/astrings.inc M rtl/inc/compproc.inc M rtl/inc/sstrings.inc M rtl/inc/ustrings.inc M rtl/inc/wstrings.inc --- commit d209d3ba846b9f8a5858efe1a261f793b30349e7 Author: J. Gareth "Curious Kit" Moreton Date: Wed Jan 12 08:52:35 2022 +0000 Refactoring procedures in aoptx86 to gain speed boosts M compiler/x86/aoptx86.pas --- commit 986a6feb95287ae33f0acbb8854327f43c6227b7 Author: Rika Ichinose Date: Wed Jan 12 11:10:45 2022 +0300 Allocate THashSet item and its key together when FOwnKeys=true. M compiler/cclasses.pas --- commit 0634d5349d549e3af38d845d92b727504c752857 Author: Rika Ichinose Date: Thu Jan 13 09:28:42 2022 +0300 * add const M compiler/optdfa.pas --- commit 92771760b79fe0f30e67400b6e1f131287c621b7 Author: Rika Ichinose Date: Thu Jan 13 10:26:02 2022 +0300 Get rid of some global variables. M compiler/optdfa.pas M compiler/optutils.pas --- commit 32d6cf7093c086fc3e963880860e62509f69d0bb Author: J. Gareth "Curious Kit" Moreton Date: Sun Jan 16 19:19:58 2022 +0000 Fixed and refactored MOVX optimisation that occasionally caused crashes on i386 platforms M compiler/x86/aoptx86.pas --- commit fbc65314b97740a39dac494cdd1fe238554a43a9 Author: Robert Roland Date: Mon Jan 17 15:36:51 2022 -0800 Correct linker script for aarch64-embedded Start address was wrong, should be 0x80000, not 0x8000 M compiler/aarch64/cpuinfo.pas --- commit a7a0f47d9802eec87bd1154c5abdd4a5251dc5f4 Author: Sven/Sarah Barth Date: Mon Jan 17 22:17:57 2022 +0100 * extract a symbol or def from its previous owner if that owner has OwnsObjects set to true M compiler/symtype.pas --- commit eaeb6148874625b62b5bb6e8e75f802b88ea11d5 Author: Sven/Sarah Barth Date: Mon Jan 17 22:18:40 2022 +0100 + provide a tsym based variant of ChangeOwnerAndName M compiler/pgenutil.pas M compiler/symtype.pas --- commit cdf676c9b5334642fc72a5f17928b8280cbe6038 Author: Sven/Sarah Barth Date: Mon Jan 17 22:21:14 2022 +0100 * a function also captures other nested functions when these are called M compiler/ncal.pas --- commit 76d3a9c4b5a20a226aad427a61c87e12595e0139 Author: Sven/Sarah Barth Date: Mon Jan 17 22:31:41 2022 +0100 * generate a better name if the procdef is an anonymous one M compiler/symdef.pas --- commit 7de854ef1ec86310c67192a734cd1114ef03ad26 Author: Sven/Sarah Barth Date: Mon Jan 17 22:41:06 2022 +0100 + add method register_implemented_interface to tobjectdef which registers an implemented interface and - if desired - also initializes the GUID related fields of the objectdef * use that method in all locations outside symdef that add add an implemented interface Based on work by Blaise.ru M compiler/jvm/pjvm.pas M compiler/pdecobj.pas M compiler/pgenutil.pas M compiler/symdef.pas --- commit a9d883ada1de38e0c6cabf8832952111ad56fca1 Author: ccrause Date: Tue Jan 18 08:17:22 2022 +0200 Add link unit for esp-idf v4.1. Version checks to allow for different patch levels in idf_version. M compiler/pmodules.pas M rtl/freertos/Makefile M rtl/freertos/Makefile.fpc A rtl/freertos/xtensa/espidf_40100.pp --- commit 73287c35d20d3583840fa115519ca96baa659d5f Author: ccrause Date: Tue Jan 18 08:18:21 2022 +0200 GenerateDefaultLinkerScripts should set out_ld_filename. M compiler/systems/t_freertos.pas --- commit 4640120dbd167ac8c800311e52f6694dd3c4307a Author: ccrause Date: Tue Jan 18 08:19:43 2022 +0200 esp32.rom.api.ld was only introduced in esp-idf v4.3. Remove invalid linker search path. M compiler/systems/t_freertos.pas --- commit c59b6a5d8dfa4a20eec23345839d116905de03f5 Author: Sven/Sarah Barth Date: Tue Jan 18 21:54:05 2022 +0100 * High() and Length() for dynamic arrays deal with sizesinttype instead of ossinttype (on AVR the former is 16-bit while the later is 8-bit thus this is an important distinction) M compiler/ncginl.pas M compiler/ninl.pas --- commit c062061d6d16782c0e0f53e3fc9f2ad4bda0b905 Author: florian Date: Tue Jan 18 23:04:32 2022 +0100 + MovapXComisX2ComisX2 optimization M compiler/x86/aoptx86.pas --- commit ec02d0abb083a556a5240c27b4baf8a7dc606cc6 Author: Sven/Sarah Barth Date: Tue Jan 18 23:09:13 2022 +0100 + add constants for the Invoke symbol of a function reference interface (both for declaring and finding it) M compiler/symconst.pas --- commit 22bbcf4b27a574dd3e8bf1978f10f35cacf71b57 Author: Sven/Sarah Barth Date: Tue Jan 18 23:10:35 2022 +0100 + add utility function to retrieve the invoke procdef of a function reference interface M compiler/defutil.pas --- commit b407b67ca1afef62a10c9bcd06539b480250d580 Author: Nikolay Nikolov Date: Wed Jan 19 07:08:32 2022 +0200 * regenerate all makefiles with latest fpcmake M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-hash/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-mustache/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gitlab/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/qlunits/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile M utils/wasmbin/Makefile --- commit 5738a6ccf12819d7a4a039ea70e80f69432e3b61 Author: J. Gareth "Curious Kit" Moreton Date: Wed Jan 19 15:59:05 2022 +0000 Refactoring and bug fix in OptPass2Movx that could cause incorrect values in overflow conditions M compiler/x86/aoptx86.pas --- commit a362c93f73148b505d87feea9e8e3c7ade99178b Author: florian Date: Thu Jan 20 19:01:31 2022 +0100 * Aarch64: operations affect always the full 64 bit register, so TCpuAsmOptimizer.RegLoadedWithNewValue can use SuperRegistersEq M compiler/aarch64/aoptcpu.pas --- commit a6921fff7bd15a4635d0bffc5f17df08bdeaa6d7 Author: florian Date: Thu Jan 20 19:02:27 2022 +0100 + Aarch64: SxthSxtw2Sxth optimization M compiler/armgen/aoptarm.pas --- commit 47825610b807e0b29022956ed8c6079f82080a37 Author: J. Gareth "Curious Kit" Moreton Date: Thu Jan 20 23:31:02 2022 +0000 * Pass 2 can now be run multiple times when under -O3 and above. M compiler/aoptobj.pas M compiler/i386/aoptcpu.pas M compiler/x86_64/aoptcpu.pas --- commit 69fff102af0e272918219f7e168dbc9f3df8c3a9 Author: J. Gareth "Curious Kit" Moreton Date: Fri Jan 21 00:46:39 2022 +0000 Added correct flag tracking for JccMov2CMov optimisations M compiler/x86/aoptx86.pas --- commit 2e70bd7dcb7ede8d97c18582ce725597bb0507b4 Author: Sven/Sarah Barth Date: Fri Jan 21 07:38:48 2022 +0100 * change cgsize2subreg and reg_cgsize on Z80 to behave more like they do on AVR; this fixes compilation of Z80 now that the array and string length fields are indeed of type SizeSInt instead of OSSInt M compiler/z80/cpubase.pas --- commit d4e0a79d9e43686ec0584a87d57acff189f01d01 Author: Sven/Sarah Barth Date: Sat Jan 22 18:10:56 2022 +0100 * move the handling of the symbol found in factor_read_id to a separate function M compiler/pexpr.pas --- commit 5ce96de0f2aa890496721b3462629ae99f3c2e64 Author: Sven/Sarah Barth Date: Sat Jan 22 18:12:02 2022 +0100 * ensure that an expression that involves an overloaded generic in mode Delphi isn't handled as a specialization if it shouldn't be + added tests M compiler/pexpr.pas A tests/test/tgenconst31.pp A tests/test/tgenconst32.pp A tests/test/tgenconst33.pp A tests/test/ugenconst31a.pp A tests/test/ugenconst31b.pp --- commit 1a8444087a70a0984f6e2f84efb16db0c235f1b7 Author: Sven/Sarah Barth Date: Sat Jan 22 22:28:01 2022 +0100 * ensure that result of factor_handle_sym is initialized M compiler/pexpr.pas --- commit 2a7744df803e34ae64172be65946322b09748b6a Author: florian Date: Sun Jan 23 12:30:16 2022 +0100 * check also for 64 bit registers in TX86AsmOptimizer.RegModifiedByInstruction M compiler/x86/aoptx86.pas --- commit d93c7579deabaf1dc14abe1b90b91dd57621b16a Author: Thorsten Otto Date: Mon Jan 24 09:16:04 2022 +0100 Fix linker commandline for m68k-atari M compiler/systems/t_atari.pas --- commit f8e04aad038cbdd8719cc7e72b850850c8983713 Author: J. Gareth "Curious Kit" Moreton Date: Mon Jan 24 14:15:04 2022 +0000 CMOV now modifies rather than writes to the destination register so RegUsedAfterInstruction behaves properly M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 859ae5fc7c8d7fd43be1e1dc11284c455a176f90 Author: Thorsten Otto Date: Mon Jan 24 14:47:13 2022 +0100 Fix linker script for atari/gnu ld M compiler/systems/t_atari.pas --- commit 9c20a033e0ba0c0cde2594a92d8f512252f50cc3 Author: Pierre Muller Date: Mon Jan 24 15:16:26 2022 +0000 Fix fullinstall make target M compiler/Makefile M compiler/Makefile.fpc --- commit 88959bdda78e45058714616f15d3d625b3e5b570 Author: Karoly Balogh Date: Tue Jan 25 11:57:08 2022 +0100 * m68k-sinclairql: fix the inclusion of the target proper M compiler/compiler.pas M compiler/systems/i_sinclairql.pas --- commit c4f9ec91c92b9d018b24be606b1c7cf74460cd66 Author: Nikolay Nikolov Date: Tue Jan 25 12:56:02 2022 +0200 + fix support for 8-byte records, held in a register pair on the WebAssembly target. This fixes #39524 M compiler/wasm32/hlcgcpu.pas --- commit bb637fa389d846893ed8e5b4d2b1fd02b1382ab9 Author: Sven/Sarah Barth Date: Tue Jan 25 19:53:48 2022 +0100 * adjust parse_proctype_directives so that it can handle a function reference as well M compiler/pdecsub.pas --- commit b3cbf07f27bd59c1988ff5055f82dd1f092d6f19 Author: Karoly Balogh Date: Tue Jan 25 23:14:34 2022 +0100 + m68k-atari: fixed bogus TOS program flags passed to VLink. added -WF argument to allow the user to specify their own flags if needed M compiler/globals.pas M compiler/msg/errore.msg M compiler/options.pas M compiler/systems/t_atari.pas --- commit 9739a88e119f4639eaf51b0eb07a04b3a28fb457 Author: Karoly Balogh Date: Tue Jan 25 23:15:29 2022 +0100 * regenerated message includes M compiler/msgidx.inc M compiler/msgtxt.inc --- commit ed2dca9a9b6aa989265b355d597a23302144a818 Author: Karoly Balogh Date: Tue Jan 25 23:21:23 2022 +0100 * m68k-atari: make the Atari target use 68000 CPU as default M compiler/options.pas --- commit a87b38f7530f472401ec5e77aec73d37ab1dd47e Author: Karoly Balogh Date: Tue Jan 25 23:22:29 2022 +0100 * m68k-atari: make the Atari target always default to VLink, even for crosscompilers M compiler/options.pas --- commit 6010ece53248848dff792ee6af912ebadccb1efd Author: Karoly Balogh Date: Tue Jan 25 23:49:46 2022 +0100 * m68k-atari: make vasm the default assembler. also don't claim we have an internal linker M compiler/systems/i_atari.pas --- commit 29625c71126cf418d6f25f7e868b40e6e5a24c08 Author: J. Gareth "Curious Kit" Moreton Date: Wed Jan 26 03:27:54 2022 +0000 Fixed registers in references not being tracked properly in MovMovXX2MovXX 1 optimisation M compiler/x86/aoptx86.pas --- commit c9e8bfd118dd79985f4ee8f42cae590c5268ca12 Author: Pierre Muller Date: Wed Jan 26 12:23:18 2022 +0000 Add internalerror if ogwasm tries to write unset Func/Global or TagIndex of TWasmObjSymbol M compiler/ogwasm.pas --- commit 2c0f10d9887b676545b05e06e2c29a07d74d8fae Author: Nikolay Nikolov Date: Wed Jan 26 19:45:22 2022 +0200 * when adding WebAssembly object info, traverse through current_module.used_units, as well as the usedunits global. This resolves #39543 M compiler/wasm32/nwasmutil.pas A tests/webtbs/tw39543.pp A tests/webtbs/uw39543a.pp A tests/webtbs/uw39543b.pp --- commit 60c967f255d4116c784810a1f8bdf45e8f7982ea Author: Sergey Larin Date: Thu Jan 27 15:35:15 2022 +0300 Optimized the comparison of a widestring variable with '' M compiler/nadd.pas --- commit 35db2b2da3732abc46140a1b930a877d7bbe4aa1 Author: Sergey Larin Date: Thu Jan 27 16:54:56 2022 +0300 Fixed optimization `Length(W)=0` -> `(Pointer(W)=nil) or (PLongword(Pointer(W)-4)^=0)` for WideString M compiler/nadd.pas --- commit fd26453d5a802abadf17a5a3dc258e6bea4ac632 Author: Sven/Sarah Barth Date: Thu Jan 27 22:25:03 2022 +0100 * name of result variable of anonymous functions can be changed (and must be in modes without modeswitch Result) M compiler/pdecsub.pas --- commit d5d97169163c83545fbb298b812a7f34d5b7ffe2 Author: florian Date: Thu Jan 27 22:36:34 2022 +0100 * fix thlcgxtensa.g_intf_wrapper as proposed by Anton in #39326, resolves #39326 M compiler/xtensa/hlcgcpu.pas --- commit c92e290d679ac3d7b46b15b8f3a53fbf59284cd8 Author: Sven/Sarah Barth Date: Thu Jan 27 22:37:10 2022 +0100 * extend parse_proctype_directives to handle proc(var)defs as well as invokables M compiler/pdecsub.pas --- commit 39f553496995104b1b674d48eead521243ce70f8 Author: Sven/Sarah Barth Date: Thu Jan 27 22:38:07 2022 +0100 * adjust handle_calling_convention so that it can be used with both proc(var)defs and invokables M compiler/pdecsub.pas M compiler/pparautl.pas --- commit 92082ab28f3f7d4a149cf3ca0b6a6190c50be29f Author: Sven/Sarah Barth Date: Thu Jan 27 23:11:33 2022 +0100 * correctly handle directives for anonymous functions M compiler/pdecsub.pas --- commit de58691e75b64891a12b106fcc243a79b63f15a6 Author: Sergey Larin Date: Fri Jan 28 13:09:52 2022 +0300 Allow WideChar const to UTF8String const conversion M compiler/ncnv.pas --- commit f21f7f0f506a66a8384c2300330e3235bbb68e20 Author: florian Date: Fri Jan 28 22:48:50 2022 +0100 * handle result type of unsigned ordinal operations in ISO/Extpas mode similiar to TP, solves #37875 M compiler/nadd.pas A tests/webtbs/tw37875.pp --- commit b26463ed993e184d2e2dc2cd9059ca7a024552a4 Author: Joost van der Sluis Date: Sat Jan 29 22:57:17 2022 +0100 * Removed unused parameter M compiler/dbgdwarf.pas --- commit e5472845882a4747c80ba6e0d7ceaff936c71484 Author: Joost van der Sluis Date: Sat Jan 29 23:13:41 2022 +0100 * Section-offsets have 64 bits in the Dwarf-64 format M compiler/dbgdwarf.pas --- commit 181ee30174afabdb00c3d631ac4bda26c0c31135 Author: ccrause Date: Sun Jan 30 09:11:28 2022 +0200 Update build and link requirements for esp-idf v4.4. Refactor the version dependent linker fragments list into an array of version specific array of strings for easier updating in future. M compiler/pmodules.pas M compiler/systems/t_freertos.pas M rtl/freertos/Makefile M rtl/freertos/Makefile.fpc A rtl/freertos/xtensa/espidf_40400.pp --- commit c4ea01cf3d328f81311b2ae0118cf2c3944efe56 Author: J. Gareth "Curious Kit" Moreton Date: Sun Jan 30 14:27:17 2022 +0000 Improved JccMov1JmpMov0Jmp -> SETcc optimisation M compiler/x86/aoptx86.pas --- commit 8bef91d1de212c03036d234ebd0ece80a11f1867 Author: Sven/Sarah Barth Date: Sun Jan 30 17:17:29 2022 +0100 * declare the type symbol of an internal def as sp_internal M compiler/symdef.pas --- commit 5cf15be434bdaf2cacca29270030a5fd0ca4012e Author: Sven/Sarah Barth Date: Sun Jan 30 17:19:05 2022 +0100 + add a constructor for trecorddef to declare an internal record type as part of a specific other type Based on code by Blaise.ru M compiler/symdef.pas --- commit 30a7199165e96728ee8ab899209fe83ed775454d Author: Sven/Sarah Barth Date: Sun Jan 30 17:23:40 2022 +0100 * make the VMT symbol and type def of the corresponding class or object instead of having them be global * bump PPU version to avoid potential compilation errors due to this Based on code by Blaise.ru M compiler/ncgvmt.pas M compiler/nobj.pas M compiler/ppu.pas M compiler/symconst.pas M compiler/symdef.pas --- commit 41d4e181ea3674581bf32633bdc90376513a145c Author: Thorsten Otto Date: Mon Jan 31 15:11:32 2022 +0100 atari: pass tos exe flags also to ld M compiler/systems/t_atari.pas M rtl/atari/system.pp --- commit 073b48de826c232bba310d8b05490daead429411 Author: Thorsten Otto Date: Mon Jan 31 18:53:08 2022 +0100 atari: add -Wt option to allow specifying the executable format This is useful to create aoutmint format binaries using vlink, which have a symbol table that has no limit for the name length. M compiler/globals.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas M compiler/systems/t_atari.pas --- commit b2eaa4e701b6f3959a9ae94f116bdee092a56cb9 Author: florian Date: Wed Feb 2 22:14:14 2022 +0100 + some MIPS64 stuff added to the Makefiles M compiler/Makefile M compiler/Makefile.fpc M utils/fpcm/fpcmake.inc M utils/fpcm/fpcmake.ini --- commit b2e553d3c403c2fc8994714ed998cc542c6eaaa1 Author: florian Date: Thu Feb 3 23:15:11 2022 +0100 * mips64el compiler can be compiled M compiler/mips/ncpuadd.pas M compiler/mips/ncpumat.pas --- commit ea812d1c2ea7994f610b30cd459c0e235f46fdd3 Author: Pierre Muller Date: Fri Feb 4 18:31:53 2022 +0000 mips64 define must also set mips M compiler/fpcdefs.inc --- commit 65880e66313c1329c4079e2be1a4121baa83ff21 Author: Pierre Muller Date: Fri Feb 4 19:57:42 2022 +0000 Also set mipseb or mipsel macro for 64-bit mips CPU M compiler/fpcdefs.inc --- commit 4db332fecf8a81392120f58d42e84142161ab7fd Author: Pierre Muller Date: Fri Feb 4 19:59:26 2022 +0000 Add default macros inoptions unit for mips64 and mips64el CPUs M compiler/options.pas --- commit a9c67f22fd3c74fcdf352f11ebe861d0f526710a Author: Pierre Muller Date: Fri Feb 4 22:51:55 2022 +0000 Add use of SD instruction in tcgmips.a_load_reg_ref method M compiler/mips/cgcpu.pas --- commit ed2b73eee6ce40f37f52ad0d09d4f30421b6646e Author: florian Date: Fri Feb 4 23:07:25 2022 +0100 * sorted MIPS defines M compiler/fpcdefs.inc M compiler/options.pas --- commit f02fc4fe0fa850f574eab90ac308933cb8eb1485 Author: Sven/Sarah Barth Date: Sat Feb 5 18:55:18 2022 +0100 * move checking for a def in the hierarchy to a separate nested function and use it to check the hierarchy of the current def being specialized as well M compiler/pgenutil.pas --- commit ec96d4242a682926ef1df2724a9cea074aa69f8b Author: Sven/Sarah Barth Date: Sat Feb 5 18:57:12 2022 +0100 * check hierarchy of the current generic or specialization def independant of whether it's a record- or objectdef M compiler/pgenutil.pas --- commit b297199ab6dd8e698fd8009d8c5b4bc26fb53376 Author: Sven/Sarah Barth Date: Sat Feb 5 19:31:18 2022 +0100 + add a field to denote that a symbol (mainly local and parameter ones) was captured through another symbol M compiler/symsym.pas --- commit ac4df2b0660b1f7896ab20d30a7f845f446d5b72 Author: Sven/Sarah Barth Date: Sat Feb 5 19:36:49 2022 +0100 * don't check for a duplicate internal symbol in inherited symtables M compiler/symtable.pas --- commit 6299e94c8f99fa043920d005c4111d657f690e7c Author: Sven/Sarah Barth Date: Sat Feb 5 20:41:44 2022 +0100 * set the type symbol of the procvar while it is parsed so that a function reference can have itself as part of the parameters or the return type M compiler/ptype.pas --- commit ff0b560fe422caa2692f77799dd382e566a89fdc Author: Sven/Sarah Barth Date: Sat Feb 5 20:45:34 2022 +0100 * set the flag that the symtable contains a generic at the end of the corresponding block of types_dec() to ensure that the owner is assigned correctly M compiler/pdecl.pas --- commit 145b37425d4af659e6d77faa75cc564c9bfa8395 Author: Sven/Sarah Barth Date: Sat Feb 5 21:27:25 2022 +0100 + add function funcref_equal to check whether two function references are considered equal enough to be assignable M compiler/defcmp.pas --- commit 47d7520b32b13967dbf65464edd65cf713477f67 Author: Sven/Sarah Barth Date: Sat Feb 5 21:28:43 2022 +0100 * consider invokables as related when they're equal M compiler/defcmp.pas --- commit 533a11ec80671a14059c89f6ccd15be44f16f1c8 Author: Sven/Sarah Barth Date: Sat Feb 5 21:36:50 2022 +0100 * correctly handle calling convention for function references M compiler/pdecl.pas M compiler/pdecvar.pas M compiler/pgenutil.pas --- commit 3eac88eeaf90fa5addcf7b03612dafe9236cd114 Author: Sven/Sarah Barth Date: Sat Feb 5 21:46:37 2022 +0100 * protected symbols are visible for defs declared in a local symtable as well M compiler/symtable.pas --- commit e9e8013316ed280b268485762206dc9c3357359e Author: florian Date: Sat Feb 5 23:25:08 2022 +0100 + some basic stuff for MIPS64 M compiler/constexp.pas M compiler/entfile.pas M compiler/fpcdefs.inc M compiler/globals.pas M compiler/systems.inc M compiler/systems.pas M compiler/systems/i_linux.pas M compiler/utils/ppuutils/ppudump.pp --- commit bd82ad0d4166303b6ff2b0f43ba66d5fc7edebe1 Author: florian Date: Sun Feb 6 10:50:35 2022 +0100 * register MIPS64 targets properly M compiler/systems/t_linux.pas --- commit 90ebeb275a6cb28db8397cdaab9eb16eb961b835 Author: Sven/Sarah Barth Date: Sun Feb 6 12:46:58 2022 +0100 + add utility function to retrieve a file position of a usage of a type symbol from a type's definition M compiler/symdef.pas --- commit b5ab81c98342cf824a8337be41ea15e1f5502b75 Author: Sven/Sarah Barth Date: Sun Feb 6 12:49:21 2022 +0100 * an internal definition in a specialization might not have a genericdef M compiler/pgenutil.pas --- commit 897f0e178414116764304b49b26db58beef476d8 Author: Sven/Sarah Barth Date: Sun Feb 6 12:49:57 2022 +0100 * if a symbol is not part of a symtable then assume it's from the current module M compiler/pgenutil.pas --- commit a0171e433531aa21219e715be55a936ef9d5efc3 Author: Sven/Sarah Barth Date: Sun Feb 6 12:51:17 2022 +0100 + add an error message for when a symbol can't be captured M compiler/msg/errore.msg --- commit 0e0739a64f4da96b414f5ed447428c44ad8155ca Author: Sven/Sarah Barth Date: Sun Feb 6 12:52:11 2022 +0100 * regenerate msg{idx,txt}.inc M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 9aac622dc91b8c9b6c9293c12901cf9f57d4d048 Author: Sven/Sarah Barth Date: Sun Feb 6 13:00:57 2022 +0100 + add necessary core functions and functionality to implement capturing of variables Based on code by Blaise.ru M compiler/procdefutil.pas M compiler/symdef.pas --- commit 749faa42eed7c49def6323af3412831cf1e6adb8 Author: Sven/Sarah Barth Date: Sun Feb 6 13:03:32 2022 +0100 * do not insert the $result symbol again when the VMT for the capturer is built M compiler/pparautl.pas --- commit 6fe9a1509497cac3937163bc676693c832e62fe2 Author: Sven/Sarah Barth Date: Sun Feb 6 13:06:16 2022 +0100 + add function to check whether a procdef can be converted to a function reference M compiler/defcmp.pas --- commit 9b9ae2db1ad85bb5d9aa0aab7772b8aea9bb32be Author: Sven/Sarah Barth Date: Sun Feb 6 13:09:01 2022 +0100 * two function references are equal to each other as long as their signatures match M compiler/defcmp.pas --- commit f8b1801a8fb7a247ea31be7260c44e333d069a8e Author: Sven/Sarah Barth Date: Sun Feb 6 13:10:47 2022 +0100 + implement necessary functionality in tcgprocinfo to initialize and populate the capturer Based on code by Blaise.ru M compiler/psub.pas --- commit c1ef0944572b0a38dcc30f9555cc8b78913896c7 Author: florian Date: Sun Feb 6 13:50:32 2022 +0100 + startup code skeleton for MIPS64 M compiler/systems.pas M rtl/linux/Makefile M rtl/linux/Makefile.fpc A rtl/linux/mips64/si_c.inc A rtl/linux/mips64/si_dll.inc A rtl/linux/mips64/si_g.inc A rtl/linux/mips64/si_prc.inc A rtl/linux/mips64el/si_c.inc A rtl/linux/mips64el/si_dll.inc A rtl/linux/mips64el/si_g.inc A rtl/linux/mips64el/si_prc.inc A rtl/mips64el/makefile.cpu A rtl/mips64el/mips64el.inc --- commit 568d4de77ec6088683375ea8ad376972e03d3c95 Author: Karoly Balogh Date: Sun Feb 6 16:30:04 2022 +0100 * aros64: recent developments hanged the library call ABI, lets try to follow it (aros64 is experimental) M compiler/pdecsub.pas M compiler/syscinfo.pas M compiler/x86_64/cpupara.pas M compiler/x86_64/nx64cal.pas --- commit 06a00b53c3ea8d0ff655a0b925c26dcb275be1e7 Author: Sven/Sarah Barth Date: Sun Feb 6 19:14:18 2022 +0100 * also handle function references when a generic one had been parsed M compiler/pgenutil.pas --- commit b28495a423993aebba17b3e157ea75e10f5e7179 Author: Sven/Sarah Barth Date: Sun Feb 6 19:37:53 2022 +0100 + add flag to denote an object def as a function reference M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp --- commit 2ed2c213136a4e7eede7ec2f4761f4d23bb27562 Author: Sven/Sarah Barth Date: Sun Feb 6 19:39:53 2022 +0100 + add support for parsing function references M compiler/pdecl.pas M compiler/pdecvar.pas M compiler/pexpr.pas M compiler/procdefutil.pas M compiler/ptype.pas --- commit a6d6f938878d5723e8dff5f81def5d2392b0a3b6 Author: Florian Klämpfl Date: Sun Feb 6 20:15:00 2022 +0100 * revert accidently committed code M compiler/constexp.pas --- commit f0748ad59bdff939e9d3c2f535fc8e046ec3a305 Author: Sven/Sarah Barth Date: Sun Feb 6 21:41:47 2022 +0100 + add flag to denote that an objectdef is invokable, thus can be used like a function variable M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp --- commit 833a971877521a3a906207fb37e84ccbc9f27f23 Author: Sven/Sarah Barth Date: Sun Feb 6 21:42:20 2022 +0100 + add utility function to check whether an objectdef is an invokable one M compiler/defutil.pas --- commit c3736810ac018b5aadb7d54c6f6c4c41d1c59344 Author: Sven/Sarah Barth Date: Sun Feb 6 21:44:59 2022 +0100 * if an interface is declared inherit the invokable flag from the parent interface M compiler/pdecobj.pas --- commit 28964711d7941d466e54261a7581241a97e66a1e Author: florian Date: Sun Feb 6 21:52:51 2022 +0100 * sorted defines in the compiler: mips64 is defined on all 64 Bit mips platforms, mips64el for little endian, misp64eb for big endian M compiler/fpcdefs.inc M compiler/options.pas M compiler/systems.pas M compiler/systems/t_linux.pas --- commit c42b8c43bd8725ca5f479ba02124f9bdb2e9670b Author: florian Date: Mon Feb 7 23:04:07 2022 +0100 * \t => spaces M compiler/systems/t_atari.pas M compiler/x86/aasmcpu.pas --- commit fe39f9ca216b22ca75bf1f065b3a6bdd5fcfd491 Author: J. Gareth "Curious Kit" Moreton Date: Mon Feb 7 23:10:53 2022 +0000 Fixed bug on x86 platforms where the stack pointer was not allocated if it was different to the frame pointer M compiler/i386/cgcpu.pas M compiler/x86/cgx86.pas M compiler/x86_64/cgcpu.pas --- commit 8f083f6342ab8d193d5dc0ae2205bad4b1d7bab9 Author: Karoly Balogh Date: Tue Feb 8 01:26:13 2022 +0100 * m68k: do not generate unnecessary unaligned load sequences for byte loads into registers, this fixes tcnvint1 test on plain 68000 M compiler/m68k/cgcpu.pas --- commit 077a3f1892da9a3f493c321f905825a02b82968b Author: Karoly Balogh Date: Tue Feb 8 03:04:28 2022 +0100 * m68k: don't attempt to copy less than 1 byte in g_concatcopy, this fixes tdfa7.pp on 68000 and removes some superfluous address processing on 68020+ in the same test M compiler/m68k/cgcpu.pas --- commit 305e49c0b81b9db7872c2ff2717dbe54b92c8f3b Author: J. Gareth "Curious Kit" Moreton Date: Tue Feb 8 04:56:36 2022 +0000 * Some streamlining in x86's OptPass1LEA routine now that the stack pointer is properly tracked, which also permits some deeper optimisations on -O1 and -O2 virtually for free. M compiler/x86/aoptx86.pas --- commit a20bfc07535f5e6d7d27fafdec826ed8de07ee61 Author: Sven/Sarah Barth Date: Tue Feb 8 07:34:09 2022 +0100 + add utility function to check whether an invokable can be invoked without explicit parameters M compiler/defutil.pas --- commit bbece3e6680dd7a7a9454b1f55db125619f8e639 Author: florian Date: Tue Feb 8 23:08:32 2022 +0100 * MIPS64 can * MIPS64 does not need separate 64 bit code path for ordinals M compiler/mips/cpupara.pas M compiler/ncgadd.pas --- commit ba51494bd7d9f5552c91918ea01f3c9e02152149 Author: florian Date: Wed Feb 9 22:59:36 2022 +0100 * more MIPS64 fixes M compiler/mips/cgcpu.pas A rtl/mips64/cpuh.inc --- commit 5e148c1dca80849b7ddd9b51574cab821fab7a60 Author: Sven/Sarah Barth Date: Thu Feb 10 07:25:58 2022 +0100 + add a new tproccopytyp pc_normal_no_paras to copy an abstractprocdef without its parameters (useful if the parameters themselves will be reused and the original def otherwise deleted) M compiler/symdef.pas --- commit 67d80d414b5d1e9b8cad34ce56f984c6c51de00d Author: florian Date: Thu Feb 10 22:42:10 2022 +0100 * do not copy parameters onto the stack using FPU registers if the type is actually handled by the MM unit, resolves #39567 M compiler/hlcg2ll.pas --- commit 2d1e420e54226cd68ab647d416db84f5fceee2af Author: Pierre Muller Date: Fri Feb 11 22:18:27 2022 +0000 Adding common directory for riscv32/64 and -dNOOPT for wasm32 M packages/ide/compiler/Makefile M packages/ide/compiler/Makefile.fpc --- commit 3c91a7c01ea16f5fc9239b21636d4127faacaf31 Author: Nikolay Nikolov Date: Sun Feb 13 02:54:40 2022 +0200 + emit an error message if the ihxutil is not found when compiling an ZX Spectrum executable with the internal linker + emit a 'tried' message (fpc -vt) when using ihxutil for ZX Spectrum M compiler/systems/t_zxspectrum.pas --- commit 21593942a16d2788103501ee1e2921fef90cedba Author: Nikolay Nikolov Date: Sun Feb 13 15:26:54 2022 +0200 * regenerate all makefiles with the latest fpcmake M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-hash/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-mustache/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gitlab/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/qlunits/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/wasmtime/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile M utils/wasmbin/Makefile --- commit 34630c2ef952944108b702134db3b99cf2ef1d2a Author: florian Date: Sun Feb 13 22:47:38 2022 +0100 * properly set types for currency divisions, resolves #38717 M compiler/nmat.pas A tests/webtbs/tw38717.pp --- commit ff68e7b9de5045c67d723933985da998f115efb8 Author: Karoly Balogh Date: Mon Feb 14 15:33:36 2022 +0100 * m68k-atari: override the exeext globally, not just at the final step of the linking. this fixes 'Linking .ttp' messages, when in fact .prg gets generated M compiler/scanner.pas M compiler/systems/t_atari.pas --- commit 44094dba2f96fcc6c252f9c42398b6740edb85a1 Author: ccrause Date: Mon Feb 14 22:33:32 2022 +0200 Resolve address of a symbol defined as absolute of another symbol, in assembler code. M compiler/rautils.pas --- commit 00a287e77d4917662b5f57ff99898b598c3fe996 Author: Pierre Muller Date: Mon Feb 14 23:24:36 2022 +0000 Fix compilation of mips64 compiler by simple use of 'make mips64' M compiler/fpcdefs.inc --- commit b048ae37b20d06da7f9beb52dc7f50c9d2bb4fde Author: Pierre Muller Date: Mon Feb 14 23:54:18 2022 +0000 Fix loading of 64-bit constant into register for 64-bit mips CPU M compiler/mips/cgcpu.pas --- commit 2c80b2419ead1870965686bfca004b2a7315c0a3 Author: Pierre Muller Date: Tue Feb 15 09:04:24 2022 +0000 Fix invalid typecast by postponing sym change to after address resolution in 44094dba M compiler/rautils.pas --- commit 92a0640bcc6ad53326eec32db9cd8353f434e777 Author: J. Gareth "Curious Kit" Moreton Date: Tue Feb 15 13:38:45 2022 +0000 * Local speedup in OptPass1LEA that avoids expensive calls if p and hp1 are adjacent. M compiler/x86/aoptx86.pas --- commit 4da4c96349d205cf99a8aff0618315904f451935 Author: Pierre Muller Date: Tue Feb 15 15:43:56 2022 +0000 Regenerate Makefile's with mips gcc fixes and new enabled mips64-linux target M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-hash/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-mustache/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gitlab/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile A packages/ide/fp.cfg A packages/ide/fp.dsk A packages/ide/fp.ini M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/qlunits/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/wasmtime/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile M utils/wasmbin/Makefile --- commit f2305d1cee38e762aa2409adb9d01dc6751db740 Author: Sven/Sarah Barth Date: Tue Feb 15 21:46:23 2022 +0100 * if an invokable that isn't a function reference is followed by a point in a mode that doesn't use TP/Delphi style calling without parameters then don't call it like is done with normal procvars M compiler/pexpr.pas --- commit ef4255c65bccc121da2f5943600e2bfd7c1c2ec4 Author: Nikolay Nikolov Date: Wed Feb 16 02:25:32 2022 +0200 - removed spurious comment M compiler/systems/i_wasi.pas --- commit ae17e6acb678406aa91a9029dd6a0857e5c90f2c Author: Nikolay Nikolov Date: Wed Feb 16 02:31:01 2022 +0200 - removed unused comment M compiler/systems/t_wasi.pas --- commit f7b7c39129d72330dcb4b37010f1f5b7f729f43e Author: Nikolay Nikolov Date: Wed Feb 16 02:31:23 2022 +0200 * use 'with' in tlinkerwasi.SetDefaultInfo M compiler/systems/t_wasi.pas --- commit f01c8411908099b369e7c0d83733ddb78bcaefaf Author: Nikolay Nikolov Date: Wed Feb 16 02:32:18 2022 +0200 * set and use ExeCmd instead of DllCmd when making an WASI executable M compiler/systems/t_wasi.pas --- commit d2a2240a2cf9f00c8497c696155c9e0657a614fc Author: Nikolay Nikolov Date: Wed Feb 16 02:49:34 2022 +0200 * some fixes to the WASI library compilation (not ready, yet) M compiler/systems/t_wasi.pas --- commit 590c8786902fb712aa84e1e87351f0cf484380a5 Author: Nikolay Nikolov Date: Wed Feb 16 05:24:41 2022 +0200 + added separate startup code for libraries, that declares _initialize, instead of _start M compiler/systems/t_wasi.pas M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc A rtl/wasi/si_dll.pp --- commit e34116f7dea7c3f35da3a3ae43d14110d4c70fc1 Author: Nikolay Nikolov Date: Wed Feb 16 05:34:09 2022 +0200 - removed --allow-undefined linker option when compiling a WASI library M compiler/systems/t_wasi.pas --- commit 2a339485214d53d5c37a390fc59a314413e192ab Author: Nikolay Nikolov Date: Wed Feb 16 05:42:52 2022 +0200 - removed commented out code for executing WASI dllcmd[2] M compiler/systems/t_wasi.pas --- commit 7711ba610a7488361472f2a0bcefa52a573c653d Author: Nikolay Nikolov Date: Wed Feb 16 05:59:54 2022 +0200 - don't pass --export-dynamic to the linker when linking a library for the WASI target M compiler/systems/t_wasi.pas --- commit 696b7b6f68d3dd75f870dcb5931dd6216640505c Author: J. Gareth "Curious Kit" Moreton Date: Wed Feb 16 10:09:39 2022 +0000 * x86: Improvements to JccMov2CMov to catch Jcc @Lbl; ; JMP @Lbl M compiler/x86/aoptx86.pas --- commit bcab6185b9f7a02da1aea46893ce7a38aca43ca4 Author: florian Date: Wed Feb 16 21:30:14 2022 +0100 * hopefully final fix for absolute references to absolute symbols M compiler/rautils.pas --- commit 72e88a345251c138efa396094f0e0d5f145f40bb Author: Nikolay Nikolov Date: Thu Feb 17 05:14:21 2022 +0200 - don't write the wasm-ld command line to the screen when linking a WASM library. The command line, passed to the linker is dumped when compiling with -vv anyway. M compiler/systems/t_wasi.pas --- commit 7f1e420bb05add6439b6ae1028e841ad7780b481 Author: Sven/Sarah Barth Date: Fri Feb 18 16:17:14 2022 +0100 * move determine_generic_def out from pdecl.types_dec to pgenutil M compiler/pdecl.pas M compiler/pgenutil.pas --- commit 3e26beb1edc839f05063aa957164b69fdf8afe56 Author: Sven/Sarah Barth Date: Fri Feb 18 16:19:47 2022 +0100 * extract the code to parse a forward declaration out from types_dec into its own function parse_forward_declaration M compiler/pdecl.pas --- commit 094a353d879f36a3c46acb1fe91b56295abe388f Author: Sven/Sarah Barth Date: Fri Feb 18 16:43:40 2022 +0100 + add ability to strictly compare defs with generic constraints (this is needed for declarations, while for normal code we're rather relaxed) M compiler/defcmp.pas --- commit 3444b23c9a7178cc475d9f72035a0b7530958bb7 Author: Sven/Sarah Barth Date: Fri Feb 18 17:03:56 2022 +0100 + add a method to retrieve a copy of a specialization context M compiler/pgentype.pas --- commit 2a5023508a2bc4ff3ba4f3a0ca16366d3df86db8 Author: Sven/Sarah Barth Date: Fri Feb 18 17:06:45 2022 +0100 + add support for forward declarations of generic classes and interfaces (any implicit pointer type really); fixes #34128 M compiler/fmodule.pas M compiler/pdecl.pas M compiler/pdecobj.pas M compiler/pdecsub.pas M compiler/pgentype.pas M compiler/pgenutil.pas M compiler/ptype.pas A tests/test/tgenfwd1.pp A tests/test/tgenfwd10.pp A tests/test/tgenfwd11.pp A tests/test/tgenfwd12.pp A tests/test/tgenfwd13.pp A tests/test/tgenfwd2.pp A tests/test/tgenfwd3.pp A tests/test/tgenfwd4.pp A tests/test/tgenfwd5.pp A tests/test/tgenfwd6.pp A tests/test/tgenfwd7.pp A tests/test/tgenfwd8.pp A tests/test/tgenfwd9.pp --- commit 3f14a19d3e5ad546841bda2f8abbcb8029f79370 Author: Sven/Sarah Barth Date: Fri Feb 18 17:34:12 2022 +0100 * fix typos in comments, no code changes M compiler/pdecl.pas M compiler/pdecobj.pas --- commit d198fc46cb6cec08fc91cd35d34c64e182e207b5 Author: florian Date: Sat Feb 19 23:42:57 2022 +0100 * just copy value parameters to a temp. when inlining instead of using (@...)^ constructs, resolves #39590 M compiler/ncal.pas --- commit 738a0a35de9c93d37368b6ea796372e757eff5d1 Author: ccrause Date: Sun Feb 20 19:15:51 2022 +0200 Add section directive for subroutines for embedded and freertos systems. M compiler/aasmtai.pas M compiler/hlcgobj.pas M compiler/pdecsub.pas M compiler/symdef.pas M compiler/systems.pas --- commit 1cd8c249b1cba95a03488989ca6eb82232f88608 Author: florian Date: Sun Feb 20 20:58:01 2022 +0100 * throw an internal error if the reference of lea contains a segment register M compiler/x86/aoptx86.pas --- commit 4b88fa8e3b56330086d17a01fb1f836d97dd04d0 Author: Karoly Balogh Date: Mon Feb 21 11:35:24 2022 +0100 * powerpc-morphos: add support for linker map file generation, some code cleanups M compiler/systems/t_morph.pas --- commit 471a5eb4e01279d5444dcc9f51f0c730e309a889 Author: Karoly Balogh Date: Mon Feb 21 11:39:29 2022 +0100 help text: vlink is no longer default on MorphOS for a while now, remove from help text, add Atari and Sinclair QL where it is the default M compiler/msg/errore.msg --- commit c85bef5494f4ca409b37791f96acaef97eabc7b2 Author: Karoly Balogh Date: Mon Feb 21 11:40:43 2022 +0100 * regenerated message files M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 81c8078735cf79755750e39e0a6ad2159ae61ead Author: florian Date: Mon Feb 21 23:08:39 2022 +0100 * reorder string expressions with parentheses so fpc_*_concat_multi can be used efficiently, resolved #39479 M compiler/nadd.pas --- commit 665c1b396670d57d6c595bafeea3aa732f52170b Author: ccrause Date: Tue Feb 22 07:46:19 2022 +0200 Move member variable "section" to tprocdef. Type of "section" to agree with symansistr define. M compiler/hlcgobj.pas M compiler/pdecsub.pas M compiler/symdef.pas --- commit 546455faca05d2827398cd0f2ab76ebe45de5b1e Author: florian Date: Tue Feb 22 22:08:53 2022 +0100 * throw error properly if a target does not support sections M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pdecsub.pas --- commit 01142f11d7f6e50b6b80b75ae9a611f8fc662d78 Author: Karoly Balogh Date: Wed Feb 23 01:03:53 2022 +0100 * z80-msxdos: cleaned up some msdos leftovers in i_msxdos. no functional changes. M compiler/systems/i_msxdos.pas --- commit b637a3a022e7f959f07f9c60efb619621890499b Author: J. Gareth "Curious Kit" Moreton Date: Thu Feb 24 22:30:54 2022 +0000 * x86: Fix to MOV/CMP register deallocation positioning M compiler/x86/aoptx86.pas --- commit d3722861599383de61f0d09158917a8aa691553c Author: J. Gareth "Curious Kit" Moreton Date: Fri Feb 25 00:53:57 2022 +0000 * x86: RegModifiedByInstruction and RegInInstruction are now more accurate for (I)MUL and (I)DIV. M compiler/x86/aoptx86.pas --- commit 9e3f64733359a6ca802b5e913ffc4c6626746ad8 Author: florian Date: Fri Feb 25 21:56:09 2022 +0100 * var, type, threadvar, const sections require also in classes etc. at least one declaration, resolves #39599 M compiler/pdecobj.pas A tests/webtfs/tw39599a.pp A tests/webtfs/tw39599b.pp A tests/webtfs/tw39599c.pp A tests/webtfs/tw39599d.pp --- commit 6f749cf43d6bfcad745e6639aa1b5dc09e570c27 Author: florian Date: Sun Feb 27 23:19:38 2022 +0100 * first part to fix #39603 M compiler/avr/cpupara.pas M compiler/hlcgobj.pas --- commit 33db5200e62fc14f07a000ca92afdbeb8f4dee0f Author: florian Date: Mon Feb 28 22:24:05 2022 +0100 * building for LLVM fixed M compiler/hlcgobj.pas --- commit 8d864559b7014df07a9fffd16e0654cdbafdc421 Author: florian Date: Tue Mar 1 22:55:27 2022 +0100 * overleft cosmetics M compiler/ncgcal.pas --- commit 2b66f60a8844f45cfad54fb59703b4c332e34171 Author: florian Date: Wed Mar 2 23:09:53 2022 +0100 * do not throw an internal error in case of a misplaced string, resolves #39609 M compiler/psub.pas A tests/webtbf/tw39609.pp --- commit 10191477aef35b233b08ccded1b8442ad763c156 Author: Karoly Balogh Date: Sat Mar 5 17:59:15 2022 +0100 * m68k: allow vasm to be used for system_m68k_embedded target, simplify some code M compiler/m68k/ag68kvasm.pas --- commit cb959c2e6fb5911c74c07e23d00346902521faff Author: Karoly Balogh Date: Sat Mar 5 21:51:57 2022 +0100 * z80-amstradcpc: add some initial files for the target (mostly just the clone of ZX Spectrum files for now) M compiler/msg/errore.msg A compiler/systems/i_amstradcpc.pas A compiler/systems/t_amstradcpc.pas M compiler/z80/cputarg.pas --- commit ae892610080ecf4711f1b105a6464ed06ad639d7 Author: florian Date: Sun Mar 6 22:00:19 2022 +0100 * prevent that a absolute symbol references itself, resolves #39604 M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pdecvar.pas A tests/webtbf/tw39604.pp --- commit 554ae218cacff3de526f7f89f8f1543613e615ed Author: Karoly Balogh Date: Sun Mar 6 22:02:22 2022 +0100 * m68k: fix an endless syntax error loop in the assembler reader M compiler/m68k/ra68kmot.pas --- commit 61f9bc35e97e554dc79f282dcc6f8a89b1a1a3e1 Author: Karoly Balogh Date: Sun Mar 6 22:08:25 2022 +0100 * regenerated message files after adding the z80-amstradcpc target files M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 853f8b2202fc70820e23a7cfc4287c30f7dfaa46 Author: Pierre Muller Date: Mon Mar 7 18:40:40 2022 +0000 Also define CPU_clean make targets for CPUs not yet in CYCLETARGETS, like mips64 now M compiler/Makefile.fpc --- commit 01ae235676fd3e5d3197e0cd2edd0c8c2e06907f Author: Pierre Muller Date: Mon Mar 7 21:45:32 2022 +0000 Fix CPU_clean rule M compiler/Makefile.fpc --- commit ad2ac98858f5c422ddf016b4941a503090b73792 Author: Pierre Muller Date: Mon Mar 7 22:35:00 2022 +0000 Update Makefile's M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-hash/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-mustache/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gitlab/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/qlunits/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/wasmtime/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile M utils/wasmbin/Makefile --- commit 2f28c5596ff22f288c64a297c30b7d33a7efe284 Author: Pierre Muller Date: Mon Mar 7 23:46:15 2022 +0000 Regenerate all Makefile's to fix problem on x86_64 linux M Makefile M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-hash/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-mustache/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gitlab/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/qlunits/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/wasmtime/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M rtl/zxspectrum/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile M utils/wasmbin/Makefile --- commit 27fb9086aaa079212cf225f194efd225e54c50a3 Author: florian Date: Tue Mar 8 23:02:47 2022 +0100 * cleanup: cs_opt_loopunroll is a generic optimization for a long time already M compiler/aarch64/cpuinfo.pas M compiler/arm/cpuinfo.pas M compiler/avr/cpuinfo.pas M compiler/i386/cpuinfo.pas M compiler/i8086/cpuinfo.pas M compiler/jvm/cpuinfo.pas M compiler/m68k/cpuinfo.pas M compiler/mips/cpuinfo.pas M compiler/powerpc/cpuinfo.pas M compiler/powerpc64/cpuinfo.pas M compiler/riscv32/cpuinfo.pas M compiler/riscv64/cpuinfo.pas M compiler/sparc/cpuinfo.pas M compiler/sparc64/cpuinfo.pas M compiler/wasm32/cpuinfo.pas M compiler/x86_64/cpuinfo.pas M compiler/xtensa/cpuinfo.pas M compiler/z80/cpuinfo.pas --- commit e0599bb231c48e7a039e1703c09f6c6ff9a62632 Author: Karoly Balogh Date: Wed Mar 9 13:36:23 2022 +0100 * z80-amstradcpc: fixed target naming mess, so -Tamstradcpc works now, also fixed the help text M compiler/msg/errore.msg M compiler/systems/i_amstradcpc.pas --- commit e9dc638a76649987bba77eca8c789ef49d6433c4 Author: Karoly Balogh Date: Wed Mar 9 13:41:06 2022 +0100 * regenerated message files after CPC naming fix M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 68bc5da3a23dd74a2fcc792f7f12223855644196 Author: florian Date: Thu Mar 10 22:30:29 2022 +0100 * fix MovapXComisX2ComisX2 optimization M compiler/x86/aoptx86.pas --- commit 60919b497934d50e039c7a44962f101cb32f129e Author: Karoly Balogh Date: Fri Mar 11 13:01:42 2022 +0100 * m68k: disable the frame pointer optimization on subarchs that don't support long displacements for now, until the shortcomings of the cg can be addressed M compiler/psub.pas --- commit 0600287c638a5507710bd600e334e437675fe959 Author: Karoly Balogh Date: Fri Mar 11 16:03:21 2022 +0100 * m68k: spilling read, write, and replace is now bound to CPU capabilities instead of CPU family. This probably fixes some issues on 68000, where spilling replacement was not respecting CPU displacement handling boundaries, leading to assembler errors. M compiler/m68k/rgcpu.pas --- commit 6df2eb5fd44a69d2f9e8f663c8a4972c3cbbbb21 Author: ccrause Date: Fri Mar 11 22:30:16 2022 +0200 Extra code generation options for shift with compile time constant. M compiler/avr/cgcpu.pas --- commit 5e0d5cd92eb51686d5299ab62f6ce3806af8b93d Author: florian Date: Fri Mar 11 22:46:37 2022 +0100 * fix change information for a lot of MMX instructions M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit be2c1c751df2f669920b3826ad495603fee09463 Author: Karoly Balogh Date: Sat Mar 12 21:22:38 2022 +0100 * m68k: fixed the register save/restore for larger than 32K stackframes on subarchs which has no long displacement, to not trash register A0 M compiler/m68k/cgcpu.pas --- commit b1a72a86e5b6af44300a19aebec096df00000e2a Author: florian Date: Sat Mar 12 22:41:31 2022 +0100 * more change information fixed M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 50b6978e681268a2ca80d62e8a7d274f65120719 Author: florian Date: Mon Mar 14 23:11:03 2022 +0100 * more change information updates M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 22eb1e099fa15b018ad81c0bdff24462190b7afd Author: Karoly Balogh Date: Tue Mar 15 10:11:18 2022 +0100 * m68k: make sure right is in an address register for muln,addn,orn,xorn, before calling the low level cg M compiler/m68k/n68kadd.pas --- commit e9ee0a0be3513d2949cbd1b120f1b0e90d896a93 Author: florian Date: Tue Mar 15 22:37:38 2022 +0100 * more change information updated M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit f5de329076217765e1127c424c52837a572f0f50 Author: florian Date: Wed Mar 16 23:03:49 2022 +0100 * change information updates M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit a9db41f1e5715fed88916e4cb2a11178af2bd10a Author: florian Date: Thu Mar 17 22:48:19 2022 +0100 * fixed SSSE3 change information M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 6421f2c36bc406e30f732086588aeefd9ff96fc6 Author: florian Date: Fri Mar 18 23:23:16 2022 +0100 * change information for SSE4.1 instructions M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 2099e35d826b5336d0aa5e1717dc6339dec27cf4 Author: florian Date: Sat Mar 19 23:15:36 2022 +0100 * change information for SSE 4.2 instructions M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit c785fa4435a9abd48c8e338b1935cd5569900542 Author: florian Date: Sun Mar 20 22:32:07 2022 +0100 * AES instruction change information fixed M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit de9880375118fc0718080b97bd61090353e32fef Author: florian Date: Mon Mar 21 22:51:40 2022 +0100 * few more updated change information entries M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit fba3da47c6c762c7e260f89bba56bdead6c42ba7 Author: florian Date: Tue Mar 22 22:55:26 2022 +0100 * continued to update change information M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit ed520548be3ee7ec66e4dd909c0e61978960d7a7 Author: Karoly Balogh Date: Wed Mar 23 11:06:18 2022 +0100 m68k: utilize cg.a_loadaddr_ref_cgpara in hlcgcpu, as m68k has an instruction for loading addresses directly to the stack (PEA), and the default implementation of hlcg.a_loadaddr_ref_cgpara doesn't use that code path M compiler/m68k/cgcpu.pas M compiler/m68k/hlcgcpu.pas --- commit 59c33d69abd815c2ce7b1dd4345f6c99b4391570 Author: Karoly Balogh Date: Wed Mar 23 17:09:34 2022 +0100 Revert "m68k: utilize cg.a_loadaddr_ref_cgpara in hlcgcpu" for now, turns out it's not needed M compiler/m68k/cgcpu.pas M compiler/m68k/hlcgcpu.pas --- commit fbf68af60533634bd627ca24a9a6b57d4208df89 Author: florian Date: Wed Mar 23 21:42:53 2022 +0100 * continued to update change information M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc M rtl/x86_64/math.inc --- commit 6a56ed24abc94c040a1c41a7890cb5fa44e06664 Author: florian Date: Thu Mar 24 22:33:15 2022 +0100 * another change information update M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 2f33c970066529c482f37a6a77a11b01bb7fdccd Author: florian Date: Fri Mar 25 23:17:57 2022 +0100 * more change information M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 6ea0050990e5786bf369dc68b0971f433e8c9069 Author: florian Date: Sat Mar 26 23:44:42 2022 +0100 * finished change information for AVX1 instructions M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit c3ec62878eb04316a545fdb98553f5d71002bb07 Author: florian Date: Sun Mar 27 23:05:54 2022 +0200 * completed change information for AVX-2 M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 16881556b915c6916a488334328d586951d76ff3 Author: florian Date: Mon Mar 28 22:36:47 2022 +0200 * change information for AVX-512 mask register instructions M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 0e4188749bacc70a7d472f05053a90a1d0ee620a Author: florian Date: Tue Mar 29 22:50:00 2022 +0200 * started with change information for AVX-512 M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 8512d7ac8f47e053ccc02f042cc0607f29d6c3fc Author: Pierre Muller Date: Wed Mar 30 15:10:30 2022 -0600 Add x86_64 CPU to list requiring fpux80 support M compiler/Makefile M compiler/Makefile.fpc --- commit 7f3a5eb9abbf23c97b22ac93c287ec7e228f0ae3 Author: Sven/Sarah Barth Date: Wed Mar 30 22:17:07 2022 +0200 * extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not M compiler/arm/symcpu.pas M compiler/blockutl.pas M compiler/i386/symcpu.pas M compiler/i8086/symcpu.pas M compiler/jvm/pjvm.pas M compiler/jvm/symcpu.pas M compiler/m68k/symcpu.pas M compiler/powerpc/symcpu.pas M compiler/symcreat.pas M compiler/symdef.pas M compiler/x86_64/symcpu.pas --- commit 943da88ddacfbad9b5d730ed61c59cb31529e27e Author: Sven/Sarah Barth Date: Wed Mar 30 22:42:30 2022 +0200 * rework tprocsym.Find_procdef_byprocvardef so that its implementation can be used in a more generic manner M compiler/symsym.pas --- commit 702f79ec8cfbcf1f077977f595b6aadbc186abd3 Author: Sven/Sarah Barth Date: Wed Mar 30 22:43:31 2022 +0200 + add method tprocsym.Find_procdef_by_funcrefdef to find a procdef that's compatible with the specified function reference M compiler/symsym.pas --- commit c6aba5cd8dbd71f7393b1b52ba401c20e09341c8 Author: Sven/Sarah Barth Date: Wed Mar 30 22:45:58 2022 +0200 * make tprocinfo.addnestedproc public so that it can be used to add generated functions M compiler/procinfo.pas --- commit 4718029fe07e813a2e61ece0ea9bd6d3db3d0bac Author: florian Date: Wed Mar 30 23:07:02 2022 +0200 * do not throw an error if syscall is used with a syntax not applicable for the current target, resolves #39640 M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pdecsub.pas A tests/webtbf/tw39640.pp --- commit 90844c2027e078fcc1ff6b8d3df911a77bac2ed3 Author: Sven/Sarah Barth Date: Fri Apr 1 17:21:20 2022 +0200 * fix #35261: apply slightly adjusted changes by Ryan Joseph to implement support for implicit generic function specializations The main adjustments were as follows: - fixing coding style and identation - fixing some typos - using a better name for the property in tcallcandidates which holds the symbols created for anonymous parameter values M compiler/defutil.pas M compiler/globtype.pas M compiler/htypechk.pas M compiler/ncal.pas M compiler/nld.pas M compiler/pgenutil.pas M compiler/symdef.pas M compiler/symsym.pas M compiler/symtable.pas M compiler/utils/ppuutils/ppudump.pp A tests/test/timpfuncspez1.pp A tests/test/timpfuncspez10.pp A tests/test/timpfuncspez11.pp A tests/test/timpfuncspez12.pp A tests/test/timpfuncspez13.pp A tests/test/timpfuncspez14.pp A tests/test/timpfuncspez15.pp A tests/test/timpfuncspez16.pp A tests/test/timpfuncspez17.pp A tests/test/timpfuncspez18.pp A tests/test/timpfuncspez19.pp A tests/test/timpfuncspez2.pp A tests/test/timpfuncspez20.pp A tests/test/timpfuncspez21.pp A tests/test/timpfuncspez22.pp A tests/test/timpfuncspez23.pp A tests/test/timpfuncspez24.pp A tests/test/timpfuncspez25.pp A tests/test/timpfuncspez26.pp A tests/test/timpfuncspez27.pp A tests/test/timpfuncspez28.pp A tests/test/timpfuncspez29.pp A tests/test/timpfuncspez3.pp A tests/test/timpfuncspez30.pp A tests/test/timpfuncspez31.pp A tests/test/timpfuncspez32.pp A tests/test/timpfuncspez33.pp A tests/test/timpfuncspez34.pp A tests/test/timpfuncspez35.pp A tests/test/timpfuncspez4.pp A tests/test/timpfuncspez5.pp A tests/test/timpfuncspez6.pp A tests/test/timpfuncspez7.pp A tests/test/timpfuncspez8.pp A tests/test/timpfuncspez9.pp --- commit 0978f6ce16085662bca71344e135cad6a507ca49 Author: florian Date: Fri Apr 1 23:06:21 2022 +0200 * probably check type for int_to_real instruction selection M compiler/x86/nx86cnv.pas --- commit 3da54dcf9f87336887f592c98c0088372da876e6 Author: Jonas Maebe Date: Sat Apr 2 13:23:55 2022 +0200 Symbolic constants: don't range check on use If these constants are defined with an explicit type, they are already truncated/checked at that point. If we range check them again on use, we may get errors because at that point there is no explicit type cast any more. M compiler/ncon.pas A tests/tbs/tb0693.pp --- commit 96aa2bbf740e1af0e814fe6d07250fe06af9d510 Author: J. Gareth "Curious Kit" Moreton Date: Sun Apr 3 00:41:50 2022 +0100 * [x86] Added new RefsMightOverlap method and implemented it into the XMM memory move optimisations to catch memory overlaps; fixes bug i39627 M compiler/x86/aoptx86.pas --- commit b1f85792d7a7aa90bc2b200d3d2db0c97875fc32 Author: Jonas Maebe Date: Sun Apr 3 11:12:27 2022 +0200 Symbolic constants: don't range check on in use in typed constants Same as 3da54dcf9f, but this type when used in type constant definitions like record fiels M compiler/ngtcon.pas A tests/tbs/tb0693a.pp A tests/tbs/tb0693b.pp --- commit 9813eb9048a413d8cde171b9e2fd558da1e3a46f Author: Jonas Maebe Date: Sun Apr 3 13:20:23 2022 +0200 AArch64 asm reader: add support for fpcmp(e) conditions Resolves #39643 M compiler/aarch64/racpugas.pas A tests/webtbs/tw39643.pp --- commit 5ce9353d58cd5ee2679dc510561ff35914329daa Author: florian Date: Sun Apr 3 23:14:41 2022 +0200 * i386: make also use of VCVTUSI2S* instruction if possible M compiler/x86/nx86cnv.pas --- commit 4e28962115ee9479d465ba00a1db6028d2badb60 Author: florian Date: Sun Apr 3 23:31:50 2022 +0200 * 8086 compilation fixed M compiler/x86/nx86cnv.pas --- commit 57107c331093212fa5bc0d8fc865b43755ff3f12 Author: Karoly Balogh Date: Tue Apr 5 12:07:49 2022 +0200 m68k: opcode table updates based on vasm 1.9 (used with permission) M compiler/m68k/m68kins.dat M compiler/m68k/m68knop.inc M compiler/m68k/m68ktab.inc --- commit 7ff393085e3b1538a1c14f3ffcffa92a6b4a6c73 Author: florian Date: Tue Apr 5 22:49:55 2022 +0200 * factored out tx86typeconvnode.int_to_real_mm_location M compiler/x86/nx86cnv.pas --- commit 8120fb8b774ae89bba6a3d186e4b7723a84ed3d2 Author: florian Date: Wed Apr 6 21:54:03 2022 +0200 * cosmetics M compiler/x86/nx86cnv.pas --- commit 54dccaaad1a768d2028bdd7ecb238fe0e5415bd6 Author: florian Date: Thu Apr 7 22:51:30 2022 +0200 * do not crash in case of too many $push directives, resolves #39652 M compiler/scandir.pas A tests/webtbf/tw39652.pp --- commit 971d7baa8a050489fe3f45db09669076d2c61b4b Author: florian Date: Fri Apr 8 22:41:25 2022 +0200 * patch by Cyrax: Quote path - which is passed to Windres or alike program, resolves #36526 M compiler/comprsrc.pas --- commit d29473154267150c65be268cf070941573a58ffc Author: Jonas Maebe Date: Sat Apr 9 14:48:38 2022 +0200 LLVM: enable DWARF debug info generation M compiler/dbgbase.pas M compiler/llvm/llvminfo.pas M compiler/llvm/llvmnode.pas M compiler/llvm/nllvmutil.pas M compiler/systems.inc M compiler/systems.pas --- commit 411fa298ae03b9420a722ed347428c27ee423c29 Author: Jonas Maebe Date: Sat Apr 9 14:49:15 2022 +0200 LLVM: data location debug info support This was added to LLVM for Fortran arrays, but can also be used for Pascal dynamic arrays M compiler/llvm/llvminfo.pas --- commit a8cb061a5063fdab6cd5c1a92d7abe5feadc0c8a Author: Jonas Maebe Date: Sat Apr 9 14:50:27 2022 +0200 LLVM: support for attaching metadata to instructions M compiler/llvm/aasmllvm.pas M compiler/llvm/aasmllvmmetadata.pas M compiler/llvm/agllvm.pas --- commit 527c68b6c3c9a77318768ad43b1558278dacf465 Author: Jonas Maebe Date: Sat Apr 9 15:00:56 2022 +0200 agllvm: remove useless code M compiler/llvm/agllvm.pas --- commit 4293d4455c6481529846ff30ee7f50a19ff31bf1 Author: Jonas Maebe Date: Sat Apr 9 15:01:22 2022 +0200 LLVM: factor out writing operands in agllvm M compiler/llvm/agllvm.pas --- commit 379c1414a7088019cd71b98ea36353e65bd9e8f5 Author: Pierre Muller Date: Mon Apr 11 09:24:41 2022 +0000 Fix for bug report #39661 M compiler/symbase.pas --- commit 85c648e60318526bb63aa57dbf3c862805717606 Author: Pierre Muller Date: Mon Apr 11 22:10:48 2022 +0000 Check mf_symansistr is compatible with current compiler mode and issue a message before failing PPU loading M compiler/fppu.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 971b8b9217d257dba56b7cdac22d71492fb6a7d5 Author: J. Gareth "Curious Kit" Moreton Date: Wed Apr 13 11:02:27 2022 +0100 * Compiler error is now thrown if record alignment is not a power of 2 or is greater than 64. M compiler/ptype.pas --- commit 62f21ae60dfaa4dc6f37972a03ca9acf33d0b8d1 Author: florian Date: Wed Apr 13 21:31:03 2022 +0200 + recurse into multiple subscription nodes when calculating contant @... expressions, resolves #39665 M compiler/nmem.pas A tests/webtbs/tw39665.pp --- commit 43b4b343950aa11420fac1471c4d3a647541f2de Author: florian Date: Thu Apr 14 17:06:15 2022 +0200 * disallow offsetof trick for types involving implicit dereferences, resolves #39667 partially M compiler/nmem.pas A tests/webtbf/tw39667.pp --- commit b108608b2918674762ed04b436604bffad4bd58b Author: J. Gareth "Curious Kit" Moreton Date: Fri Apr 15 03:01:26 2022 +0100 * x86: New CMP optimisation that mimics some of the CMOV optimisations and removes unnecessary conditions. M compiler/x86/aoptx86.pas --- commit 6af886c2b961d5a4ed7772f81d6348b8634ab385 Author: J. Gareth "Curious Kit" Moreton Date: Sat Apr 16 06:56:58 2022 +0100 * Removed foolish inline from StripLabelFast M compiler/aoptobj.pas --- commit 78535bbcd884a550ce399bc6c0ce8ca47017b45e Author: Jonas Maebe Date: Sat Apr 16 21:05:05 2022 +0200 agllvm: support for writing specialised metadata nodes M compiler/llvm/agllvm.pas --- commit 229eb93e72156f8d7175c3ae379087b8a46b60e9 Author: Jonas Maebe Date: Sat Apr 16 21:13:21 2022 +0200 tnodeuitls: merge GenerateObjCImageInfo into InsertObjectInfo LLVM needs to insert the Objective-C image info into the general object info metadata. This way we don't need to store a reference to that metadata so as to add extra data to it later (tnodeutils is never instantiated, it only contains class methods) M compiler/llvm/nllvmutil.pas M compiler/ngenutil.pas M compiler/objcgutl.pas --- commit b7b495a679e1ed166c6f99f1247398d3dec5dd4d Author: Jonas Maebe Date: Sat Apr 16 21:15:06 2022 +0200 LLVM: assign procdef.procstarttai, like in the regular code generator M compiler/llvm/hlcgllvm.pas --- commit 366d1332d18eece8de310aef2b9bb7af07d12e7d Author: florian Date: Sat Apr 16 21:40:33 2022 +0200 * nicer casing M compiler/systems/i_embed.pas --- commit 5f3749dc49b9a7a8d68af715d51070c8903d1ddf Author: J. Gareth "Curious Kit" Moreton Date: Sun Apr 17 05:40:40 2022 +0100 * x86: Introduced TrySwapMovOp method, and redesigned TrySwapMovCmp to use it while also trying to move one more instruction back M compiler/x86/aoptx86.pas --- commit 627fb9a25b1866f9fa30658ec7962f4cd31ab145 Author: J. Gareth "Curious Kit" Moreton Date: Sun Apr 17 11:28:53 2022 +0100 * x86: New jump/label tracking in CrossJump optimisations M compiler/aoptobj.pas M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86/cpubase.pas M compiler/x86_64/aoptcpu.pas --- commit 5075198a8b76034e5b5c36b8d783e276c6f11b56 Author: Jonas Maebe Date: Mon Apr 18 13:30:32 2022 +0200 tfileposinfo: separate types for the fields Allows other units to declare variables of the appropriate type when storing those values separately M compiler/globtype.pas --- commit 2f1eb9be18338485bd807dd03ea602d41948cf6d Author: florian Date: Mon Apr 18 23:22:47 2022 +0200 * support R_SUBMMX in spilling_create_store, resolves #39672 M compiler/x86/aasmcpu.pas --- commit ee3b5f5a62f09a33031f5276351bb1877ba83b5a Author: florian Date: Mon Apr 18 23:27:34 2022 +0200 * x86_64: do not use copy_mm in g_concatcopy for 8 byte sized copies M compiler/x86/cgx86.pas --- commit 9f3dcdb211ec3cecc9013f45e811bd0f633a7072 Author: Sven/Sarah Barth Date: Tue Apr 19 14:01:50 2022 +0200 + add method to find a procinfo for a nested function by the corresponding procdef M compiler/procinfo.pas --- commit f62ffa74dc5eed4acd756d59cb891a3bf49f4eb0 Author: J. Gareth "Curious Kit" Moreton Date: Tue Apr 19 14:20:45 2022 +0100 * x86: Changed the names of temporary register stores in OptPass1MOV for reasons of clarity, and other minor optimisations. M compiler/x86/aoptx86.pas --- commit 4d57dee8d9e98e005a94fcd744aa3047a20e3a98 Author: J. Gareth "Curious Kit" Moreton Date: Tue Apr 19 17:21:14 2022 +0100 * x86: Extension to CanBeCMOV that permits a potentially unsafe reference if it appears in the previous comparison M compiler/x86/aoptx86.pas --- commit 4808ed63e3717bd68a3e1fe0c5bcf63463016e0d Author: florian Date: Tue Apr 19 22:16:09 2022 +0200 * use MOVDQA instead of MOVQ in spilling_create_store * call OptPass1_V_MOVAP for MOVDQA M compiler/x86/aasmcpu.pas M compiler/x86_64/aoptcpu.pas --- commit fab610a92770b9e5c3cbc8427c88fa770821e414 Author: florian Date: Tue Apr 19 22:34:56 2022 +0200 * call OptPass1_V_MOVAP for MOVDQA on i386 M compiler/i386/aoptcpu.pas --- commit 236febb14891bb2a46f273f69aef5cc7212982c6 Author: J. Gareth "Curious Kit" Moreton Date: Wed Apr 20 16:12:31 2022 +0100 * x86: Fixed bugs in and refactored and renamed DoSubAddOpt optimisation method M compiler/x86/aoptx86.pas --- commit f1bcd02aaf66b7eeaddc6173ded485938f8335b7 Author: Jonas Maebe Date: Wed Apr 20 21:43:10 2022 +0200 Typed const builder: store tsym Useful for LLVM debug info generation M compiler/aasmcnst.pas M compiler/cresstr.pas M compiler/llvm/aasmllvm.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvmtype.pas M compiler/llvm/nllvmcal.pas M compiler/llvm/nllvmtcon.pas M compiler/llvm/nllvmutil.pas M compiler/ngtcon.pas --- commit 6cacd9c824d34c42f71977b23342dcf2403b47de Author: Jonas Maebe Date: Wed Apr 20 21:54:59 2022 +0200 llvmdbg: initial version based on dbgdwarf Line information is mostly functional, type information not yet (except for basic procdef info, as that's required for line info) A compiler/llvm/dbgllvm.pas --- commit 02289d1f5b986c96b0843110de46a143500f4c79 Author: florian Date: Wed Apr 20 22:15:25 2022 +0200 + fold "a shl n1 shl n2" and "a shr n1 shr n2" into "a shl (n1+n2)" and "a shr (n1+n2)", resolves #39629 M compiler/nmat.pas --- commit 40418f5b3d5d69b4c38fefbbc46d353b84bc02ae Author: Jonas Maebe Date: Wed Apr 20 22:21:04 2022 +0200 dbgllvm: remove restriction to only write struct procdef in context of struct Does not make a difference for LLVM since all debug info for procdefs is assigned to the definition instructions for the procdef anyway, and avoids issues when only generating line info (in that case the structs will never be processed, but we still have to generate the basic debug info for their procdefs to provide a scope for their line info) M compiler/llvm/dbgllvm.pas --- commit 6f24c8b4efccea67d092062009f413cc789a052c Author: J. Gareth "Curious Kit" Moreton Date: Thu Apr 21 01:02:17 2022 +0100 * x86: Code generation fixes where FLAGS register is not properly allocated. M compiler/hlcgobj.pas M compiler/i386/cgcpu.pas M compiler/i386/n386add.pas M compiler/i386/n386mat.pas M compiler/i8086/cgcpu.pas M compiler/i8086/n8086mat.pas M compiler/x86/cgx86.pas M compiler/x86/nx86add.pas M compiler/x86/nx86cnv.pas M compiler/x86/nx86mat.pas M compiler/x86/nx86set.pas M compiler/x86_64/nx64cnv.pas --- commit b1d9d34665ce1f26bc1b95a87ab085a6bb3530ad Author: Sven/Sarah Barth Date: Thu Apr 21 18:01:30 2022 +0200 * only abort due to a missing overload directive if there indeed was any procdef found (due to implicit specializations there might be none), fixes compilation of tests webtbs/tw38310b and webtbs/tw38310c M compiler/htypechk.pas --- commit 559fcdf73611ccba421b988237b062ed84a5e287 Author: florian Date: Thu Apr 21 20:02:46 2022 +0200 * forbid cyclic pointer definitions, resolves #39634 M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/ptype.pas A tests/webtbf/tw39634.pp --- commit 98a942a37e4d19a3c85f03c3fcc01f907abe3ef2 Author: Sven/Sarah Barth Date: Thu Apr 21 21:02:31 2022 +0200 * move handling of a dummy symbol (mainly either resolving it or generating a suitable error) inside single_type to a nested function as the same code is used multiple times M compiler/ptype.pas --- commit 4053d59a2c9745af6f84fbca70293cae81a05006 Author: Sven/Sarah Barth Date: Thu Apr 21 21:04:25 2022 +0200 * fix #39673: also resolve the dummy symbol in case this isn't a reuse of the current generic's name + added test M compiler/ptype.pas A tests/webtbs/tw39673.pp --- commit 66bac7c415966d5531b9b1f020147b522740040b Author: Sven/Sarah Barth Date: Thu Apr 21 21:33:31 2022 +0200 * fix #39679 and fix #39680: for implicit specializations a parameter used in a call might also inherit in some depth from a specialization used as parameter type + added tests M compiler/pgenutil.pas A tests/webtbs/tw39679.pp A tests/webtbs/tw39680.pp --- commit a5f3040da528a76bf21187f647e15c24c82d980b Author: Sven/Sarah Barth Date: Thu Apr 21 21:57:36 2022 +0200 * the index of the generic type parameter is not the same index of the paras list + added test M compiler/pgenutil.pas A tests/test/timpfuncspez36.pp --- commit c0fa45dc922b2ee1fbf6d63782e50f8b46c162e5 Author: Sven/Sarah Barth Date: Thu Apr 21 22:01:02 2022 +0200 * a function can't be used to implicitely specialize a specialized procedure variable parameter and vice versa + added test M compiler/pgenutil.pas A tests/test/timpfuncspez37.pp --- commit 76753438edfdbf29d3c12c6793ee5ab9663eedde Author: Sven/Sarah Barth Date: Thu Apr 21 22:09:43 2022 +0200 * fix #39681: also handle the result type of a specialized procvar when checking for a possible implicit specialization + added test M compiler/pgenutil.pas A tests/webtbs/tw39681.pp --- commit 22a4cc66ec7dc79315a0f63d27d2ab003f7777f1 Author: Sven/Sarah Barth Date: Thu Apr 21 22:21:04 2022 +0200 * fix #39675: consider the symbols for unnamed parameters as used so that there won't be unnecessary hints about them + added test M compiler/pgenutil.pas A tests/webtbs/tw39675.pp --- commit 62d5ddffb8b56411a06b8288b6237e31ff3c711d Author: J. Gareth "Curious Kit" Moreton Date: Fri Apr 22 01:10:24 2022 +0100 * x86: Improvement to CMP/JE/CMP/@Lbl/SETE -> CMP/SETE/CMP/SETE/OR optimisation to reduce pass counts (and work better with improved FLAGS register allocation). M compiler/x86/aoptx86.pas --- commit 6556d18bed27361321c0a2df91a1a6e126db2b36 Author: florian Date: Fri Apr 22 22:08:20 2022 +0200 * better fix for #39634 which avoids breaking existing code M compiler/defcmp.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/ptype.pas --- commit e0e8620deda3a3b67df3a99a1f7b9951db533d33 Author: Sven/Sarah Barth Date: Sat Apr 23 15:40:22 2022 +0200 * use a single if-condition for both check_hints and addsymref M compiler/ncal.pas --- commit 74f95238064736efc2e83d349a712b8140f566e8 Author: Sven/Sarah Barth Date: Sat Apr 23 15:51:11 2022 +0200 * in case of an implicit specialization ensure that the symbol of the generic is indeed considered as used once the final implicit specialization has been picked + added test M compiler/ncal.pas A tests/webtbs/tw39684.pp --- commit 1fd2d3a83d2f3b656e2fcfe6a3399255320f5459 Author: J. Gareth "Curious Kit" Moreton Date: Sun Apr 24 04:27:55 2022 +0100 * x86: Improved TrySwapMovCmp to insert before the FLAGS register is allocated. M compiler/x86/aoptx86.pas --- commit e87c52d7dc87eb53a11e91e2b27f55abbc03cc85 Author: florian Date: Sun Apr 24 22:40:07 2022 +0200 * otherwise => else M compiler/avr/cgcpu.pas --- commit 49edb0b60641bd52de8dddb80b687197c35b6f1e Author: florian Date: Sun Apr 24 22:41:10 2022 +0200 * AVR: fix TAoptBaseCpu.RegModifiedByInstruction, resolves #39623 M compiler/avr/aoptcpub.pas --- commit 9695dba4d98dcadab0fd972ed9b5b20d3323781f Author: florian Date: Sun Apr 24 22:42:09 2022 +0200 * AVR: fix TCpuAsmOptimizer.InstructionLoadsFromReg for MOVW * simplify code for MovMov2Movw optimization M compiler/avr/aoptcpu.pas --- commit 33eef1f9b12f4063fb7c93c01f4b184f0e1e4ee7 Author: florian Date: Mon Apr 25 22:12:59 2022 +0200 * AVR: moved MovMov2Movw optimization into pass2 as it might prevent other optimizations M compiler/avr/aoptcpu.pas --- commit 5cdef8050bb607ca65845f79a35c95f3cae518e0 Author: J. Gareth "Curious Kit" Moreton Date: Tue Apr 26 04:13:32 2022 +0100 * Fixed bug in register preservation tracking M compiler/cgobj.pas --- commit f832444eaa72854e53515b253914221095c92419 Author: Jonas Maebe Date: Tue Apr 26 10:30:04 2022 +0200 LLVM lineinfo: fix nolineinfo generation LLVM requires line info metadata for all call instructions that may potentially be inlined. So attach one to all call instructions in nolineinfo regions, but set their line number to 0 (same as what clang does) M compiler/llvm/dbgllvm.pas --- commit 13055bb58a2ca715666b5f19a8ce4b507e921886 Author: Jonas Maebe Date: Tue Apr 26 20:25:38 2022 +0200 llvmtype: ensure all processed defs get recorded This is necessary so they get reset as well, as they may be reprocessed while compiling other units (both by llvmtype and dbgllvm) M compiler/llvm/llvmtype.pas --- commit 20674089bd3306c2b2b9bef14647e9c41c6499c8 Author: Jonas Maebe Date: Tue Apr 26 20:26:47 2022 +0200 llvmdbg: add declaration for all DISPFlags M compiler/llvm/dbgllvm.pas --- commit aec7aefdd5a0beea97fe69de99815f350afaf717 Author: Jonas Maebe Date: Thu Apr 28 21:55:30 2022 +0200 dbgllvm: create dummy line info for instructions that shouldn't have any Use line 0 for that, like clang does M compiler/llvm/dbgllvm.pas --- commit 91563115c42448df25ac313b4be6049e0f65d11f Author: Jonas Maebe Date: Thu Apr 28 21:56:46 2022 +0200 dbgllvm: handle array of const (stub) M compiler/llvm/dbgllvm.pas --- commit a75adf542dc2e3c8c0ff80a976d96cc53d5598ba Author: Jonas Maebe Date: Thu Apr 28 21:57:37 2022 +0200 dbgllvm: handle empty spFlags M compiler/llvm/dbgllvm.pas --- commit a7e19e9f068422a4d6ff58ecc1559c0f5627612c Author: Jonas Maebe Date: Fri Apr 29 22:00:28 2022 +0200 llvm metadata: use cardinal instead of tsuperregister for unnamed metadata numbers We're not putting these into registers, so no need to limit ourselves M compiler/llvm/aasmllvmmetadata.pas --- commit 8d2d91d5055e27ee3c2bed9444241d4ee5bd6dbb Author: Jonas Maebe Date: Fri Apr 29 22:01:45 2022 +0200 dbgllvm: fix infinite loop when writing multi-dimensional array info M compiler/llvm/dbgllvm.pas --- commit 314d3579fc29303cbeed06286e951ae31a2ed556 Author: florian Date: Fri Apr 29 22:48:43 2022 +0200 * avr3 and avr31 should also have a movw instruction M compiler/avr/cpuinfo.pas --- commit 5d97ff43fa4b34f88279ef6e944fd1874cfa5c0e Author: florian Date: Fri Apr 29 22:59:26 2022 +0200 + CPUAVR_HAS_ADIW M compiler/avr/cpuinfo.pas --- commit 74ab27ae4717aed64f7aa12a1ea5dcc772582961 Author: Karoly Balogh Date: Fri Apr 29 23:45:37 2022 +0200 cutils: also use minalign, when varalign equals it, not only when varalign is less than it (21 years old bug?) M compiler/cutils.pas --- commit cf6a97c8edea0f589a46eb3b862ef36455c18ec9 Author: Jonas Maebe Date: Sat Apr 30 14:44:31 2022 +0200 LLVM: fix fileinfo of temp allocations M compiler/llvm/tgllvm.pas --- commit 067d96242c10b0ec3c24f1461d71d450d9d72fc5 Author: Jonas Maebe Date: Sat Apr 30 14:49:56 2022 +0200 dbgllvm: fix crash when generating debug info for procdef of imported struct M compiler/llvm/dbgllvm.pas --- commit d1aaeff832bd6b0ef20f1f38c156622b0939ac7e Author: Jonas Maebe Date: Sat Apr 30 14:52:19 2022 +0200 dbgllvm: fix crash for files without procedures/functions M compiler/llvm/dbgllvm.pas --- commit 9b280db2b12bd6fb201ebc967af98a1320ca14cd Author: Jonas Maebe Date: Sat Apr 30 14:54:18 2022 +0200 dbgllvm: add scopeLine attribute for function debug info Ensures that breaking on the function correctly sets the breakpoint on the first source line of the function (rather than potentially in the prologue without line information) M compiler/llvm/dbgllvm.pas --- commit eba76dd0526f13fd297eaea1cc0d6228f88571b8 Author: florian Date: Sun May 1 10:55:48 2022 +0200 * allow 32 byte alignment of constants and variables on aarch64-darwin M compiler/systems/i_darwin.pas --- commit 46b52d92d38fbbda8255542e888d23f0359b3081 Author: florian Date: Sun May 1 20:12:07 2022 +0200 + AVR: helpers take care of ADIW M compiler/avr/aoptcpu.pas M compiler/avr/aoptcpub.pas --- commit 038230bbeaa0828d92b1740874b753308afb162b Author: florian Date: Sun May 1 20:13:08 2022 +0200 * AVR: use adiw to create spilling constants if possible * AVR: insert allocations for registers used by spilling so the assembler optimizer does not remove spilling code M compiler/avr/rgcpu.pas --- commit 816ab7ffcce3ae3b73fe5fbb0cf1f363a9efcfff Author: Jonas Maebe Date: Sun May 1 20:37:09 2022 +0200 llvm metadata: counter per unit rather than globally Results in less high numbers, and reproducible results when partially rebuilding M compiler/llvm/aasmllvm.pas M compiler/llvm/aasmllvmmetadata.pas --- commit edbddec98a5e2ea120ea0217656cbc0fadd838cd Author: Jonas Maebe Date: Sun May 1 20:39:43 2022 +0200 llvmdbg: diflags/dispflags fixes Fix MainSubprogram flag for older LLVM versions, as it was a plain flag rather than a subprogram flag there. Added visibility flags for procdefs (public/private/protected) Write flags as enum rather than integer to avoid issues with changing values across different LLVM versions M compiler/llvm/dbgllvm.pas M compiler/llvm/llvminfo.pas --- commit a6766d62eed085ed4ac65e7ecb81876b0205f11c Author: ccrause Date: Sun May 1 21:31:27 2022 +0200 Fix generation of default linker script for esp-idf v4.4 M compiler/systems/t_freertos.pas --- commit 0ae45bd2cf17b5d9dcc39f4f4590a214329e57c6 Author: florian Date: Sun May 1 22:42:30 2022 +0200 + AVR: track flag usage + AVR: take care of allocated flags when spilling * AVR: trgcpu.do_spill_read might also use ADIW M compiler/aasmtai.pas M compiler/avr/aasmcpu.pas M compiler/avr/cgcpu.pas M compiler/avr/navradd.pas M compiler/avr/navrmat.pas M compiler/avr/rgcpu.pas --- commit 54aae023ea2f4ee864c4ef3ce98ad387c166cb52 Author: J. Gareth "Curious Kit" Moreton Date: Mon May 2 00:50:10 2022 +0100 * Bug fix that prevents downsizing of "(x div y) and z" when "x div y" is 64-bit and z is 32-bit or less. Fixes i39646 M compiler/ncnv.pas --- commit 5acd7a7b83643e3c4f8dc96955906b67ea14eb8e Author: Pierre Muller Date: Mon May 2 14:06:38 2022 +0200 Rename tsymtable.insert and delete methods to insertsym ands deletesym M compiler/blockutl.pas M compiler/jvm/jvmdef.pas M compiler/jvm/njvmcon.pas M compiler/jvm/njvmutil.pas M compiler/jvm/pjvm.pas M compiler/jvm/symcpu.pas M compiler/ncal.pas M compiler/ngenutil.pas M compiler/ninl.pas M compiler/pdecl.pas M compiler/pdecsub.pas M compiler/pdecvar.pas M compiler/pexpr.pas M compiler/pgenutil.pas M compiler/pmodules.pas M compiler/pparautl.pas M compiler/procdefutil.pas M compiler/pstatmnt.pas M compiler/psub.pas M compiler/psystem.pas M compiler/ptype.pas M compiler/scanner.pas M compiler/symbase.pas M compiler/symcreat.pas M compiler/symdef.pas M compiler/symsym.pas M compiler/symtable.pas M compiler/symutil.pas --- commit 9432a550e190d0530971363b55918ce85c045d58 Author: J. Gareth "Curious Kit" Moreton Date: Thu May 5 05:42:06 2022 +0100 * x86: Bug fix where aoc_ForceNewIteration was checked in the wrong pass. M compiler/i386/aoptcpu.pas M compiler/x86_64/aoptcpu.pas --- commit bce88f2e2bf76c3f979902aaa60598a0487f1509 Author: florian Date: Thu May 5 19:35:01 2022 +0200 * AVR: trgcpu.do_spill_read must load ofs M compiler/avr/cpuinfo.pas M compiler/avr/rgcpu.pas --- commit f6c741ee73d12001867ae9a750165320871cc340 Author: J. Gareth "Curious Kit" Moreton Date: Sat May 7 11:34:54 2022 +0100 * Corrected label reference counts caused by TAsmLabel.GetName incrementing refs M compiler/aasmbase.pas M compiler/aasmcnst.pas M compiler/objcgutl.pas --- commit 78f23a462e3f4d4c3be14d4ea2a83877093543c5 Author: florian Date: Sat May 7 23:12:45 2022 +0200 * set minimum compiler to compile the compiler to 3.2.0 M compiler/pp.pas --- commit fcaea2107583d5afd1d2cf43e7d85d32ea1248c7 Author: Jonas Maebe Date: Sun May 8 14:59:36 2022 +0200 SymAnsiStr: fix "make all" and webtbs/tw39661* Fixes compilation with LLVM backend M compiler/ncgvmt.pas M compiler/symbase.pas M compiler/symdef.pas --- commit 3d3c904ac588dc79441b0d9c29bd79b6744358c7 Author: Jonas Maebe Date: Sun May 8 15:03:14 2022 +0200 TSymStr: more consistent usage M compiler/dbgdwarf.pas M compiler/ncgvmt.pas M compiler/ngenutil.pas M compiler/pdecobj.pas M compiler/pmodules.pas M compiler/symdef.pas M compiler/symtable.pas --- commit 4add05c625395fec0a2eda897f3f3dec67f760bd Author: florian Date: Sun May 8 17:49:14 2022 +0200 * x86_64-linux and i386-linux align variables and constants up to 64 byte boundaries M compiler/systems/i_linux.pas --- commit 8bef28ccbeaa95f39020c4c954ba9bee9ee5c0a9 Author: Jonas Maebe Date: Mon May 9 21:19:06 2022 +0200 PPU version: bump fcaea210758 changed name mangling M compiler/ppu.pas --- commit a73869b879537feb38206e95e3ebbadf755fb406 Author: florian Date: Mon May 9 22:45:21 2022 +0200 * arm-linux: set max. alignment for constants and variables to 32 byte boundaries M compiler/systems/i_linux.pas --- commit 578ce51fc3178e9a6a1602337ee6626426739b5f Author: florian Date: Tue May 10 22:38:19 2022 +0200 * fix broken merge M compiler/x86/aoptx86.pas --- commit 8184287ec0c49498f61a587290a0117806282d64 Author: Pierre Muller Date: Tue May 10 23:18:01 2022 +0200 Fix for variables longer than 127 chars M compiler/symbase.pas A tests/webtbs/tw39661f.pp --- commit deec6fc4ba954e698c7e928d9d2cbb2724a40b43 Author: florian Date: Wed May 11 20:58:38 2022 +0200 * set max. variable and constant alignment for win32 and win64 to 64 byte boundaries M compiler/systems/i_win.pas --- commit fd125b506e5f69cd2d70d011745c73bb35f8bfb8 Author: Jonas Maebe Date: Wed May 11 22:38:23 2022 +0200 LLVM debug info: LLVM 7.0 support Also defined some llvm flags in a negative way so they can be removed from later versions rather than added M compiler/llvm/dbgllvm.pas M compiler/llvm/llvminfo.pas --- commit 798a4d76117736af4bafb662ecaacf66f0c45be4 Author: J. Gareth "Curious Kit" Moreton Date: Thu May 12 09:00:41 2022 +0100 * Fix to bug that would reset nf_write flag on tempref nodes in assignments M compiler/ninl.pas --- commit 69d40dd17a37b87ea0d9ab6aac62703819652470 Author: Pierre Muller Date: Thu May 12 22:32:26 2022 +0200 Use round to convert float constant into s64comp type for LLVM compiler as is done in general case M compiler/llvm/nllvmcon.pas --- commit 4f9c19d94334a8ae546c0e9e0aaae699f16efad5 Author: florian Date: Thu May 12 22:55:59 2022 +0200 * simplifications by Rika (*2 loops => shl/Bsr), resolves #39717 M compiler/raatt.pas M compiler/rgobj.pas --- commit ac89cfc6c705d65fa0e8a359d0a83e0a08a261ed Author: Jonas Maebe Date: Fri May 13 20:53:37 2022 +0200 aasmtai: added tai_string.Create(ansistring) Also prevent range check errors for empty strings M compiler/aasmtai.pas --- commit 1d010d918bdc0d0eb07220f75ead869100093f1d Author: Jonas Maebe Date: Fri May 13 20:54:14 2022 +0200 LLVM metadata: specialised metadata fleshing out M compiler/llvm/aasmllvmmetadata.pas --- commit 5198e47e36c8bceb2842570a7e3f4ec7fd8748e0 Author: Nikolay Nikolov Date: Fri May 13 20:55:12 2022 +0300 + added the atomic memory access WebAssembly instructions from the threading proposal for WebAssembly M compiler/wasm32/cpubase.pas M compiler/wasm32/itcpugas.pas M compiler/wasm32/strinst.inc --- commit ddab39dbdc65259d388133c8a99f9ab028c0e879 Author: Nikolay Nikolov Date: Fri May 13 21:15:54 2022 +0300 + enable the atomics extension on the llvm-mc command line (extension appears to be recognized since LLVM 8.0, so it should be safe to always enable this from the llvm-mc command line) M compiler/systems.pas M compiler/wasm32/agllvmmc.pas --- commit a285500d3680b13c2c5795d99c51404764b7df39 Author: florian Date: Fri May 13 22:37:43 2022 +0200 * patch by Rike: Use reverse_longword instead of manually reversing longword, resolves #39720 M compiler/ncgcon.pas M compiler/ncon.pas --- commit 1d70437017f8158469f0d91186ccfb177bdb15dd Author: Nikolay Nikolov Date: Fri May 13 22:46:27 2022 +0300 + added intrinsic (for RTL internal use) that emits the WebAssembly atomic.fence instruction M compiler/wasm32/ccpuinnr.inc M compiler/wasm32/nwasminl.pas M rtl/wasm32/cpuh.inc M rtl/wasm32/cpuinnr.inc --- commit 812736bd416afb2f02c894259aaa8b74f88f9c3f Author: Nikolay Nikolov Date: Fri May 13 22:56:36 2022 +0300 + support the atomic.fence instruction in the WebAssembly internal object writer M compiler/wasm32/aasmcpu.pas --- commit cddffbed58d6cf218eb0266455b0ae5c8bc806a3 Author: Jonas Maebe Date: Sat May 14 08:33:52 2022 +0200 llvmdbg: disable open array data location Since we don't generate full debug info for parameters yet, this internalerrors M compiler/llvm/dbgllvm.pas --- commit 481741c65b34f6090e319161eadfa4612f786736 Author: Jonas Maebe Date: Sat May 14 13:59:05 2022 +0200 llvmdbg: remove some commented dbgdwarf code Also adjusted some hashtable sizes M compiler/llvm/dbgllvm.pas --- commit a0d4cccd873a152308f0f917f636d17ed6d86100 Author: Pierre Muller Date: Sat May 14 21:05:08 2022 +0200 Fix syntax error for isLocal field for function/procedure type LLVM debug information M compiler/llvm/dbgllvm.pas --- commit 9b87fb4a347a3ac3aef351440911b50899b5e444 Author: Pierre Muller Date: Sat May 14 21:26:13 2022 +0200 Use '.L' as labelprefix for LLVM compiler variant M compiler/llvm/agllvm.pas --- commit e8da1d081a710fb13101bc265bc363d05049316f Author: florian Date: Sat May 14 22:23:35 2022 +0200 + Aarch64: MovOp2AddUtxw optimization M compiler/aarch64/aoptcpu.pas --- commit 16cb409fbf3004690ac9cc22a41e4d564f1e441d Author: Jonas Maebe Date: Sat May 14 22:31:12 2022 +0200 LLVM: separate as_clang_llvm_darwin The Darwin local label prefix ('L') is different from that on most other platforms ('.L). While LLVM generally handles that for us, for inline assembly it's still FPC's job to adhere to the target conventions. M compiler/assemble.pas M compiler/llvm/agllvm.pas M compiler/options.pas M compiler/systems.inc M compiler/systems.pas --- commit 1923c8a6117876ed9646ed0ea8a7f8f2f49123bf Author: Brendan Dougherty Date: Sun May 15 08:56:50 2022 +0000 Only use Win64 vectorcall special case if calling convention is vectorcall. M compiler/x86_64/cpupara.pas --- commit 27db63969a047b37e4cacbd5d1be12b75cdf8dd7 Author: J. Gareth "Curious Kit" Moreton Date: Sun May 15 17:01:35 2022 +0100 * a64: Fix where hp1's was assumed to be an instruction and not actually checked M compiler/aarch64/aoptcpu.pas --- commit 637645b6d6d534f65d56a5b6a8582507f8f89941 Author: J. Gareth "Curious Kit" Moreton Date: Sun May 15 18:16:39 2022 +0100 * a64: New movz reg,#0 -> mov reg,xzr (or wzr) optimisation M compiler/aarch64/aoptcpu.pas --- commit 81fd3e274831ad5caab055f3066cf3751e96d4c2 Author: florian Date: Sun May 15 19:32:27 2022 +0200 * more readable fix for the missing ait_instruction check M compiler/aarch64/aoptcpu.pas --- commit d6ff4ed9673ab5a0cd0ec8fd4c1df23429755d17 Author: J. Gareth "Curious Kit" Moreton Date: Sun May 15 20:29:55 2022 +0100 * arm/a64: New sbfx/ubfx -> mov optimisation M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit 06cbb6edc7f1c0964999224e64fdb21238ed2bcd Author: J. Gareth "Curious Kit" Moreton Date: Mon May 16 06:28:23 2022 +0100 * a64: Updated debug messages to follow standard. M compiler/armgen/aoptarm.pas --- commit 7f886cc4b0f57b41c7391a2e359b3db16281232a Author: Pierre Muller Date: Mon May 16 15:12:07 2022 +0000 Call increfs manually to avoid removal of stabs debug related labels M compiler/dbgstabs.pas --- commit 9f47e21da3c24a06be2dde8435acd3b3a2d1aa72 Author: florian Date: Mon May 16 22:56:30 2022 +0200 * increase default dwarf version for linux targets where current distributions exist M compiler/systems/i_linux.pas --- commit be969205ad77a1ecaa8dfd98bcfe6257d3a07b0c Author: Pierre Muller Date: Tue May 17 22:47:13 2022 +0200 Do not alloc/dealloc NR_DEFAULTFLAGS for wasm32, as it is NR_NO M compiler/wasm32/hlcgcpu.pas --- commit 76df7144bae7df032872ce6a009b6bee110ef2e8 Author: Sven/Sarah Barth Date: Wed May 18 22:31:17 2022 +0200 * implement necessary conversion functionality for anonymous procdefs to function reference interfaces including capturing of variables M compiler/defcmp.pas M compiler/ncnv.pas --- commit 09625785114812ff5b3565d357426e7af2e537d3 Author: J. Gareth "Curious Kit" Moreton Date: Thu May 19 12:56:46 2022 +0100 * Streamlined label referencing M compiler/aasmcnst.pas --- commit c79df5f0fccf50ec0c18d580af898b68021d49e4 Author: florian Date: Thu May 19 22:28:09 2022 +0200 * better constant propation for inline nodes M compiler/optconstprop.pas --- commit d8f06aa4f163efae1c2938662c5e816e25a42b64 Author: Nikolay Nikolov Date: Fri May 20 17:36:37 2022 +0300 + added instrinsic support for the all the 2-parameter read-modify-write WebAssembly atomic operations (add, sub, and, or, xor, xchg). Note that they are not implemented in the internal assembler, yet. M compiler/wasm32/ccpuinnr.inc M compiler/wasm32/nwasminl.pas M rtl/wasm32/cpuh.inc M rtl/wasm32/cpuinnr.inc --- commit e03b9205206455c56174029ccc35d27a0e43b61a Author: Nikolay Nikolov Date: Fri May 20 19:33:20 2022 +0300 + added intrinsic support for the WebAssembly cmpxchg atomic operations as well M compiler/wasm32/ccpuinnr.inc M compiler/wasm32/nwasminl.pas M rtl/wasm32/cpuh.inc M rtl/wasm32/cpuinnr.inc --- commit 8817e896db8619b278e679b1c62bbec316a12f0a Author: Jonas Maebe Date: Fri May 20 21:18:44 2022 +0200 Add missing reference increases for ait_jvar labels M compiler/aasmtai.pas --- commit a1ee4e04ed8b5410a10b49b854fa17420eea19fc Author: florian Date: Fri May 20 22:50:59 2022 +0200 * if a for loop does not change a variable, we can propate it if it is a constant, resolves #39726 M compiler/optconstprop.pas M compiler/psub.pas --- commit 3cfdf000a2506431a9176e47aeadb1db67d7357d Author: Nikolay Nikolov Date: Sat May 21 17:24:21 2022 +0300 + support the new WebAssembly threads and atomics instructions in the internal assembler M compiler/wasm32/aasmcpu.pas M compiler/wasm32/cpubase.pas --- commit 86643710c438d759e902012bd98c90a9996f070b Author: Nikolay Nikolov Date: Sat May 21 17:53:38 2022 +0300 + support intrinsics for the WebAssembly memory.atomic.wait32 and memory.atomic.wait64 instructions M compiler/wasm32/ccpuinnr.inc M compiler/wasm32/nwasminl.pas M rtl/wasm32/cpuh.inc M rtl/wasm32/cpuinnr.inc --- commit f1cb5d8f71cc09bd03a3fc6a67a1803bc2265016 Author: Nikolay Nikolov Date: Sat May 21 18:03:14 2022 +0300 + support intrinsic for the memory.atomic.notify WebAssembly instruction M compiler/wasm32/nwasminl.pas M rtl/wasm32/cpuh.inc --- commit 6a6a17717ac141abdd0b6f661f766010837ff212 Author: Sven/Sarah Barth Date: Sat May 21 19:03:42 2022 +0200 + add a new symoption for symbols created for nameless types during implicit function specialization so that they can be recognized M compiler/pgenutil.pas M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp --- commit a764c035b23b0a278afa3710542ce850923804e1 Author: Sven/Sarah Barth Date: Sat May 21 19:04:37 2022 +0200 * if the symbol belongs to the current def also consider it a specialization if it's a nameless type symbol from an implicit function specialization as their owner gets changed to the function itself M compiler/symdef.pas --- commit f8967668371d7b2fe86362f898745d1710ab9abe Author: Jonas Maebe Date: Sat May 21 20:48:01 2022 +0200 agllvm: fix writing metadata operands for variable declarations M compiler/llvm/agllvm.pas --- commit a33e6230a00bde7fda922ccf94a49da79f0bff5c Author: Jonas Maebe Date: Sat May 21 20:48:43 2022 +0200 llvm metadata: add DIGlobalVariableExpression enum Only documented as of LLVM 9.0, but existed already in 7.0. Also fixed DIGlobalVariable not being marked as unique M compiler/llvm/aasmllvmmetadata.pas --- commit e865ab4c3a52fac811b39f24b4572610b0e59a7e Author: Jonas Maebe Date: Sat May 21 20:51:06 2022 +0200 llvmdbg: handle nil in more places "void" is represented as "null" in LLVM debug information, which we represent by nil M compiler/llvm/aasmllvmmetadata.pas M compiler/llvm/dbgllvm.pas --- commit d0bf7acc188e3a0b701c58f48a196bc2d8ded78b Author: Jonas Maebe Date: Sat May 21 20:54:04 2022 +0200 llvmdbg: build hashtable to lookup llvmdecl belonging to a global variable We need to attach the debug info to it M compiler/aasmdata.pas M compiler/llvm/dbgllvm.pas --- commit 1b393c80aad885242259470682078971d29a83a1 Author: Jonas Maebe Date: Sat May 21 20:54:58 2022 +0200 llvmdbg: fix missing initialisation when there are no procedures M compiler/llvm/dbgllvm.pas --- commit 9a7a97175ef8d78e03d878b29ee5d48d24186016 Author: Jonas Maebe Date: Sat May 21 20:55:52 2022 +0200 llvmdbg: emit debug information for global variables M compiler/llvm/dbgllvm.pas --- commit ccc843f98319c4dc3e5a6654f4c20a238969e284 Author: Jonas Maebe Date: Sat May 21 21:57:32 2022 +0200 llvmdbg: emit uppercase symbol names unless C++-style debug info is selected Otherwise gdb won't find the symbols unless you use the exact case M compiler/llvm/dbgllvm.pas --- commit 91481a5fae82c1995f41256dfdb08c0f278348c5 Author: florian Date: Sat May 21 22:31:51 2022 +0200 * more robust code for constant propagation in for loops M compiler/optconstprop.pas --- commit aa43441ac98ddd6cf5fcb6b6109775a4ec91ee33 Author: Jonas Maebe Date: Sun May 22 22:07:51 2022 +0200 llvm: replaced boolean fields in tllvmcallpara with a set M compiler/llvm/aasmllvm.pas M compiler/llvm/agllvm.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/nllvmbas.pas --- commit 4c8e802dd36a951f6925bb8bcf4c9ea043235f81 Author: florian Date: Sun May 22 22:51:57 2022 +0200 * continue const. propagation after a for loop when possible M compiler/optconstprop.pas M compiler/psub.pas --- commit e8e53d13cde14e49512f220373c6ef2f9352e1db Author: florian Date: Mon May 23 21:46:41 2022 +0200 * fix #39730 as suggested by Jonas M compiler/x86/cgx86.pas --- commit fe0048bcecff7c5c9af3fa64be991da072fb1ec1 Author: Jonas Maebe Date: Mon May 23 22:16:26 2022 +0200 llvm: changed llvm_metadatatype from untyped pointer to undefineddef That matches its meaning better, as it should not result in type conversions. E.g. some kinds of metadata parameters expect a "type register" parameter such as "metadata i32* %reg.3" M compiler/llvm/llvmdef.pas M compiler/psystem.pas --- commit 32fa0ecaf991bb0f8ecca00675a31808976fbef4 Author: florian Date: Mon May 23 22:28:49 2022 +0200 * cleanup M compiler/symtype.pas --- commit 3ca3c7a60609c3dd861f4335bc8118a83f0a0551 Author: Sven/Sarah Barth Date: Mon May 23 23:01:36 2022 +0200 - remove duplicate paraprintnodetree to ensure that there the right paraprintnodetree is used (namely the one from globals) M compiler/verbose.pas --- commit 90eabdd6b4cb82333039c102808beebc9df0a3d7 Author: Sven/Sarah Barth Date: Mon May 23 23:03:10 2022 +0200 * ensure insert_self_and_vmt_para can deal with a preexisting self symbol as long as it has the expected type M compiler/pparautl.pas --- commit 283c213a0c6ffb942860649f703b4cf8862e4f5f Author: Nikolay Nikolov Date: Tue May 24 10:47:38 2022 +0300 * patch by Pierre, which fixes WebAssembly code generation for signed div/mod with overflow checking M compiler/wasm32/nwasmmat.pas --- commit 8bea5dd41e86662f33771e442650d774af1a3d4b Author: Nikolay Nikolov Date: Tue May 24 11:00:10 2022 +0300 * WebAssembly code generation fix in thlcgwasm.a_op_reg_reg_reg_checkoverflow, based on patch by Pierre (but simplified, to use a single block) M compiler/wasm32/hlcgcpu.pas --- commit 6e4e3b85800d8f12fabe4527e4c13ec5002d9a02 Author: Nikolay Nikolov Date: Tue May 24 11:06:59 2022 +0300 * fixed WebAssembly code generation in thlcgwasm.g_overflowCheck_loc (patch by Pierre) M compiler/wasm32/hlcgcpu.pas --- commit e74797d41150a8b333a104c245d69a700da0401a Author: Nikolay Nikolov Date: Tue May 24 11:38:42 2022 +0300 * replaced several internal errors, related to the WebAssembly labels resolution with more meaningful error messages, in order to ease the debugging of the compiler. Based on patch by Pierre. M compiler/wasm32/cpupi.pas M compiler/wasm32/hlcgcpu.pas --- commit 8c562995d7307608746f3a86d9354d06443b0c36 Author: Nikolay Nikolov Date: Tue May 24 14:01:59 2022 +0300 * regenerate makefiles with latest fpcmake M compiler/Makefile M compiler/utils/Makefile M installer/Makefile M packages/Makefile M packages/a52/Makefile M packages/ami-extra/Makefile M packages/amunits/Makefile M packages/arosunits/Makefile M packages/aspell/Makefile M packages/bfd/Makefile M packages/bzip2/Makefile M packages/cairo/Makefile M packages/cdrom/Makefile M packages/cdrom/examples/Makefile M packages/chm/Makefile M packages/cocoaint/Makefile M packages/dblib/Makefile M packages/dbus/Makefile M packages/dbus/examples/Makefile M packages/dts/Makefile M packages/fastcgi/Makefile M packages/fcl-async/Makefile M packages/fcl-base/Makefile M packages/fcl-base/examples/Makefile M packages/fcl-css/Makefile M packages/fcl-db/Makefile M packages/fcl-db/src/base/Makefile M packages/fcl-db/src/codegen/Makefile M packages/fcl-db/src/datadict/Makefile M packages/fcl-db/src/dbase/Makefile M packages/fcl-db/src/export/Makefile M packages/fcl-db/src/json/Makefile M packages/fcl-db/src/memds/Makefile M packages/fcl-db/src/paradox/Makefile M packages/fcl-db/src/sdf/Makefile M packages/fcl-db/src/sql/Makefile M packages/fcl-db/src/sqldb/Makefile M packages/fcl-db/src/sqldb/interbase/Makefile M packages/fcl-db/src/sqldb/mssql/Makefile M packages/fcl-db/src/sqldb/mysql/Makefile M packages/fcl-db/src/sqldb/odbc/Makefile M packages/fcl-db/src/sqldb/oracle/Makefile M packages/fcl-db/src/sqldb/postgres/Makefile M packages/fcl-db/src/sqldb/sqlite/Makefile M packages/fcl-db/src/sqlite/Makefile M packages/fcl-db/tests/Makefile M packages/fcl-extra/Makefile M packages/fcl-extra/examples/Makefile M packages/fcl-fpcunit/Makefile M packages/fcl-fpcunit/src/exampletests/Makefile M packages/fcl-fpcunit/src/tests/Makefile M packages/fcl-hash/Makefile M packages/fcl-image/Makefile M packages/fcl-image/examples/Makefile M packages/fcl-js/Makefile M packages/fcl-json/Makefile M packages/fcl-mustache/Makefile M packages/fcl-net/Makefile M packages/fcl-net/examples/Makefile M packages/fcl-passrc/Makefile M packages/fcl-pdf/Makefile M packages/fcl-process/Makefile M packages/fcl-registry/Makefile M packages/fcl-registry/tests/Makefile M packages/fcl-report/Makefile M packages/fcl-res/Makefile M packages/fcl-sdo/Makefile M packages/fcl-sound/Makefile M packages/fcl-stl/Makefile M packages/fcl-web/Makefile M packages/fcl-web/src/base/Makefile M packages/fcl-web/src/jsonrpc/Makefile M packages/fcl-web/src/webdata/Makefile M packages/fcl-xml/Makefile M packages/fftw/Makefile M packages/fpgtk/Makefile M packages/fpgtk/examples/Makefile M packages/fpindexer/Makefile M packages/fpmkunit/Makefile M packages/fppkg/Makefile M packages/fuse/Makefile M packages/fv/Makefile M packages/fv/examples/Makefile M packages/gdbint/Makefile M packages/gdbm/Makefile M packages/gdbm/examples/Makefile M packages/ggi/Makefile M packages/ggi/examples/Makefile M packages/gitlab/Makefile M packages/gmp/Makefile M packages/gmp/examples/Makefile M packages/gnome1/Makefile M packages/gnutls/Makefile M packages/googleapi/Makefile M packages/graph/Makefile M packages/gtk1/Makefile M packages/gtk1/examples/Makefile M packages/gtk1/examples/tutorial/Makefile M packages/gtk1/src/gtkgl/Makefile M packages/gtk2/Makefile M packages/gtk2/examples/Makefile M packages/gtk2/examples/filechooser/Makefile M packages/gtk2/examples/gettingstarted/Makefile M packages/gtk2/examples/gtk_demo/Makefile M packages/gtk2/examples/gtkglext/Makefile M packages/gtk2/examples/helloworld/Makefile M packages/gtk2/examples/helloworld2/Makefile M packages/gtk2/examples/plugins/Makefile M packages/gtk2/examples/scribble_simple/Makefile M packages/hash/Makefile M packages/hash/examples/Makefile M packages/hermes/Makefile M packages/httpd13/Makefile M packages/httpd20/Makefile M packages/httpd20/examples/Makefile M packages/httpd22/Makefile M packages/httpd22/examples/Makefile M packages/httpd24/Makefile M packages/httpd24/examples/Makefile M packages/ibase/Makefile M packages/ibase/examples/Makefile M packages/iconvenc/Makefile M packages/iconvenc/examples/Makefile M packages/ide/Makefile M packages/ide/compiler/Makefile M packages/ide/fakegdb/Makefile M packages/imagemagick/Makefile M packages/imlib/Makefile M packages/iosxlocale/Makefile M packages/jni/Makefile M packages/ldap/Makefile M packages/libc/Makefile M packages/libcups/Makefile M packages/libcurl/Makefile M packages/libcurl/examples/Makefile M packages/libenet/Makefile M packages/libffi/Makefile M packages/libfontconfig/Makefile M packages/libgbafpc/Makefile M packages/libgbafpc/examples/Makefile M packages/libgbafpc/examples/audio/Makefile M packages/libgbafpc/examples/audio/PlayBoyScout/Makefile M packages/libgbafpc/examples/graphics/Makefile M packages/libgbafpc/examples/graphics/PCXView/Makefile M packages/libgbafpc/examples/graphics/SimpleBGScroll/Makefile M packages/libgbafpc/examples/graphics/ansi_console/Makefile M packages/libgbafpc/examples/template/Makefile M packages/libgc/Makefile M packages/libgd/Makefile M packages/libgd/examples/Makefile M packages/libmagic/Makefile M packages/libmicrohttpd/Makefile M packages/libndsfpc/Makefile M packages/libndsfpc/examples/Makefile M packages/libndsfpc/examples/audio/Makefile M packages/libndsfpc/examples/audio/maxmod/Makefile M packages/libndsfpc/examples/audio/maxmod/audio_modes/Makefile M packages/libndsfpc/examples/audio/maxmod/basic_sound/Makefile M packages/libndsfpc/examples/audio/maxmod/reverb/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example/Makefile M packages/libndsfpc/examples/audio/maxmod/song_events_example2/Makefile M packages/libndsfpc/examples/audio/maxmod/streaming/Makefile M packages/libndsfpc/examples/audio/micrecord/Makefile M packages/libndsfpc/examples/card/Makefile M packages/libndsfpc/examples/card/eeprom/Makefile M packages/libndsfpc/examples/debugging/Makefile M packages/libndsfpc/examples/debugging/exceptionTest/Makefile M packages/libndsfpc/examples/ds_motion/Makefile M packages/libndsfpc/examples/dswifi/Makefile M packages/libndsfpc/examples/dswifi/ap_search/Makefile M packages/libndsfpc/examples/dswifi/autoconnect/Makefile M packages/libndsfpc/examples/dswifi/httpget/Makefile M packages/libndsfpc/examples/filesystem/Makefile M packages/libndsfpc/examples/filesystem/embedded_gbfs/Makefile M packages/libndsfpc/examples/filesystem/libfat/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_dir/Makefile M packages/libndsfpc/examples/filesystem/libfat/access_file/Makefile M packages/libndsfpc/examples/filesystem/libfat/libfatdir/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/Makefile M packages/libndsfpc/examples/filesystem/nitrofs/nitrodir/Makefile M packages/libndsfpc/examples/gl2d/2Dplus3D/Makefile M packages/libndsfpc/examples/gl2d/Makefile M packages/libndsfpc/examples/gl2d/dual_screen/Makefile M packages/libndsfpc/examples/gl2d/fonts/Makefile M packages/libndsfpc/examples/gl2d/primitives/Makefile M packages/libndsfpc/examples/gl2d/scrolling/Makefile M packages/libndsfpc/examples/gl2d/sprites/Makefile M packages/libndsfpc/examples/graphics/3D/3D_Both_Screens/Makefile M packages/libndsfpc/examples/graphics/3D/BoxTest/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List/Makefile M packages/libndsfpc/examples/graphics/3D/Display_List_2/Makefile M packages/libndsfpc/examples/graphics/3D/Env_Mapping/Makefile M packages/libndsfpc/examples/graphics/3D/Makefile M packages/libndsfpc/examples/graphics/3D/Mixed_Text_3D/Makefile M packages/libndsfpc/examples/graphics/3D/Ortho/Makefile M packages/libndsfpc/examples/graphics/3D/Paletted_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Picking/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Simple_Tri/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Cube/Makefile M packages/libndsfpc/examples/graphics/3D/Textured_Quad/Makefile M packages/libndsfpc/examples/graphics/3D/Toon_Shading/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson01/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson02/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson03/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson04/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson05/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson06/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson07/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson08/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson09/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson10b/Makefile M packages/libndsfpc/examples/graphics/3D/nehe/lesson11/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/16bit_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/256_color_bmp/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Double_Buffer/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/all_in_one/Makefile M packages/libndsfpc/examples/graphics/Backgrounds/rotation/Makefile M packages/libndsfpc/examples/graphics/Effects/Makefile M packages/libndsfpc/examples/graphics/Effects/windows/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/Makefile M packages/libndsfpc/examples/graphics/Ext_Palettes/backgrounds/Makefile M packages/libndsfpc/examples/graphics/Makefile M packages/libndsfpc/examples/graphics/Printing/Makefile M packages/libndsfpc/examples/graphics/Printing/ansi_console/Makefile M packages/libndsfpc/examples/graphics/Printing/console_windows/Makefile M packages/libndsfpc/examples/graphics/Printing/custom_font/Makefile M packages/libndsfpc/examples/graphics/Printing/print_both_screens/Makefile M packages/libndsfpc/examples/graphics/Printing/rotscale_text/Makefile M packages/libndsfpc/examples/graphics/Sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/allocation_test/Makefile M packages/libndsfpc/examples/graphics/Sprites/animate_simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/bitmap_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/fire_and_sprites/Makefile M packages/libndsfpc/examples/graphics/Sprites/simple/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_extended_palettes/Makefile M packages/libndsfpc/examples/graphics/Sprites/sprite_rotate/Makefile M packages/libndsfpc/examples/graphics/grit/256colorTilemap/Makefile M packages/libndsfpc/examples/graphics/grit/Makefile M packages/libndsfpc/examples/hello_world/Makefile M packages/libndsfpc/examples/input/Makefile M packages/libndsfpc/examples/input/Touch_Pad/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_area/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_look/Makefile M packages/libndsfpc/examples/input/Touch_Pad/touch_test/Makefile M packages/libndsfpc/examples/input/keyboard/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_async/Makefile M packages/libndsfpc/examples/input/keyboard/keyboard_stdin/Makefile M packages/libndsfpc/examples/time/Makefile M packages/libndsfpc/examples/time/RealTimeClock/Makefile M packages/libndsfpc/examples/time/stopwatch/Makefile M packages/libndsfpc/examples/time/timercallback/Makefile M packages/libnettle/Makefile M packages/libogcfpc/Makefile M packages/libogcfpc/examples/Makefile M packages/libogcfpc/examples/audio/Makefile M packages/libogcfpc/examples/audio/modplay/Makefile M packages/libogcfpc/examples/audio/mp3player/Makefile M packages/libogcfpc/examples/devices/Makefile M packages/libogcfpc/examples/devices/network/Makefile M packages/libogcfpc/examples/devices/network/sockettest/Makefile M packages/libogcfpc/examples/devices/usbgecko/Makefile M packages/libogcfpc/examples/devices/usbgecko/gdbstub/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/Makefile M packages/libogcfpc/examples/devices/usbkeyboard/basic_stdin/Makefile M packages/libogcfpc/examples/filesystem/Makefile M packages/libogcfpc/examples/filesystem/directory/Makefile M packages/libogcfpc/examples/graphics/Makefile M packages/libogcfpc/examples/graphics/gx/Makefile M packages/libogcfpc/examples/graphics/gx/gxSprites/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson1/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson2/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson3/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson4/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson5/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson6/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson7/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson8/Makefile M packages/libogcfpc/examples/graphics/gx/neheGX/lesson9/Makefile M packages/libogcfpc/examples/graphics/gx/triangle/Makefile M packages/libogcfpc/examples/template/Makefile M packages/libpng/Makefile M packages/librsvg/Makefile M packages/libsee/Makefile M packages/libsee/examples/Makefile M packages/libtar/Makefile M packages/libusb/Makefile M packages/libvlc/Makefile M packages/libxml/Makefile M packages/libxml/examples/Makefile M packages/lua/Makefile M packages/mad/Makefile M packages/matroska/Makefile M packages/modplug/Makefile M packages/morphunits/Makefile M packages/mysql/Makefile M packages/mysql/examples/Makefile M packages/ncurses/Makefile M packages/ncurses/examples/Makefile M packages/newt/Makefile M packages/newt/examples/Makefile M packages/numlib/Makefile M packages/numlib/examples/Makefile M packages/nvapi/Makefile M packages/objcrtl/Makefile M packages/odata/Makefile M packages/odbc/Makefile M packages/odbc/examples/Makefile M packages/oggvorbis/Makefile M packages/openal/Makefile M packages/openal/examples/Makefile M packages/opencl/Makefile M packages/opengl/Makefile M packages/opengl/examples/Makefile M packages/opengles/Makefile M packages/opengles/examples/Makefile M packages/openssl/Makefile M packages/oracle/Makefile M packages/oracle/examples/Makefile M packages/os2units/Makefile M packages/os2units/examples/Makefile M packages/os4units/Makefile M packages/palmunits/Makefile M packages/pasjpeg/Makefile M packages/pastojs/Makefile M packages/paszlib/Makefile M packages/paszlib/examples/Makefile M packages/pcap/Makefile M packages/postgres/Makefile M packages/postgres/examples/Makefile M packages/proj4/Makefile M packages/ptc/Makefile M packages/ptc/examples/Makefile M packages/pthreads/Makefile M packages/pxlib/Makefile M packages/pxlib/examples/Makefile M packages/qlunits/Makefile M packages/regexpr/Makefile M packages/regexpr/examples/Makefile M packages/rexx/Makefile M packages/rexx/examples/Makefile M packages/rtl-console/Makefile M packages/rtl-extra/Makefile M packages/rtl-generics/Makefile M packages/rtl-objpas/Makefile M packages/rtl-unicode/Makefile M packages/sdl/Makefile M packages/sndfile/Makefile M packages/sqlite/Makefile M packages/svgalib/Makefile M packages/svgalib/examples/Makefile M packages/symbolic/Makefile M packages/symbolic/examples/Makefile M packages/syslog/Makefile M packages/syslog/examples/Makefile M packages/tcl/Makefile M packages/tosunits/Makefile M packages/tplylib/Makefile M packages/univint/Makefile M packages/univint/examples/Makefile M packages/unixutil/Makefile M packages/unzip/Makefile M packages/users/Makefile M packages/users/examples/Makefile M packages/utmp/Makefile M packages/utmp/examples/Makefile M packages/uuid/Makefile M packages/uuid/examples/Makefile M packages/vcl-compat/Makefile M packages/wasmtime/Makefile M packages/webidl/Makefile M packages/winceunits/Makefile M packages/winunits-base/Makefile M packages/winunits-jedi/Makefile M packages/x11/Makefile M packages/xforms/Makefile M packages/xforms/examples/Makefile M packages/zlib/Makefile M packages/zorba/Makefile M rtl/aix/Makefile M rtl/amiga/Makefile M rtl/android/Makefile M rtl/android/jvm/Makefile M rtl/aros/Makefile M rtl/atari/Makefile M rtl/beos/Makefile M rtl/darwin/Makefile M rtl/dragonfly/Makefile M rtl/embedded/Makefile M rtl/emx/Makefile M rtl/freebsd/Makefile M rtl/freertos/Makefile M rtl/gba/Makefile M rtl/go32v2/Makefile M rtl/haiku/Makefile M rtl/java/Makefile M rtl/linux/Makefile M rtl/macos/Makefile M rtl/morphos/Makefile M rtl/msdos/Makefile M rtl/msxdos/Makefile M rtl/nativent/Makefile M rtl/nds/Makefile M rtl/netbsd/Makefile M rtl/netware/Makefile M rtl/netwlibc/Makefile M rtl/openbsd/Makefile M rtl/os2/Makefile M rtl/palmos/Makefile M rtl/qnx/Makefile M rtl/sinclairql/Makefile M rtl/solaris/Makefile M rtl/symbian/Makefile M rtl/wasi/Makefile M rtl/watcom/Makefile M rtl/wii/Makefile M rtl/win16/Makefile M rtl/win32/Makefile M rtl/win64/Makefile M rtl/wince/Makefile M tests/Makefile M tests/tstunits/Makefile M tests/utils/Makefile M tests/utils/testsuite/Makefile M utils/Makefile M utils/debugsvr/Makefile M utils/debugsvr/console/Makefile M utils/debugsvr/gtk/Makefile M utils/dxegen/Makefile M utils/fpcm/Makefile M utils/fpcmkcfg/Makefile M utils/fpcres/Makefile M utils/fpcreslipo/Makefile M utils/fpdoc/Makefile M utils/fpdoc/fpde/Makefile M utils/fpmc/Makefile M utils/fppkg/Makefile M utils/fprcp/Makefile M utils/h2pas/Makefile M utils/ihxutil/Makefile M utils/importtl/Makefile M utils/instantfpc/Makefile M utils/json2pas/Makefile M utils/mksymbian/Makefile M utils/pas2fpm/Makefile M utils/pas2jni/Makefile M utils/pas2js/Makefile M utils/pas2ut/Makefile M utils/rmwait/Makefile M utils/tply/Makefile M utils/unicode/Makefile M utils/wasmbin/Makefile --- commit 9274f17c527a2e785206282bd05fe7f4ccc7a01d Author: Nikolay Nikolov Date: Tue May 24 16:06:05 2022 +0300 + reserved inline numbers for the WebAssembly atomic loads and stores M compiler/wasm32/ccpuinnr.inc M rtl/wasm32/cpuinnr.inc --- commit 0103964250203de699636e16921fec85562f0b17 Author: Nikolay Nikolov Date: Wed May 25 18:55:41 2022 +0300 + implemented WebAssembly atomic load intrinsics M compiler/wasm32/nwasminl.pas M rtl/wasm32/cpuh.inc --- commit 16f5863847120e1990e3bcb14948d78a04936df0 Author: Nikolay Nikolov Date: Wed May 25 19:22:45 2022 +0300 + added WebAssembly atomic store intrinsics M compiler/wasm32/nwasminl.pas M rtl/wasm32/cpuh.inc --- commit 7974f39522b36a525cdfd730a5c989d78308e88f Author: Sven/Sarah Barth Date: Wed May 25 22:11:08 2022 +0200 * implement assignment of procedure and method variables and routines (global, instance and nested) to function references M compiler/defcmp.pas M compiler/htypechk.pas M compiler/ncnv.pas M compiler/parser.pas M compiler/pbase.pas M compiler/pexpr.pas M compiler/procdefutil.pas --- commit e0de75224b17627c9087f5cad5180c43cf8fffe5 Author: Pierre Muller Date: Thu May 26 00:00:44 2022 +0200 Add help for -Aomf option for wasm32 CPU and new message for ogwasm binary writer M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 7c21b371051de1de1ca7891802b48a51a8d2197f Author: Pierre Muller Date: Thu May 26 00:27:50 2022 +0200 Avoid some range check error and convert internalerror into error messages M compiler/ogwasm.pas --- commit dc1e0a6bb3391a0fc1dc1b031abb454b0f1f4dd7 Author: Jonas Maebe Date: Thu May 26 13:39:15 2022 +0200 tllvmcallpara: turned into object and added convenience methods M compiler/llvm/aasmllvm.pas M compiler/llvm/agllvm.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvmtype.pas M compiler/llvm/nllvmbas.pas M compiler/llvm/rgllvm.pas M compiler/parabase.pas --- commit 0c6287894b88ebf70c22f4c65a83e8ff2ab99315 Author: Nikolay Nikolov Date: Thu May 26 14:12:10 2022 +0300 * the WebAssembly internal assembler renamed WASM (previously it was OMF, which was the ID of the MS-DOS .obj writer, which I forgot to rename) M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/ogwasm.pas --- commit 3994626cb110c51bb87776f71fc886ad15c0c4ff Author: Nikolay Nikolov Date: Thu May 26 14:14:46 2022 +0300 * fixed the message in the previous commit M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit abfd975571b3fd59209717b7ec76e2740aa97507 Author: Jonas Maebe Date: Thu May 26 14:21:38 2022 +0200 TCGParaLocation: remove alignment gap M compiler/parabase.pas --- commit 66b471e5160235499f94848a8eed6084c86497df Author: Nikolay Nikolov Date: Thu May 26 15:06:35 2022 +0300 + support different versions of llvm-mc (version 10 seems to be the earliest that works) M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/systems.inc M compiler/wasm32/agllvmmc.pas --- commit e8b0fc88e340b1b288e9e31ae8f3d5b7847ab686 Author: Sven/Sarah Barth Date: Thu May 26 18:02:31 2022 +0200 * correctly handle directives for function references M compiler/pdecl.pas M compiler/pdecvar.pas --- commit 6ee4ee960e41ae5053cbce3cf1336d20e57be942 Author: Nikolay Nikolov Date: Thu May 26 18:20:07 2022 +0300 + added "(experimental)" to the compiler help screen for the WebAssembly compiler options that are still unstable/experimental M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 45bf47ee05bde9acb4c64b1c39ea0009cb405c7d Author: florian Date: Thu May 26 22:34:12 2022 +0200 * compilation with -O3 fixed M compiler/pdecl.pas M compiler/ptype.pas M compiler/symdef.pas --- commit e148afd506194474790e974cad61118610935f93 Author: Pierre Muller Date: Thu May 26 22:43:37 2022 +0200 Fix cycling with -CR option M compiler/pdecl.pas --- commit f73fc7d566fc275c067398b083de92fccbf8a1b3 Author: Sven/Sarah Barth Date: Fri May 27 07:24:46 2022 +0200 * fix #39736: ensure that the capturer object and any converted function reference interface are considered used + added test M compiler/procdefutil.pas A tests/webtbs/tw39736.pp --- commit 0c9b622a742063d1496cb47ff9b18db2480fbe31 Author: Sven/Sarah Barth Date: Fri May 27 07:36:50 2022 +0200 * fix compilation with DEBUG_NODE_XML defined M compiler/procdefutil.pas --- commit bb39ec161058e23c3fd41b3fcc9f9c47adb20779 Author: Pierre Muller Date: Fri May 27 12:32:53 2022 +0000 Avoid invalid typecast to tabstractvarsym M compiler/defcmp.pas --- commit c92a035614a1c9866ca2daba28ae283974b68219 Author: Jonas Maebe Date: Fri May 27 21:20:42 2022 +0200 agllvm: support nested constants in parameters Needed for metadata support M compiler/llvm/agllvm.pas --- commit 41a6c5e967abc1588e2fa9bbb301704555b31b7b Author: Jonas Maebe Date: Fri May 27 21:21:01 2022 +0200 agllvm: support specialised metadata with field names Necessary for DIExpression M compiler/llvm/agllvm.pas --- commit a76085e463af334c83a13341f3349e6ee29d396c Author: Jonas Maebe Date: Fri May 27 21:23:09 2022 +0200 tllvmcallpara: record whether it's passed to metadata Sometimes we need the def to store a the original def of the passed parameter, e.g. for the first argument to llvm.dbg.addr M compiler/llvm/aasmllvm.pas M compiler/llvm/agllvm.pas M compiler/llvm/hlcgllvm.pas --- commit a76038e1d1eb5a07a2cab78044e793f947247457 Author: Jonas Maebe Date: Fri May 27 21:24:59 2022 +0200 hlcgobj: new getlocal and recordnewsymloc methods Call hlcg.getlocal instead of tg.getlocal when used for actual parameters/local variables. Has an extra tsym parameter, which will enable the LLVM backend to insert debug information. Call hlcg.recordnewsymloc when the location of a (local/para) symbol changes, so debug info tracking can be updated (only done for LLVM currently) M compiler/hlcgobj.pas M compiler/llvm/hlcgllvm.pas M compiler/ncgld.pas M compiler/ncgutil.pas --- commit b6aaa06f83f64b1f574f0ba41ac8566c2b5d325b Author: Nikolay Nikolov Date: Fri May 27 22:35:25 2022 +0300 + enable the ROL/ROR instructions for WebAssembly M compiler/fpcdefs.inc M rtl/inc/systemh.inc M tests/tbs/tb0627b.pp --- commit dbba2d2746022e583890e6ddda9d081eea30d40e Author: Nikolay Nikolov Date: Fri May 27 23:23:27 2022 +0300 + implemented popcnt via the popcnt instruction in WebAssembly M compiler/wasm32/nwasminl.pas --- commit ca29df1aa9c58b951d8e2dbaa7b98a4e56563f3e Author: florian Date: Fri May 27 23:31:28 2022 +0200 * Risc-V: return with mret from interrupt handlers, resolves #39737 M compiler/riscv32/cgcpu.pas M compiler/riscv64/cgcpu.pas --- commit e2eadc51a3516e7945d559531ebe4bb7d9a26bf7 Author: Nikolay Nikolov Date: Fri May 27 23:38:49 2022 +0300 + added the memory.init and data.drop instructions M compiler/wasm32/cpubase.pas M compiler/wasm32/itcpugas.pas M compiler/wasm32/strinst.inc --- commit 534383f6860ddc205294134f53d981ed1002dbb5 Author: Nikolay Nikolov Date: Fri May 27 23:58:27 2022 +0300 + added the WebAssembly reference instructions ref.null, ref.is_null and ref.func M compiler/wasm32/cpubase.pas M compiler/wasm32/itcpugas.pas M compiler/wasm32/strinst.inc --- commit 288871059448cddfb241a8a8be22854b5e71b640 Author: Nikolay Nikolov Date: Sat May 28 00:02:27 2022 +0300 + added the WebAssembly table instructions M compiler/wasm32/cpubase.pas M compiler/wasm32/itcpugas.pas M compiler/wasm32/strinst.inc --- commit 907e8402ab8ac165fe0a35cc81d180db03df8330 Author: Nikolay Nikolov Date: Sat May 28 00:16:51 2022 +0300 + added the WebAssembly reference and vector types to TWasmBasicType M compiler/wasm32/agwat.pas M compiler/wasm32/cpubase.pas M compiler/wasm32/itcpugas.pas --- commit 3a095f5ed5b1b715f5697aaac3d1274ca4674251 Author: Nikolay Nikolov Date: Sat May 28 00:30:43 2022 +0300 + support all the new types in encode_wasm_basic_type M compiler/wasm32/cpubase.pas --- commit ee89b7c9ec683320f2fa32cca9b46340a77b074f Author: Nikolay Nikolov Date: Sat May 28 00:47:09 2022 +0300 * fixed warning M compiler/ogwasm.pas --- commit 1fce5121f3b239994a241d91508f928ca2052988 Author: Nikolay Nikolov Date: Sat May 28 01:18:55 2022 +0300 + added the 'wasmthreads' target switch (enabled via -CTwasmthreads) M compiler/globtype.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit bf412455494aa6401c89ff331f89ce9dc1eff77f Author: Nikolay Nikolov Date: Sat May 28 01:26:17 2022 +0300 * fixed compilation of ppudump M compiler/utils/ppuutils/ppudump.pp --- commit 1dd80d596d0f11601c6c834df19cc1916bf9ea6b Author: Nikolay Nikolov Date: Sat May 28 03:31:53 2022 +0300 + added a 'producers' custom section to WebAssembly object modules, containing the FPC version M compiler/ogwasm.pas M compiler/wasmbase.pas --- commit 7cd082ba5fdff0517a53e8d711ef654c252b5b51 Author: Nikolay Nikolov Date: Sat May 28 04:04:02 2022 +0300 + produce a target_features section when compiling with -CTwasmthreads M compiler/ogwasm.pas M compiler/wasmbase.pas --- commit 83604b709c0e8383329d3fc67c37f380a6279404 Author: Jonas Maebe Date: Sat May 28 11:01:25 2022 +0200 ngtcon: fix def of emitted vmt in procedure of object typed constants Fixes compilation of tests/test/tprocvar17 with the LLVM backend, and probably some other tests as well M compiler/ngtcon.pas --- commit 8c67a4370be13ff0fe91ca86f4107680037d1657 Author: Jonas Maebe Date: Sat May 28 13:45:56 2022 +0200 rautils: don't interpret ".L3" as potentially meaning "unitx.identifier" Fixes compilation of webtbs/tw10641.pp with a compiler compiled with range checking M compiler/rautils.pas --- commit 573f2c20d757f2bac27c023d421a81e028c5ecd8 Author: Jonas Maebe Date: Sat May 28 13:58:24 2022 +0200 taddnode.cmp_of_disjunct_ranges: fortify in case of programs with errors Fixes compilation of webtbf/tw3116 with a compiler compiled with -Cr M compiler/nadd.pas --- commit 0ba7ef98b39d7d34ecc34f36cb230f5f9c9f0f2e Author: Nikolay Nikolov Date: Sat May 28 16:00:43 2022 +0300 + support the memory.init and the data.drop instructions in the internal asm writer for WebAssembly M compiler/wasm32/aasmcpu.pas --- commit d3782401347e6887bbf2d9fc421c2c658beaac6f Author: Nikolay Nikolov Date: Sat May 28 17:41:28 2022 +0300 + added the WebAssembly saturating truncation instructions to the internal assembler M compiler/wasm32/aasmcpu.pas M compiler/wasm32/cpubase.pas M compiler/wasm32/itcpugas.pas M compiler/wasm32/strinst.inc --- commit 34ebeb15ed8e3ab334edcfd953bfc328c7b52b5b Author: Nikolay Nikolov Date: Sat May 28 19:59:45 2022 +0300 * pass the option to create shared, imported memory to the linker, in case the module is compiled with -CTwasmthreads Note that this breaks running programs compiled with -CTwasmthreads with "wasmtime run --wasm-features threads", but there's not much we can do about that, since shared memory is required for threading, and wasmtime still doesn't support it. M compiler/systems/t_wasi.pas --- commit 1c7626715d14138249a4a7fe0e9fea786ec00959 Author: florian Date: Sat May 28 20:09:13 2022 +0200 * the stack pointer on Risc-V points always at the last used position, resolves #39739 M compiler/systems/t_embed.pas M compiler/systems/t_freertos.pas --- commit b29b81ae7b610091241f2f22e53ae2948e114a61 Author: florian Date: Sat May 28 20:25:28 2022 +0200 * pseudo instructions for flag handling M compiler/riscv/itcpugas.pas M compiler/riscv32/cpubase.pas --- commit 09587d0c1b6dd5e8de98b1e5af284c7a51523d01 Author: florian Date: Sat May 28 20:47:58 2022 +0200 * standard Risc-V pseudo instructions for Risc-V 32 completed M compiler/riscv/itcpugas.pas M compiler/riscv32/cpubase.pas --- commit 6a00f9f40367640fb0ba40f8b705ba93da7de93a Author: florian Date: Sat May 28 21:15:53 2022 +0200 * unified Risc-V 32 and 64 cpubase.pas R089 compiler/riscv32/cpubase.pas compiler/riscv/cpubase.pas M compiler/riscv/itcpugas.pas D compiler/riscv64/cpubase.pas --- commit 4556cb35d1c96f4d775a2ae993b0476453d232a6 Author: florian Date: Sat May 28 21:22:11 2022 +0200 + completed Risc-V 64 pseudo instructions * typo fixed M compiler/riscv/cpubase.pas M compiler/riscv/itcpugas.pas --- commit 70908b1449289321e48f58b71266fc3e4884071a Author: Jonas Maebe Date: Sat May 28 21:59:12 2022 +0200 llvm: support for adding/subtracting constants to pointers in typed constants Fixes webtbs/tw34027 for llvm M compiler/aasmcnst.pas M compiler/llvm/nllvmtcon.pas M compiler/ngtcon.pas --- commit 743d7c50d0b74afe5709a7f976af2cf3259ada49 Author: Jonas Maebe Date: Sat May 28 22:06:33 2022 +0200 do_set: immediately exit in case of range error Prevents run time error in case of a compiler compiled with range checks enabled (webtbf/tw10890a) M compiler/ncnv.pas --- commit 9e7895575ed1f29e0493d1f6a8e1704786ff1ac3 Author: Jonas Maebe Date: Sun May 29 11:27:22 2022 +0200 tarraydef.elecount: fix overflow detection It did not trigger in case of an array[0..high(asizeint)]. Fixes compilation of webtbs/tw9039[ab] with a compiler built with range checking enabled. M compiler/symdef.pas --- commit a19deace45acd25050ecfe0c8f31db1255982876 Author: Jonas Maebe Date: Sun May 29 13:22:46 2022 +0200 llvmdbg: fix overflows for aggregates > 2^61 bytes LLVM does not support aggregates larger than that at all, because internally it stores all sizes in bits in an uint64. Their rationale for not having special support for that is that there is no hardware with full 64 bit VM address space anyway. So truncate our size emissions in debug info also to that. M compiler/llvm/dbgllvm.pas --- commit 60b0bc55354360e257aa58cab02629465f1f28f9 Author: Jonas Maebe Date: Sun May 29 13:24:14 2022 +0200 read_record_fields: fix overflows of variant record size variables Could happen in case of > 32 bit variant parts, or variant parts at offsets > 32 bit offsets. Fixes webtbs/tw9039c with a compiler compiled with -Cr M compiler/pdecvar.pas --- commit dadc10658ccc475d2f016d5c360d1172d1d66842 Author: Sven/Sarah Barth Date: Sun May 29 13:55:57 2022 +0200 * set the correct symtable level for the invoke procdef M compiler/procdefutil.pas --- commit 29cfa3b2252eb8305ebd322ce1ca55ab5092de69 Author: Sven/Sarah Barth Date: Sun May 29 13:57:19 2022 +0200 * ensure that the VMT for the function reference interface is generated correctly, but for this the invokedef needs to be copied without hidden parameters (and handle_calling_convention will be done by the VMT builder as well) M compiler/procdefutil.pas --- commit 59f293711a806f74b8ebfc175f64fd1f505af73b Author: Jonas Maebe Date: Sun May 29 22:17:41 2022 +0200 function references: make names of interface methods valid Pascal identifiers On high level targets, and on PowerPC/PowerPC64, interface method thunks are implemented using internally-generated Pascal wrappers, so the method names need to be valid Pascal identifiers. Additionally, that wrapper code uses the procsym's realname, so also update the realname field when changing the name of anonymous methods. M compiler/pdecsub.pas M compiler/procdefutil.pas --- commit ae457a18adb106ee3c91d3f6fda679a16ba5264c Author: florian Date: Mon May 30 21:10:34 2022 +0200 * unified Risc-V 32 and 64 register data file R100 compiler/riscv32/rv32reg.dat compiler/riscv/rvreg.dat D compiler/riscv64/rv32reg.dat --- commit 252707a873aace64a0154f099f1dab71e9c58426 Author: florian Date: Mon May 30 21:12:37 2022 +0200 + "rescued" mkrvreg.pp from old svn data A compiler/utils/mkrvreg.pp --- commit 5a680f014892d09c531e93ff6c058731f803b84c Author: Sven/Sarah Barth Date: Mon May 30 23:05:45 2022 +0200 * fix #39745: the conversion from ordinals to pointer types in mode Delphi is not allowed for a void type (happens when using a typecast to convert a method without parameters to a function reference) + added test M compiler/defcmp.pas A tests/webtbs/tw39745.pp --- commit ad72542e9e3eec2f4ca704690080534786c93dea Author: Pierre Muller Date: Tue May 31 11:47:24 2022 +0000 Fix compilation of sparc compiler with -dDEBUG_ALL_OPT M compiler/sparcgen/aoptcpu.pas --- commit f27b55e9b2730ea8b4c8b5a81143ae618cbd31fe Author: Pierre Muller Date: Tue May 31 13:00:04 2022 +0000 Also add a comment when a label has been optimized out when compiled DEBUG_LABEL M compiler/aggas.pas --- commit 2cdbdcd5c56251e49e7c56391a8adb04adc5912c Author: Pierre Muller Date: Tue May 31 14:26:00 2022 +0000 Manually increase refs of newly created labelsymbol in insertpcrelativedata M compiler/arm/aasmcpu.pas --- commit dbbf7e7f3bf1c565ff756c97e91ee5df1357b130 Author: Pierre Muller Date: Tue May 31 15:23:57 2022 -0700 Add several increfs to avoid troubles on AIX target OS M compiler/powerpc/rappcgas.pas M compiler/powerpc64/rappcgas.pas M compiler/ppcgen/cgppc.pas --- commit eaeb8b70fffcd163dcc3945ad999649b6d5e9227 Author: florian Date: Tue May 31 22:37:06 2022 +0200 + added Risc-V register information file generation to the compiler Makefile * more stringent naming of register file information for Risc-V M compiler/Makefile M compiler/Makefile.fpc M compiler/riscv/cpubase.pas M compiler/riscv/itcpugas.pas R100 compiler/riscv64/rrv32con.inc compiler/riscv64/rrv64con.inc R100 compiler/riscv64/rrv32dwa.inc compiler/riscv64/rrv64dwa.inc R100 compiler/riscv64/rrv32nor.inc compiler/riscv64/rrv64nor.inc R100 compiler/riscv64/rrv32num.inc compiler/riscv64/rrv64num.inc R100 compiler/riscv64/rrv32rni.inc compiler/riscv64/rrv64rni.inc R100 compiler/riscv64/rrv32sri.inc compiler/riscv64/rrv64sri.inc R100 compiler/riscv64/rrv32sta.inc compiler/riscv64/rrv64sta.inc R100 compiler/riscv64/rrv32std.inc compiler/riscv64/rrv64std.inc R100 compiler/riscv64/rrv32sup.inc compiler/riscv64/rrv64sup.inc M compiler/utils/mkrvreg.pp --- commit 4361e36ce0254e4cda21977745ec4bc619952253 Author: Sven/Sarah Barth Date: Tue May 31 22:38:08 2022 +0200 * make proc_to_funcref_conv publicly available M compiler/defcmp.pas --- commit ea8e3cfc37b068aefe4c0cb20e3fc081ef043bcc Author: Sven/Sarah Barth Date: Tue May 31 22:39:04 2022 +0200 + add an error message that a nested function variable can not be assigned to a function reference M compiler/msg/errore.msg --- commit 26888342654bf4e8679de36aa069118cc4a52859 Author: Sven/Sarah Barth Date: Tue May 31 22:39:31 2022 +0200 * regenerate msg{idx,txt}.inc M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 3b7842c30e21d72345fbc4708523a283848279b4 Author: Sven/Sarah Barth Date: Tue May 31 22:39:47 2022 +0200 * ensure that a nested function variable can not be assigned to a function reference M compiler/procdefutil.pas --- commit 492754ecca850986a256273918bc4006fcd63bf7 Author: Sven/Sarah Barth Date: Tue May 31 22:41:00 2022 +0200 * the check for nested procvars is now done during the conversion in capturer_add_procvar_or_proc so loosen the check in proc_to_funcref_equal_internal M compiler/defcmp.pas --- commit 2372a069268bb381d8248207ee7a0484811f5b27 Author: Sven/Sarah Barth Date: Tue May 31 22:43:22 2022 +0200 * fix #39740: consider a conversion of a procedure or procedure variable to a function reference as a bit more expensive than otherwise + added test M compiler/defcmp.pas M compiler/htypechk.pas A tests/webtbs/tw39740.pp --- commit a27bc236a06f2dde0c4f8521f1ce0d3e2f75856c Author: Sven/Sarah Barth Date: Tue May 31 23:16:41 2022 +0200 * fix #39742: when assigning a function to a function reference it's not the function itself that needs to be checked to be captureable, but instead what it captures (this applies for both the non-generic and the generic case) + added tests M compiler/procdefutil.pas A tests/test/tfuncref37.pp A tests/test/tfuncref38.pp A tests/test/tfuncref39.pp A tests/test/tfuncref40.pp A tests/test/tfuncref41.pp A tests/test/tfuncref42.pp A tests/webtbs/tw39742.pp --- commit 0e142c00cc432cf238e33c7274d2c08b396bb605 Author: Pierre Muller Date: Wed Jun 1 00:19:24 2022 +0200 Disable finalisation code fro LLVM compiler to avoid interface finalisation troubles M compiler/ngenutil.pas A packages/fpmake-llvm A packages/fpmake-reg M packages/fpmkunit/src/fpmkunit.pp --- commit 430f1910ed39628284a38dc8a7d44e0380c9cdd6 Author: Pierre Muller Date: Wed Jun 1 00:35:55 2022 +0200 Fix compliation error with -Oodfa option as reported by Gareth M compiler/procdefutil.pas --- commit ec3a04da9b8f5f172ce3563ee17b17cae393eef3 Author: florian Date: Wed Jun 1 22:31:26 2022 +0200 + forgotten pseudo-instructions added M compiler/riscv/cpubase.pas M compiler/riscv/itcpugas.pas --- commit f1b166d6b8013fe8e9c192dfe9e3908c5b379625 Author: florian Date: Wed Jun 1 22:34:51 2022 +0200 * zero is a valid Risc-V register alias M compiler/riscv/rarvgas.pas --- commit ea659cbc2065d5c0ccc0dc8804eb02efbc9bccb5 Author: florian Date: Thu Jun 2 22:47:35 2022 +0200 * "fast lane" code and comment fixed M compiler/riscv/rarvgas.pas --- commit 762057f46d321c99d1cd274a7e19eca5180ba746 Author: Pierre Muller Date: Fri Jun 3 11:45:23 2022 -0700 Fix compilation of 32-bit powerpc compiler M compiler/powerpc/rappcgas.pas --- commit dcf6063dc3669441e4c0a2fad206f21b253f2916 Author: Jonas Maebe Date: Fri Jun 3 21:45:27 2022 +0200 llvm: version 13.0 support M compiler/llvm/llvminfo.pas --- commit a05aa25aadd53a6e9857e511a82158c782c61678 Author: florian Date: Fri Jun 3 22:53:44 2022 +0200 * Risc-V: allow also register aliases in register modification lists after asm blocks, last part to resolve #39738 M compiler/pstatmnt.pas M compiler/riscv/cpubase.pas M compiler/riscv/rarvgas.pas A tests/webtbs/tw39738.pp --- commit 591c1b0177b188bdb18572a0b3b20dd1d1ac076b Author: Jonas Maebe Date: Sat Jun 4 09:43:39 2022 +0200 llvm: added support for newer Xcode toolchains Based on https://en.wikipedia.org/wiki/Xcode#Xcode_11.x_-_13.x_(since_SwiftUI_framework)_2 M compiler/llvm/llvminfo.pas --- commit 3ef0db24047a6e5108585a9be8f68bcba18e4903 Author: Jonas Maebe Date: Sat Jun 4 10:22:19 2022 +0200 LLVM: list supported LLVM/Xcode versions Use the -i or -il command line parameter M compiler/msg/errore.msg M compiler/options.pas --- commit 49ad3b0d2c03a4bbfab9fbe779044357c1e0546c Author: Jonas Maebe Date: Sat Jun 4 10:23:11 2022 +0200 msg*.inc: regenerated M compiler/msgidx.inc M compiler/msgtxt.inc --- commit a45e5e7ab643ada0dc7c122c405a3e84078a9e89 Author: Jonas Maebe Date: Sat Jun 4 13:34:09 2022 +0200 llvm: version 14.0 support M compiler/llvm/agllvm.pas M compiler/llvm/llvmdef.pas M compiler/llvm/llvminfo.pas --- commit 573b2554f4ed717c9d6f8ebed7e0fcb29021ff86 Author: Jonas Maebe Date: Sat Jun 4 15:46:02 2022 +0200 llvminfo: fix copy/paste error in llvm 14 comment Spotted by @Alexey-T1 M compiler/llvm/llvminfo.pas --- commit e7ec91eca8b4182e97a6cb88f50504285495df6c Author: Jonas Maebe Date: Sat Jun 4 21:49:27 2022 +0200 dbgllvm: rename hastable for staticvarsym declarations M compiler/llvm/dbgllvm.pas --- commit 25e832940cb6fa76e0c365762f66c466a1e6eef3 Author: Jonas Maebe Date: Sat Jun 4 22:14:02 2022 +0200 llvmdbg: support for generating debug information for local/para varsyms Note that not all symbols are covered yet, because absolutevarsyms are not yet supported and those are e.g. used for function result aliases. Additionally, not all types are fully supported yet. M compiler/llvm/aasmllvm.pas M compiler/llvm/dbgllvm.pas M rtl/inc/llvmintr.inc --- commit 51ab0d759f6138a639453a429216f0907ac8dae8 Author: florian Date: Sun Jun 5 20:51:47 2022 +0200 * patch by Rika: improve EncodeUleb128/EncodeSleb128, part of #39750 M compiler/cutils.pas --- commit 60c95032fa92ee43565368feb999d9c66e1d9c64 Author: Jonas Maebe Date: Sun Jun 5 22:12:52 2022 +0200 llvm: removed Xcode 10.0/10.1 as supported versions These already did not work because they predate clang 7 M compiler/llvm/llvminfo.pas --- commit 76e3cfc38f770ac7fc6ef9cc2a1720eea5b4e99c Author: Jonas Maebe Date: Sun Jun 5 22:30:44 2022 +0200 parentfpstruct: don't add vo_is_firstfield to first field of record That flag is only for the first field of variant parts of records M compiler/symcreat.pas --- commit 5d02c65425b2cb33d5c3b6ca07a13c35b4dac90a Author: Jonas Maebe Date: Sun Jun 5 23:00:39 2022 +0200 objcdef: remove duplicate variant start check M compiler/objcdef.pas --- commit b456833b03f54db6bea77cb2f4df20c856eba971 Author: Jonas Maebe Date: Mon Jun 6 10:24:05 2022 +0200 aasmllvmmetadata: remove leftover unused type M compiler/llvm/aasmllvmmetadata.pas --- commit 927e3fd455e895dea7a8af31eeb5bc82c6f7d24f Author: florian Date: Mon Jun 6 22:13:47 2022 +0200 * patch by Rika: improve EncodeUleb128/EncodeSleb128, second part of #39750, resolves #39750 M compiler/cutils.pas --- commit 706443c354b0c9db48f7461a15f48086deb5a187 Author: Jonas Maebe Date: Mon Jun 6 23:12:25 2022 +0200 dbgllvm: support for record field debug information M compiler/llvm/dbgllvm.pas M compiler/symsym.pas --- commit 2307dc8f26b202a6eef263f2e2d7e6d2ec04a641 Author: Pierre Muller Date: Tue Jun 7 12:56:57 2022 +0200 Try to fix real constant problems for llvm compiler M compiler/wasm32/agllvmmc.pas --- commit 4c8249de3429731be1c98dbe8a75ab5d9ec6380f Author: Jonas Maebe Date: Tue Jun 7 21:10:51 2022 +0200 dbgllvm: added appenddef_struct_named Factored out of appenddef_record_named for reuse by objectdefs. Also moved responsibility of adding the struct dinode to the asmlist to the caller, as the name of this method does not imply it will do that. M compiler/llvm/dbgllvm.pas --- commit f9b216f99a3dd7822d9f3f112aa1ebb7c8590f20 Author: Jonas Maebe Date: Tue Jun 7 21:12:01 2022 +0200 dbgllvm: remove tmembercallbackinfo Leftover from dbgdwarf, not used here M compiler/llvm/dbgllvm.pas --- commit addd0e7dcfd08c9bcdc1a9d636d75941cf1c8530 Author: Jonas Maebe Date: Tue Jun 7 21:12:49 2022 +0200 dbgllvm: skip static fields when writing struct fields These are not part of the struct instances M compiler/llvm/dbgllvm.pas --- commit 61f01ded6193cd804b04960e151725e53c8cddc2 Author: Jonas Maebe Date: Tue Jun 7 21:13:57 2022 +0200 dbgllvm: struct_metadef fixes It will be used to hold a reference to the underlying structure of a class, whose type is represented as a pointer to a DW_TAG_class_type for compatibility with the debug information generated by the FPC backend (otherwise we could instead just add a deref expression to all variables of such a type) M compiler/llvm/dbgllvm.pas --- commit f382f2d6edcda2ea561d522194d61a8845b596b9 Author: Jonas Maebe Date: Tue Jun 7 21:16:09 2022 +0200 dbgllvm: support for tobjectdef debug information Classes, objects, interfaces, Objective-C classes, ... M compiler/llvm/dbgllvm.pas --- commit fc94770cdb70e26d869c8a75e2b9bd70f171e692 Author: Jonas Maebe Date: Tue Jun 7 23:08:43 2022 +0200 dbgllvm: emit all symbolic constants as enum values/strings Easier to read in the .ll files, and avoids potential mismatches with their value in LLVM (in case it changes across LLVM versions) M compiler/llvm/dbgllvm.pas --- commit 9e8d779f316db1895795a5fa191e4e50c27ffeb5 Author: Pierre Muller Date: Wed Jun 8 00:00:20 2022 +0200 Fix compilation of arm compiler with LLVM=1 M compiler/llvm/dbgllvm.pas --- commit a730bf2b003c3715c19d4fa0a7c56407e3760f36 Author: Pierre Muller Date: Wed Jun 8 00:07:05 2022 +0200 Fix oversized type size constant M compiler/llvm/dbgllvm.pas --- commit da5865139840a94a35177e27297296244787876d Author: Pierre Muller Date: Wed Jun 8 10:29:58 2022 +0000 Avoid Invalid typecast error when using -CR option by using tabstractrecordsymtable type for record or object symtable M compiler/llvm/dbgllvm.pas --- commit e6b8aa07d7ebdab77f72838fb3a36035c4d75d19 Author: Jonas Maebe Date: Wed Jun 8 12:58:58 2022 +0200 dbgllvm: removed some commented-out declarations M compiler/llvm/dbgllvm.pas --- commit c13517634fb6065309eda729db210ea2af3b1e32 Author: florian Date: Wed Jun 8 22:59:09 2022 +0200 * patch by Rika: Replace some instances of manual work with endianness with cryptic oneliners, resolves #39719 M compiler/ogomf.pas M compiler/omfbase.pas M compiler/owomflib.pas M compiler/symtype.pas M compiler/utils/ppuutils/ppudump.pp --- commit 8bd1f196393e22d49f8bd281da3d4cf3c0926891 Author: florian Date: Thu Jun 9 22:55:11 2022 +0200 * few MIPS64 fixes M compiler/mips/cpubase.pas --- commit 41495627876fe3c013abdd8e9f650be3a3ccea98 Author: florian Date: Fri Jun 10 23:20:26 2022 +0200 * more MIPS64 fixes M compiler/mips/cgcpu.pas --- commit 2ce4f0baf561ba5ace64b9389c9f156f0c618909 Author: Jonas Maebe Date: Sat Jun 11 11:14:26 2022 +0200 defutil: new is_address() helper Returns whether a def represents an address M compiler/defutil.pas --- commit d45076d9d6bb0c73c91b9a615679d3fc277e7cdb Author: Jonas Maebe Date: Sat Jun 11 11:15:34 2022 +0200 nllvmadd: fix not always forcing pointer constants in registers There could have been a typeconversion around the pointerconstn/niln. This was hidden because llvmtype fixed it up later, but with opaque pointers it showed up again. M compiler/llvm/nllvmadd.pas --- commit 9201047f31ec67e94b578ace4ac6537db69fd3c9 Author: florian Date: Sat Jun 11 23:08:58 2022 +0200 * a few more MISP64 fixes M compiler/mips/cgcpu.pas --- commit 71c58c7b3d050d931f624c485f762f5fa1e30e51 Author: Jonas Maebe Date: Sun Jun 12 11:16:24 2022 +0200 agllvm: missing space between type and tai operand M compiler/llvm/agllvm.pas --- commit 25999ad8fff58ed787b8ec2999e5963052b1699f Author: Jonas Maebe Date: Sun Jun 12 11:24:38 2022 +0200 llvm: support for opaque pointers Will be the default starting with LLVM 15, and required with LLVM 16. Tested with LLVM 14 and '-mllvm -opaque-pointers'. See https://releases.llvm.org/14.0.0/docs/OpaquePointers.html for more information. M compiler/llvm/agllvm.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvmdef.pas M compiler/llvm/llvminfo.pas M compiler/llvm/llvmtype.pas M compiler/llvm/nllvmcnv.pas M compiler/llvm/nllvmtcon.pas --- commit 3a34fc7be3402cb52a436935f31c3c4ccb5a2d86 Author: Jonas Maebe Date: Sun Jun 12 21:07:35 2022 +0200 llvm: use formaldef rather than undefineddef for llvm_metadata Better matches the intent, and fixes compilation issues on AArch64 M compiler/llvm/llvmdef.pas M compiler/llvm/llvmpara.pas M compiler/llvm/nllvmcal.pas M compiler/psystem.pas --- commit def37052f159ff189b79860a51f66fb97f3904ab Author: florian Date: Sun Jun 12 23:00:09 2022 +0200 + RiscV32: patch by kupferstecher: compiler support of CH32V30*, part of #39777 M compiler/riscv32/cpuinfo.pas --- commit 03a961709b0a41630ae65f3723df5470bd34d58e Author: Jonas Maebe Date: Mon Jun 13 22:51:14 2022 +0200 arm paramanager: always create at least one paraloc Even for parameters of 0 bytes. Matches behaviour on other targets. M compiler/arm/cpupara.pas --- commit d153c75e84df79e2765ee566a40e2e7b4af1e39d Author: florian Date: Mon Jun 13 23:07:22 2022 +0200 * small MIPS64 fix M compiler/mips/cpupara.pas --- commit 0d8156fee9625e8d85aa67f2667b7bf77e1dbfec Author: Sven/Sarah Barth Date: Tue Jun 14 14:10:53 2022 +0200 * use a TCmdStr as parameter for SetVerbosity as it gets passed a TCmdStr in the option handling, thus may contain a parameter value (especially -vmXXX) larger than 255 characters M compiler/verbose.pas --- commit 5562e3e440991e5d1270ea81925c403e1425da4e Author: Sven/Sarah Barth Date: Tue Jun 14 14:32:47 2022 +0200 + add a AnsiString based overload of GetToken M compiler/cutils.pas --- commit 598da1936e0f95aeadea62ed77cd1eaae45f43dc Author: Sven/Sarah Barth Date: Tue Jun 14 14:33:21 2022 +0200 * change ChangeMessageVerbosity from String to AnsiString as long parameters might be passed to it M compiler/verbose.pas --- commit b68512a96987120e021db04cd15865bc91e4e102 Author: Jonas Maebe Date: Wed Jun 15 21:52:22 2022 +0200 llvmpara: don't crash if a parameter has no paralocs M compiler/llvm/llvmpara.pas --- commit c3f27a2f1c2fe0f1db4594aaa5d111eaf50dc78a Author: Sven/Sarah Barth Date: Wed Jun 15 22:49:22 2022 +0200 * don't load the controller unit if the currently compiled unit *is* the controller unit (which might happen if one compiles the controller unit as part of a program) M compiler/pmodules.pas --- commit 98ec81896e01c501f7215dd2a39f535621b4c4f4 Author: florian Date: Wed Jun 15 23:29:53 2022 +0200 * do not throw messages on potentially uninitialized internal symbols, resolves #39744 M compiler/optdfa.pas M compiler/procdefutil.pas M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp A tests/webtbs/tw39744.pp --- commit eed6effe27a384a2455c76d41811677aa2279ac9 Author: Pierre Muller Date: Thu Jun 16 21:49:46 2022 +0000 Put systems_bsd into systems_weak_linking to fix heaptrc compilation failure for netbsd and dragonfly target OS introduced by commit ae346a87 M compiler/systems.pas --- commit e28b76a64e197166d26620b550ff959e22bd0435 Author: florian Date: Thu Jun 16 23:01:18 2022 +0200 * avr tiny has no adiw/sbiw instructions, resolves #39783 M compiler/avr/cpuinfo.pas --- commit d92bc0e7606b7e1d207e55fca54deebcbba569ff Author: Jonas Maebe Date: Fri Jun 17 21:43:02 2022 +0200 llvmdbg: fixed variant fields They have to be members with a union type, rather than union types themselves. M compiler/llvm/dbgllvm.pas --- commit 7822a90e209cc3f1cf74c0eedd100b2ae0f4b523 Author: ccrause Date: Fri Jun 17 22:56:10 2022 +0200 Increase reference count of jump label, fixes #39784 M compiler/avr/aasmcpu.pas --- commit 94665a40d760b6cdc22b89278c201ace10a0b57f Author: florian Date: Fri Jun 17 23:38:29 2022 +0200 * optimize a-const1-const2 when const1 and const2 are real constants and fast math is on, part of fixing #39782 M compiler/nadd.pas --- commit 1b2d7755aceb4592607340d8703410aab776be54 Author: Jonas Maebe Date: Sat Jun 18 15:11:04 2022 +0200 darwin: also run dsymutil for DWARF 4 M compiler/systems/t_darwin.pas --- commit c42e64db82d1c0c40a4b470d46bc70e3fd4a2477 Author: Jonas Maebe Date: Sat Jun 18 16:15:47 2022 +0200 x86-64: keep tcgpara vardef the same as the para's real def Only override the paraloc's vardef if necessary. This fixes compilation of tests/test/cg/tvectorcall*.pp for LLVM M compiler/x86_64/cpupara.pas --- commit d5a50eee8aeab634b763e2b8e9c80f4936c50fcc Author: Jonas Maebe Date: Sat Jun 18 16:49:19 2022 +0200 x86-64: properly set parameter alignment if not default M compiler/x86_64/cpupara.pas --- commit d2a1f9cb200b2b2b7ee5219c16e4250b037cb043 Author: florian Date: Sat Jun 18 20:13:03 2022 +0200 * get rid of cs_opt_none * $O+ sets cs_opt_level2 instead of cs_opt_none which made no sense M compiler/globtype.pas M compiler/scandir.pas M compiler/switches.pas M compiler/utils/ppuutils/ppudump.pp --- commit 1ac2334b593e9ba9d9b3442fd1c1952e8fb1ec75 Author: florian Date: Sat Jun 18 21:02:01 2022 +0200 * do not use Dwarf-4 yet as it is too little tested and has no benefits M compiler/systems/i_linux.pas --- commit a0b637530cd7b81d5587907e0867075f9d7fd102 Author: florian Date: Sun Jun 19 16:17:56 2022 +0200 * remove accidently commited writeln M compiler/scandir.pas --- commit c26f9329b683ec0beebc131ecae9c120ba32627b Author: Rika Ichinose Date: Mon Jun 20 22:41:57 2022 +0300 Support arrays and classes in compile-time OffsetOf. M compiler/nmem.pas --- commit bc6ab39ea2f13d24b8a53a177901cbf3fc689143 Author: Nikolay Nikolov Date: Tue Jun 21 05:43:35 2022 +0300 * WebAssembly exceptions fix: fixed raise without parameters in except..end blocks in WebAssembly native and branchful exceptions mode. Fixes #39752 M compiler/wasm32/nwasmflw.pas M rtl/inc/compproc.inc M rtl/wasm32/except_branchful.inc M rtl/wasm32/except_native.inc --- commit 14dc066d6ba599bc2ef8a34545920266f956adc8 Author: Nikolay Nikolov Date: Tue Jun 21 23:12:28 2022 +0300 + added check whether PPU and program are compiled in the same WebAssembly exceptions mode (either both are turned on, or both are turned off) M compiler/fppu.pas M compiler/globtype.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 4d6e3b4e1a4a9a0d7eb8933d83c154de1f612a8f Author: Nikolay Nikolov Date: Tue Jun 21 23:59:25 2022 +0300 * Don't call secondpass(left) in twasmtypeconvnode.second_int_to_real, this fixes bug #39735. M compiler/wasm32/nwasmcnv.pas A tests/webtbs/tw39735.pp --- commit b11434a6f8f8f41730b7ec49c21bfa613bb99378 Author: Nikolay Nikolov Date: Wed Jun 22 01:10:02 2022 +0300 + WebAssembly: use the 64-bit div instruction, instead of an RTL helper for 64-bit division M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasmmat.pas --- commit 90e43e055b34073fb92f5fd7f89a6a4ef790bf5b Author: Nikolay Nikolov Date: Wed Jun 22 01:47:07 2022 +0300 * fixed WebAssembly code generation for integer unary minus with overflow checking M compiler/wasm32/nwasmmat.pas --- commit b2350d90ea29de8c1009c8d1babfbfd9a25df899 Author: Nikolay Nikolov Date: Wed Jun 22 02:09:05 2022 +0300 * fixed typo in comment M compiler/wasm32/nwasmmat.pas --- commit 9b16fafc526d9ea57209fa6d48a364ccb72eb1d2 Author: Nikolay Nikolov Date: Wed Jun 22 03:21:21 2022 +0300 + generate exception checks after calls to fpc_overflow class in WebAssembly branchful exceptions mode, because fpc_overflow can raise an exception in case unit SysUtils is included. M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasmmat.pas --- commit b923613eadbb455b35adae8facfb479b7f9f3629 Author: Nikolay Nikolov Date: Wed Jun 22 03:37:36 2022 +0300 + make use of the unsigned remainder instructions in WebAssembly (i32.rem_s, i64.rem_u) M compiler/wasm32/nwasmmat.pas --- commit b2a5334a7594238d83b84144e41cb0e37d8fc1c9 Author: Sven/Sarah Barth Date: Wed Jun 22 09:44:21 2022 +0200 * fix #39795: when extracting make_prettystring it was forgotten to also append the const part of the name to the specialize name M compiler/pgenutil.pas A tests/webtbs/tw39795.pp --- commit 8eb2cea3494b684c5e5591e12b98511636ad1353 Author: florian Date: Thu Jun 23 23:10:48 2022 +0200 * do not throw an internal error if slice is used on dyn. array paramters, resolves #39806 M compiler/ninl.pas A tests/webtbf/tw39806.pp --- commit ef15d3d9ec80213697bb2acbfba3e6ca0f8fd487 Author: J. Gareth "Curious Kit" Moreton Date: Sat Jun 25 01:19:02 2022 +0100 * Fixed infinite loop when CONSTPROP is enabled but USELOADMODIFYSTORE is not. M compiler/optconstprop.pas --- commit 37b5147b19c893de4555b0760cc8df1aa24b0f93 Author: Jeppe Date: Sat Jun 25 14:11:58 2022 +0200 riscv32: Fix potential FP proc_exit bug M compiler/riscv32/cgcpu.pas --- commit 95dfccbb5e35bd5e97013e0336ee6a95ec6b04b4 Author: florian Date: Sat Jun 25 21:39:11 2022 +0200 * do not optimize away +0.0 if no fastmath is passed as -0.0+(+0.0)=+0.0 M compiler/nadd.pas --- commit d7f1e56191970344b538f551391f36907e9fb048 Author: J. Gareth "Curious Kit" Moreton Date: Mon Jun 27 00:56:35 2022 +0100 * x86: MovAndTest2Test optimisation now accepts a smaller sub-regiser on the TEST instruction M compiler/x86/aoptx86.pas --- commit 27a1acdc7d90a8aaa931f2d011fdd6f28695bafb Author: Jonas Maebe Date: Mon Jun 27 21:02:26 2022 +0200 cresstr: fix length specified for resource strings to typed const builder Copy/paste error M compiler/cresstr.pas --- commit ceda27ae256cb00987c9face4adfa80a20477534 Author: florian Date: Tue Jun 28 22:45:17 2022 +0200 * allow type parameters in variant parts of records as we do not now what type is used during specialization, resolves #39805 M compiler/pdecvar.pas M tests/test/tgeneric26.pp A tests/webtbf/tw39805b.pp A tests/webtbs/tw39805a.pp --- commit aff2a424312993642fcaeeb34814a43ac6973dcd Author: J. Gareth "Curious Kit" Moreton Date: Thu Jun 30 12:12:46 2022 +0100 * x86: Shrink TEST instruction on MovAndTest2Test where possible. M compiler/x86/aoptx86.pas --- commit 83ce54b8153d6eb47b392517e3092ae0f501dcee Author: florian Date: Thu Jun 30 22:00:01 2022 +0200 set Tag_ABI_VFP_args to 1 only if the hard float abi is used, should resolve #39817 M compiler/arm/narmutil.pas --- commit fcb5531fbc90cab7e998ce8eab655182d165ac50 Author: florian Date: Fri Jul 1 23:04:50 2022 +0200 * convert a+/-const1-/const2 in into a+/-(-const1)+(-const2) to enable further optimizations, resolves #39782 M compiler/nadd.pas --- commit f5cf8956c5622b240dd8f2013a983afdf5b59014 Author: Jeppe Date: Sat Jul 2 14:08:31 2022 +0200 riscv: Merge stack code, fix interrupted code - Stack pointer is kept below register save area. This ensures that registers are not overwritten by interrupt handlers. - RV32 and 64 code is merged to base class. M compiler/riscv/cgrv.pas M compiler/riscv32/cgcpu.pas M compiler/riscv64/cgcpu.pas --- commit 6a485065ba42601a46eebed8ab85705bceef3f23 Author: Jonas Maebe Date: Sat Jul 2 14:46:14 2022 +0200 __fpc_valgrind symbol: use correct size when inserting definition M compiler/ngenutil.pas --- commit 2ce3656ed3e43445a41168015466e8490bc39653 Author: Jonas Maebe Date: Sat Jul 2 15:33:40 2022 +0200 x86 BuildInsTabMemRefSizeInfoCache: don't read past end of instab M compiler/x86/aasmcpu.pas --- commit a19add9c886b7f64a2371633e16cf8ac2e9447fd Author: Robert Roland Date: Sun Jul 3 19:40:29 2022 -0700 Add cntfrq_el0 and cntpct_el0 AArch64 registers M compiler/aarch64/a64reg.dat M compiler/aarch64/ra64con.inc M compiler/aarch64/ra64dwa.inc M compiler/aarch64/ra64nor.inc M compiler/aarch64/ra64num.inc M compiler/aarch64/ra64rni.inc M compiler/aarch64/ra64sri.inc M compiler/aarch64/ra64sta.inc M compiler/aarch64/ra64std.inc M compiler/aarch64/ra64sup.inc --- commit 6dc47c71fbd26f85458ed5f923e60fa109f76bbd Author: Jonas Maebe Date: Tue Jul 5 22:57:18 2022 +0200 tstringconstnode.changestringtype: fix buffer overrun Found by asan M compiler/ncon.pas --- commit e28238da9b5111fbceaf4bdc81528ef4cdfe26e2 Author: florian Date: Tue Jul 5 23:04:17 2022 +0200 * handle absolute on strings correctly for dwarf debug info, resolves #39816 M compiler/dbgdwarf.pas A tests/webtbs/tw39816.pp --- commit a8352f3e99382c195ea69466e2f63be2ff723a9a Author: Jonas Maebe Date: Wed Jul 6 21:03:07 2022 +0200 ttai_typedconstbuilder: do not remove tcalo_vectorized_dead_strip_item This was done because originally getting the finalized asmlist happend through a single proc that either called the vectorized version or the regular version depending on the presence of tcalo_vectorized_* flags. Nowadays, calling either get_final_asmlist_vectorized_dead_strip or get_final_asmlist happens directly as needed. This flag will be used by the LLVM asmwriter to add appropriate address sanitizer information. M compiler/aasmcnst.pas --- commit 403292a13151dbc265748d2119f9d1bd52fb9d54 Author: Jonas Maebe Date: Wed Jul 6 21:12:00 2022 +0200 LLVM backend: address sanitizer support Activate with -Clfsanitize=address. Only tested on Darwin/x86-64 for now. M compiler/globtype.pas M compiler/llvm/agllvm.pas M compiler/llvm/llvminfo.pas M compiler/llvm/nllvmutil.pas M compiler/msg/errore.msg M compiler/options.pas M compiler/pmodules.pas M compiler/utils/ppuutils/ppudump.pp --- commit 7bad1771390cbc297580a4d5bdea5b5281a9012e Author: Jonas Maebe Date: Wed Jul 6 21:12:37 2022 +0200 msg files: regenerated M compiler/msgidx.inc M compiler/msgtxt.inc --- commit b2ea782eb4cfd6fed9a85619390793815c204dda Author: Jonas Maebe Date: Wed Jul 6 21:12:57 2022 +0200 agllvm: fix writing strings in metadata arrays They were interpreted as part of larger strings M compiler/llvm/agllvm.pas --- commit 1ab6fc9a4bf25638a2e2364f8d4679025fcd3613 Author: Jonas Maebe Date: Wed Jul 6 21:15:07 2022 +0200 llvm: fix reading past end of data for some parameter references Fixes false positives when using address sanitizer M compiler/llvm/hlcgllvm.pas --- commit f6b5c513bb73bc476a71769e094ea8401eab13eb Author: florian Date: Thu Jul 7 23:00:12 2022 +0200 * patch by Rika: makes #39786 work on more setups, resolves #39786 M compiler/i386/cpuinfo.pas M compiler/nadd.pas --- commit 82a8640111169ad62aafce0e0cbeb2fd6864af44 Author: J. Gareth "Curious Kit" Moreton Date: Fri Jul 8 19:18:37 2022 +0100 * a64: New conditional branch to CSET peephole optimisation M compiler/aarch64/aoptcpu.pas --- commit af9c9a826e888fa0927a1969c93bb90dbaeba124 Author: J. Gareth "Curious Kit" Moreton Date: Fri Jul 8 19:24:37 2022 +0100 * a64: Porting of MatchOperand function from x86 that takes integer parameter M compiler/armgen/aoptarm.pas --- commit 7cefe8a822589c09be7d80381a6ef9c4cc32e3aa Author: Robert Roland Date: Sat Jul 9 14:22:17 2022 -0700 Adding AArch64 CurrentEL register CurrentEL is used to determine the current "exception level" in the CPU. It has four possible results: 0b00 - EL0 - Application 0b01 - EL1 - Rich OS 0b10 - EL2 - Hypervisor 0b11 - EL3 - Firmware https://developer.arm.com/documentation/ddi0595/2020-12/AArch64-Registers/CurrentEL--Current-Exception-Level https://developer.arm.com/documentation/102412/0100/Privilege-and-Exception-levels M compiler/aarch64/a64reg.dat M compiler/aarch64/ra64con.inc M compiler/aarch64/ra64dwa.inc M compiler/aarch64/ra64nor.inc M compiler/aarch64/ra64num.inc M compiler/aarch64/ra64rni.inc M compiler/aarch64/ra64sri.inc M compiler/aarch64/ra64sta.inc M compiler/aarch64/ra64std.inc M compiler/aarch64/ra64sup.inc --- commit 94c87243ca2a55d5374a22900b59bfbdda348d8a Author: J. Gareth "Curious Kit" Moreton Date: Sat Jul 9 17:44:20 2022 +0100 * Reference counts are now properly incremented on duplicated taicpu objects M compiler/aasmtai.pas --- commit 4193563190b9a25de40bd6803f58e3529539bb18 Author: Jonas Maebe Date: Sat Jul 9 20:44:10 2022 +0200 LLVM address sanitizer: add asan library and rpath on Darwin Also verified that "make all" works with asan on macOS/AArch64 M compiler/systems/t_darwin.pas --- commit 776c39dc0a8b7563b0f511d19346e280a749e9ee Author: florian Date: Sat Jul 9 22:03:26 2022 +0200 + avr-embedded: keep fpc.* sections, should resolve #39825 M compiler/systems/t_embed.pas --- commit 3385ce92a2ce8a7c6b47b02c689e8b28b8fc8362 Author: Joost van der Sluis Date: Sun Jul 10 12:21:17 2022 +0200 * Always generate CFI-information. During linking it can be omitted when no debug-information is requested. On Linux this needed a change in the linker-script. On Windows it already works as desired. Other targets may need some adjustments as well. M compiler/cfidwarf.pas M compiler/systems/t_linux.pas --- commit be39828fca10b355e2cf9ee514736e87157748a0 Author: J. Gareth "Curious Kit" Moreton Date: Sun Jul 10 16:10:05 2022 +0100 * arm: Symbol reference counts are corrected when PC-relative data is inserted M compiler/arm/aasmcpu.pas --- commit d1f035f456df43bbd068ecda33d2ec08d9190b2b Author: J. Gareth "Curious Kit" Moreton Date: Sun Jul 10 16:24:59 2022 +0100 * arm: Labels to constants are now data labels and not jump labels M compiler/arm/hlcgcpu.pas --- commit fcae0e311db59f8c545d7b2f37f94a343c8ac206 Author: J. Gareth "Curious Kit" Moreton Date: Sun Jul 10 17:47:51 2022 +0100 x86: Direct assignment instructions are no longer checked prior to calling CheckJumpMovTransferOpt, instead relying on the callee to do the heavy lifting (also fixed -Os bug) M compiler/x86/aoptx86.pas --- commit e25594c48e207157dddad49d8dd246fe59537e57 Author: florian Date: Mon Jul 11 22:07:06 2022 +0200 * correctly truncate rtti symbol names of enumeration types, resolves #39829 M compiler/ncgrtti.pas A tests/webtbs/tw39829.pp --- commit 3e94af163bdff38073de96da87ed074c167afdb2 Author: J. Gareth "Curious Kit" Moreton Date: Tue Jul 12 17:28:59 2022 +0100 * x86: Fixed bug in "Mov0LblCmp0Je -> Mov0JmpLblCmp0Je" optimisation where the reference count was increased twice. M compiler/x86/aoptx86.pas --- commit cf5feb0dca15e1898739352de4bc0028b831d0f9 Author: Nikolay Nikolov Date: Tue Jul 12 19:16:23 2022 +0300 + support writing of 32-bit and 64-bit relocations in the REL object writer for Z80. This fixes DWARF debug output and makes it behave consistently with the Z80 external assembler writer. M compiler/ogrel.pas --- commit 8363c48863a1d8ee33fe1cecbd184030f86da0e9 Author: florian Date: Tue Jul 12 22:11:49 2022 +0200 * patch by rika: simplify tscannerfile.readstring, resolves #39835 M compiler/scanner.pas --- commit 9859125c7b927677e77085dd99b4b4b83df65ee1 Author: Nikolay Nikolov Date: Wed Jul 13 22:38:46 2022 +0300 + added the WASM_SYM_TLS symbol flag constant M compiler/wasmbase.pas --- commit eb8325300e523a56d4a11c8f2dcb16f5892a5cf7 Author: Nikolay Nikolov Date: Wed Jul 13 22:41:18 2022 +0300 + added WASM segment flag constants M compiler/wasmbase.pas --- commit 2606cef21fc2d8d3679d33c994d9d5fb04a68def Author: Nikolay Nikolov Date: Wed Jul 13 23:19:48 2022 +0300 + set the TLS flag for threadvar sections when WASM threads are enabled M compiler/ogwasm.pas --- commit fa5575ea549cb3b9f6c70c3d6429db41fa46864b Author: Nikolay Nikolov Date: Wed Jul 13 23:27:30 2022 +0300 + prefix the threadvar sections with '.tbss' when WASM multithreading is enabled M compiler/ogwasm.pas --- commit b821b9d502b1cfea62fcf2fa36f439eac09739a3 Author: Nikolay Nikolov Date: Wed Jul 13 23:50:48 2022 +0300 + WebAssembly multithreading: also declare threadvar sections as TLS and prefix their name with '.tbss' when using the external assembler M compiler/aggas.pas M compiler/wasm32/agllvmmc.pas --- commit 557e82373484ddb4b48373d7e4931d7b234043bd Author: Nikolay Nikolov Date: Thu Jul 14 00:22:12 2022 +0300 + introduced trefaddr.addr_got_tls, to be used for generating WebAssembly threadvar access, when WASM multithreading is turned on M compiler/cgbase.pas M compiler/wasm32/agllvmmc.pas --- commit 4db653998bc84211acce9ca2945d06dbd2feb90a Author: Nikolay Nikolov Date: Thu Jul 14 02:09:12 2022 +0300 + generate proper WebAssembly threadvar access when multithreading is turned on M compiler/ogwasm.pas M compiler/wasm32/cpunode.pas M compiler/wasm32/hlcgcpu.pas A compiler/wasm32/nwasmld.pas --- commit 7475d22154dd441e70e8c256642e33a1e6a42dbc Author: Nikolay Nikolov Date: Thu Jul 14 03:57:06 2022 +0300 + declare the three magic global variables (__tls_size, __tls_align, __tls_base), created by the linker, when WebAssembly multithreading is enabled M compiler/wasm32/cpubase.pas M compiler/wasm32/nwasmutil.pas --- commit b900be6142403533e6c6d7cc2ab78eca1676b797 Author: Nikolay Nikolov Date: Thu Jul 14 04:15:47 2022 +0300 + added WebAssembly intrinsics for reading __tls_size, __tls_align and __tls_base M compiler/wasm32/ccpuinnr.inc M compiler/wasm32/nwasminl.pas M rtl/wasm32/cpuh.inc M rtl/wasm32/cpuinnr.inc --- commit db980a5d18d1de83a9ceccad8ce9e283d58484f9 Author: Nikolay Nikolov Date: Thu Jul 14 20:29:41 2022 +0300 + add the "-m wasm32" parameter to the linker, when linking for the WASI target. No idea if it does anything, but is passed to the linker by the official WASI SDK, so it shouldn't hurt. M compiler/systems/t_wasi.pas --- commit c910ec814cb6bfb0627142dfa44e17ecafc9e49b Author: Nikolay Nikolov Date: Thu Jul 14 20:56:11 2022 +0300 * set the default stack size for the WASI platform to 65536 bytes (this is the default, used by the linker) M compiler/systems/i_wasi.pas --- commit 4e3c170ad4fc325c532c2075dece7459b9682f5e Author: Nikolay Nikolov Date: Thu Jul 14 20:57:11 2022 +0300 + allow changing the stack size for the WASI platform M compiler/systems/t_wasi.pas --- commit 7cef39657f0211ce337b25aae8c0cd7901b03718 Author: Nikolay Nikolov Date: Thu Jul 14 21:07:53 2022 +0300 * stack alignment on the WASI platform is 16 bytes M compiler/systems/i_wasi.pas --- commit 8aee781950f2333140c7bace9bd9c36be86af4d2 Author: Nikolay Nikolov Date: Fri Jul 15 15:51:00 2022 +0300 * set the stack size to 64kb and stack align to 16 bytes for the wasm32-embedded target M compiler/systems/i_embed.pas --- commit 1bbd16d1b7d8c7c48348d63a5bcba07e32ef9982 Author: Nikolay Nikolov Date: Fri Jul 15 15:53:13 2022 +0300 + allow setting the stack size for the wasm32-embedded target M compiler/systems/t_embed.pas --- commit 078aa5d04677fbbfb0818bcd0b004719c742c5e4 Author: Nikolay Nikolov Date: Fri Jul 15 15:53:55 2022 +0300 + pass '-m wasm32' to the linker, when compiling for the wasm32-embedded target M compiler/systems/t_embed.pas --- commit 9dfda963a3df7c62be5ec5c94de0b149de590f2d Author: Nikolay Nikolov Date: Fri Jul 15 15:57:23 2022 +0300 + allow creating a linker map file, when compiling for the wasm32-embedded target M compiler/systems/t_embed.pas --- commit ec9c81e77e0f39f2a5748fadac320f6251959748 Author: Nikolay Nikolov Date: Fri Jul 15 15:59:34 2022 +0300 * use current_module.sharedlibfilename instead of current_module.exefilename, when linking a library for the wasm32-embedded target M compiler/systems/t_embed.pas --- commit ad35fc82af76c5460dce612b2792398bcc9833d6 Author: Nikolay Nikolov Date: Fri Jul 15 16:04:01 2022 +0300 + allow specifying custom extra linker options for the wasm32-embedded target M compiler/systems/t_embed.pas --- commit b6c4592513f8a8295093b82c5293c2570003c33d Author: Nikolay Nikolov Date: Fri Jul 15 16:06:03 2022 +0300 + allow specifying custom extra linker options for the wasm32-wasi target M compiler/systems/t_wasi.pas --- commit 46dcd4da760057b54e5f5694e8f75408c33fbb3d Author: Nikolay Nikolov Date: Fri Jul 15 16:07:16 2022 +0300 - removed debug writeln when calling the linker for the wasm32-embedded target M compiler/systems/t_embed.pas --- commit dba189f4af385e887d479365612d398358d9f732 Author: Nikolay Nikolov Date: Fri Jul 15 16:09:52 2022 +0300 + show a "linking" message before invoking the linker for the wasm32-embedded target M compiler/systems/t_embed.pas --- commit 8d90cd3e64c8e2cd348f5f5d88714ee259f05527 Author: Sven/Sarah Barth Date: Fri Jul 15 16:19:32 2022 +0200 * fix #39826: correctly handle function references that are part of generics/specializations, but are not generics/specializations themselves + added test M compiler/procdefutil.pas A tests/webtbs/tw39826.pp --- commit 4144f8d93a7f63d62ad13092c72a290b3a3f967f Author: Nikolay Nikolov Date: Fri Jul 15 17:06:47 2022 +0300 * apply the same alignment parameters to wasm32-embedded as wasm32-wasi M compiler/systems/i_embed.pas --- commit 5395e52539816eed706dbbd90d3ef5051857bd30 Author: Nikolay Nikolov Date: Fri Jul 15 21:40:18 2022 +0300 - disable the cs_opt_nodecse optimization from the -O2 for the WebAssembly target, because it causes a crash, when compiling the classes unit M compiler/wasm32/cpuinfo.pas --- commit eed1fbe38aad67688da6bf7b142e146ca34a2fbd Author: Nikolay Nikolov Date: Sat Jul 16 00:46:47 2022 +0300 + added custom section descriptions for DWARF debug info for the WebAssembly object writer (not actually emitted, yet) M compiler/wasmbase.pas --- commit a9698b6f6ef11184139ef9e53c3bed8b24c0942b Author: Nikolay Nikolov Date: Sat Jul 16 00:54:11 2022 +0300 + introduced TWasmObjSection.IsDebug M compiler/ogwasm.pas --- commit b82af25e63e562264c0cf2d3ce5077a272129480 Author: Nikolay Nikolov Date: Sat Jul 16 01:40:21 2022 +0300 * fixed crashes with the WebAssembly internal object writer, when debug info is enabled. The debug info itself is not yet written to the file, though. M compiler/ogwasm.pas --- commit 90305b6032926a4e7d19d8cdedb183310d56edb7 Author: Nikolay Nikolov Date: Sat Jul 16 02:13:42 2022 +0300 + write the actual DWARF debug sections in the WebAssembly object writer. The relocations aren't ready, yet, though. M compiler/ogwasm.pas --- commit 6a94d2683bdf2ff9cec4aae2815d079b592c0650 Author: Nikolay Nikolov Date: Sat Jul 16 04:08:44 2022 +0300 + emit WASM DWARF debug info relocations M compiler/ogwasm.pas --- commit bf17a84dd28433d810b4f83dec7bf08a1eb52c87 Author: Nikolay Nikolov Date: Sat Jul 16 04:34:15 2022 +0300 + implemented the R_WASM_FUNCTION_OFFSET_I32 relocation in the WebAssembly object writer M compiler/ogwasm.pas --- commit 972a9df03189ef97cb7de63bbf9af1e56f74cd6e Author: Nikolay Nikolov Date: Sat Jul 16 07:42:53 2022 +0300 + always (even when multithreading is off) create a "target features" section in the WebAssembly object writer, since we still require some (very commonly supported) extensions, even without multithreading M compiler/ogwasm.pas --- commit fcadc801638ae44193e61aafa7ec1a65630159d0 Author: Nikolay Nikolov Date: Sat Jul 16 19:08:06 2022 +0300 * don't write R_WASM_TABLE_INDEX_I32 relocations, always use R_WASM_FUNCTION_OFFSET_I32 in debug sections M compiler/ogwasm.pas --- commit 63c8e458bba2831baaae76913d61ab0ccabc4b94 Author: Nikolay Nikolov Date: Sat Jul 16 19:31:14 2022 +0300 * workaround crash when generating WebAssembly DWARF debug info for threadvars, while multithreading is turned off M compiler/ogwasm.pas --- commit 1148caaece7a1924ca70f4a6db73790bb02c8856 Author: Jonas Maebe Date: Sat Jul 16 21:12:54 2022 +0200 llvm: move asan library linking support to texternallinker This way other platforms besides Darwin can also use it. M compiler/link.pas M compiler/systems/t_darwin.pas --- commit 5604bd951ee6bada9d50bc86d8ec1dbdd84e6948 Author: Nikolay Nikolov Date: Sat Jul 16 21:14:09 2022 +0300 * an attempt to fix WebAssembly debug info section relocations M compiler/ogwasm.pas --- commit a16f35dcb18eedba213c9311a76babef6d529dff Author: florian Date: Sun Jul 17 22:14:13 2022 +0200 + support RV32E Extension M compiler/riscv/agrvgas.pas M compiler/riscv32/cgcpu.pas M compiler/riscv32/cpuinfo.pas M tests/tbf/tb0293.pp --- commit e66378ee59998ae15f8a3b6afae4f657d17d37c3 Author: florian Date: Wed Jul 20 22:16:19 2022 +0200 * RiscV: generate mret only for FreeRTOS and Embedded M compiler/riscv/cgrv.pas --- commit 2da28054d4ebb426bdf6fd3888df387c4cf6d0fc Author: florian Date: Thu Jul 21 23:18:41 2022 +0200 * RiscV: pass the same default directories to the linker as on other architectures M compiler/systems/t_linux.pas --- commit 19ad26afd850fa79b4bd599042a87c88abebdf14 Author: florian Date: Fri Jul 22 22:55:53 2022 +0200 * Riscv32 and Riscv64 on linux: enable safecall support M compiler/fpcdefs.inc M compiler/riscv32/cpuinfo.pas M compiler/riscv64/cpuinfo.pas M compiler/systems/i_linux.pas --- commit 75c16b61266043673223fdfed30c543e353d4b6c Author: Jonas Maebe Date: Sun Jul 24 14:07:41 2022 +0200 llvm: support for getting the llvm rtl (rt) architecture name This is the name used as part of the llvm rt libraries, like asan (address sanitizer) M compiler/arm/tripletcpu.pas M compiler/globtype.pas M compiler/i386/tripletcpu.pas --- commit 7ef33cf4b2857437662c9aaf505d824e3fdca023 Author: Jonas Maebe Date: Sun Jul 24 14:13:59 2022 +0200 llvm: generalised sanitizer linking support Also enabled automatic detection of sanitizer library + setting rpath to Linux M compiler/link.pas M compiler/systems/t_darwin.pas M compiler/systems/t_linux.pas --- commit 425707e936772a859aa4e0208fd671397f0b2808 Author: Jonas Maebe Date: Sun Jul 24 14:46:11 2022 +0200 Fix compilation with -Oodfa M compiler/systems/t_linux.pas --- commit 2ed4071c1e02e8374aa8ca5235df314eed3dc7a8 Author: Jonas Maebe Date: Sun Jul 24 15:00:49 2022 +0200 ARM: fixed compiler compilation after 75c16b612660 M compiler/arm/tripletcpu.pas --- commit 55482bd87644bcc0d813b90b4c67187695d8ff55 Author: Nikolay Nikolov Date: Sun Jul 24 17:50:30 2022 +0300 + allow the 'section' directive for the WebAssembly platforms M compiler/systems.pas --- commit 8d441929a8c725273d101a0cc3138ce59f9c59e8 Author: Nikolay Nikolov Date: Sun Jul 24 19:04:28 2022 +0300 + introduced tcpustaticvarsym.is_wasm_global M compiler/wasm32/symcpu.pas --- commit 90b8b9d121a3d60c65022f3456d896f68a472795 Author: Nikolay Nikolov Date: Mon Jul 25 01:17:28 2022 +0300 * don't reserve bss data for wasm global vars M compiler/wasm32/nwasmutil.pas --- commit 7bd1ac4507647dcc1b07f0ee09acd8676f0960c5 Author: Nikolay Nikolov Date: Mon Jul 25 01:57:13 2022 +0300 * fixed comment M compiler/wasm32/cpubase.pas --- commit 6e1d7b4e57e0317e53947c0f33203c28325c0489 Author: Nikolay Nikolov Date: Mon Jul 25 02:44:51 2022 +0300 + introduced methods for converting WebAssembly global var types from a Pascal type to TWasmBasicType M compiler/wasm32/symcpu.pas --- commit c6af4df9b91312d1feac6863b934ef14794b31a4 Author: Nikolay Nikolov Date: Mon Jul 25 05:35:00 2022 +0300 + declare user-defined wasm globals in the llvm-mc assembly output M compiler/aggas.pas M compiler/wasm32/aasmcpu.pas M compiler/wasm32/nwasmutil.pas --- commit f32ef29253f6f347c568adf4686de4e10893bc6d Author: Nikolay Nikolov Date: Tue Jul 26 02:07:05 2022 +0300 * WebAssembly high level code generator: use the global.get and global.set instructions to access references to symbols of type AT_WASM_GLOBAL M compiler/wasm32/hlcgcpu.pas --- commit 0e9ea11859fca6ff4a40536c22f8c25483344252 Author: J. Gareth "Curious Kit" Moreton Date: Tue Jul 26 15:44:27 2022 +0100 * x86: Bug fix where a tai type was assumed and could sometimes trigger an invalid typecast under -CriotR M compiler/x86/aoptx86.pas --- commit 5012e45d0482034268a530ef31a3e33c2360e1d2 Author: Jonas Maebe Date: Tue Jul 26 21:50:03 2022 +0200 variable trashing: don't trash internal syms Since they're managed by the code generator, they should always be valid. M compiler/ngenutil.pas --- commit 3d6c53ee74d148bba2a3da49d76792037b78eae7 Author: Jonas Maebe Date: Tue Jul 26 21:50:44 2022 +0200 parentfpstruct: explicitly trash before initialising It's an internal sym, but it contains user data. Together with the previous commit resolves #39845 M compiler/ngenutil.pas M compiler/psub.pas A tests/webtbs/tw39845.pp --- commit de650dea55203e30699f786b59cc811498c9671d Author: J. Gareth "Curious Kit" Moreton Date: Wed Jul 27 16:26:07 2022 +0100 * x86: Fixed minor logic bug in aoc_ForceNewIteration check where UpdateUsedRegs was called at the wrong time. M compiler/i386/aoptcpu.pas M compiler/x86_64/aoptcpu.pas --- commit 6c065e69fd17b5fb5fd7384f4ca97317cafb11dd Author: J. Gareth "Curious Kit" Moreton Date: Thu Jul 28 00:46:25 2022 +0100 * x86: Corrected some incorrect uses of RemoveCurrentP in OptPass1_V_MOVAP. M compiler/x86/aoptx86.pas --- commit d2c2ddb337c3bea49c1fb5b6ad7408fa128b2d53 Author: florian Date: Thu Jul 28 22:42:42 2022 +0200 + VPXorVMov2Mov optimization M compiler/x86/aoptx86.pas --- commit 815b17a43b059c1aba2023ce866200f6cf887f2d Author: Jonas Maebe Date: Thu Jul 28 22:46:11 2022 +0200 llvm: correctly write aliases when using opaque pointers M compiler/llvm/agllvm.pas --- commit 3a07aadba2db6140876ab58ab55ec7b0a6cc6d93 Author: Jonas Maebe Date: Thu Jul 28 22:46:41 2022 +0200 llvm: llvm/clang 15.0 support M compiler/llvm/llvminfo.pas --- commit c122e16bebcaa76a8e1740d7404c1eaf56082a9f Author: Sven/Sarah Barth Date: Fri Jul 29 17:34:55 2022 +0200 * fix #39849: it's an error when the file (or string) parameter of a Read*/Write* is followed by a ":" + added test M compiler/ninl.pas A tests/webtbf/tw39849.pp --- commit 6c47f8f4d79d3cd571e5d6526dec0791d2b2c8f8 Author: florian Date: Fri Jul 29 21:46:07 2022 +0200 * do not warn on anonymous functions without captured variables about being not used, resolves #39853 M compiler/pdecsub.pas A tests/webtbs/tw39853.pp --- commit b1e65ca49fca83bd215b4c8e8427560bf9083cdf Author: J. Gareth "Curious Kit" Moreton Date: Sat Jul 30 18:16:12 2022 +0100 * x86: Fixed bug where redirected jump has its condition changed (fixes i39851) M compiler/x86/aoptx86.pas --- commit f5d76c55932f8e5ca2c267fb9b0a1a6abc3936ce Author: J. Gareth "Curious Kit" Moreton Date: Sat Jul 30 18:18:10 2022 +0100 * x86: Reference count fix in CMP/Jcc and TEST/Jcc redirect optimisations M compiler/x86/aoptx86.pas --- commit 77e350b6b8dc61de3cba519b0f4f79b25eea9f49 Author: florian Date: Sat Jul 30 22:09:17 2022 +0200 + VPXor2VPXor optimization M compiler/x86/aoptx86.pas --- commit f19b390c685209851873339a9c9f9756b0bf81c1 Author: J. Gareth "Curious Kit" Moreton Date: Sun Jul 31 06:16:32 2022 +0100 * x86: Correct fileinfo and some refactoring for imul2leashl optimisation M compiler/x86/aoptx86.pas --- commit 0c62ac9f1624faffca6d6505b6564e8b9969d3c0 Author: J. Gareth "Curious Kit" Moreton Date: Sun Jul 31 06:25:21 2022 +0100 * x86: Correct fileinfo and some refactoring for OptPass1LEA M compiler/x86/aoptx86.pas --- commit e9b394a5507b35cff1ea969ef7991ee0fe2c6d45 Author: J. Gareth "Curious Kit" Moreton Date: Sun Jul 31 06:59:24 2022 +0100 * x86: Correct fileinfo and some refactoring for OptPass1SHLSAL M compiler/x86/aoptx86.pas --- commit 6eede0f71f0fa802f18aeb6217d3f82b9d5834a1 Author: J. Gareth "Curious Kit" Moreton Date: Sun Jul 31 07:05:33 2022 +0100 * x86: Correct fileinfo and some refactoring for OptPass1CMP M compiler/x86/aoptx86.pas --- commit f7dcb68c5a0173048e3a1fb2cdd1a2c5c0f3b761 Author: J. Gareth "Curious Kit" Moreton Date: Sun Jul 31 07:06:21 2022 +0100 * x86: Correct fileinfo for OptPass2MOV M compiler/x86/aoptx86.pas --- commit 89605f47c23776c423698a5b4bc2493060e3c13c Author: J. Gareth "Curious Kit" Moreton Date: Sun Jul 31 07:07:50 2022 +0100 * x86: Correct fileinfo for PostPeepholeOptCall M compiler/x86/aoptx86.pas --- commit 65b442567218f772939978849f85c497f96c4dc7 Author: Nikolay Nikolov Date: Sun Jul 31 19:28:09 2022 +0300 + support declaring wasm globals in the WebAssembly internal object writer M compiler/ogwasm.pas --- commit 99074a557895249d03538e5df9861fcd6ae9a6f0 Author: Nikolay Nikolov Date: Sun Jul 31 21:09:09 2022 +0300 * .lpi version update M compiler/ppcwasm32.lpi --- commit 899981f318cdafa2e2e4764f0bc5a26889091ebb Author: florian Date: Sun Jul 31 22:10:00 2022 +0200 + forgotten comments for new optimizations M compiler/x86/aoptx86.pas --- commit dd5c2ea6e92ec1af35393ffc8ab83cf81fb80eba Author: kamischi Date: Sun Jul 31 23:46:41 2022 +0200 Update errord*.msg new messages and other changes in errore.msg have been translated or ported to the German message files. M compiler/msg/errord.msg M compiler/msg/errordu.msg --- commit d13a8671274398f7bc01e2a9dfbc9fd4b2bee4b6 Author: kamischi Date: Sun Jul 31 23:54:25 2022 +0200 Update reference M compiler/msg/errord.msg M compiler/msg/errordu.msg --- commit 59811090e1269d403f67bbf74d6288d4103eebc9 Author: florian Date: Mon Aug 1 22:58:57 2022 +0200 * captured variables cannot be in registers typically M compiler/procdefutil.pas --- commit 2a196899bcac210138cc267bb47475075aa07cb0 Author: Nikolay Nikolov Date: Wed Aug 3 20:30:09 2022 +0300 * wasm32 obj writer: writing the debug section symbols to the symbol table moved before the writing of the debug sections themselves M compiler/ogwasm.pas --- commit b5a71086e840fd6080d2d376ed43d31918ed1d0a Author: Nikolay Nikolov Date: Wed Aug 3 20:44:11 2022 +0300 * wasm32 obj writer: moved the writing of the data sections ahead M compiler/ogwasm.pas --- commit edf5fce7e33aa26cebca17878b42971c8da91475 Author: Nikolay Nikolov Date: Wed Aug 3 20:51:58 2022 +0300 * wasm32 obj writer: determine the section number for the datacount, code, data and debug sections ahead of time (before writing the sections) M compiler/ogwasm.pas --- commit e9594227538ce6dc537f25cf7082b5853034282b Author: Nikolay Nikolov Date: Wed Aug 3 20:56:44 2022 +0300 * wasm32 obj writer: do the relocations before writing the code, data and debug sections M compiler/ogwasm.pas --- commit cc260eb7b2549e88bb6c2aa0480197ee5eaf5016 Author: Nikolay Nikolov Date: Wed Aug 3 22:02:19 2022 +0300 * wasm32 obj writer: use Data.ObjSectionList.Find to find the debug section by name in MaybeWriteDebugSection M compiler/ogwasm.pas --- commit ceab50cafbfe9b4b8cce092994fd1bf888e9c476 Author: florian Date: Wed Aug 3 22:42:25 2022 +0200 * use simpler FMOV instead of UMOV M compiler/aarch64/cgcpu.pas --- commit efd92fba01224190b6b225f487ef3735aa9c58a0 Author: Nikolay Nikolov Date: Wed Aug 3 23:04:53 2022 +0300 + introduced TWasmCustomDebugSectionType M compiler/ogwasm.pas M compiler/wasmbase.pas --- commit dd13b4608886c540135bf83d2992107bc03fdeb0 Author: Nikolay Nikolov Date: Wed Aug 3 23:11:44 2022 +0300 * use WasmCustomSectionName to obtain the debug section names in MaybeWriteDebugSection and MaybeAddDebugSectionToSymbolTable M compiler/ogwasm.pas --- commit a401898139b7e50d9b6e872de949b56e4fe0e24d Author: florian Date: Thu Aug 4 23:00:44 2022 +0200 * spelling fixes M compiler/dbgstabs.pas M compiler/jvm/njvmcal.pas M compiler/ncgld.pas M compiler/pdecobj.pas M compiler/pdecsub.pas M compiler/pexpr.pas M compiler/x86_64/hlcgcpu.pas --- commit 5afd809e88788ea53097471a7ee783826475d15a Author: florian Date: Mon Aug 8 23:14:19 2022 +0200 + handle LOC_FLAGS in thlcgobj.location_force_mem, resolves #39292 M compiler/hlcgobj.pas A tests/webtbs/tw39292.pp --- commit 35958a9b6b927d8ce9b1d0002ba942e14c6b8422 Author: Sven/Sarah Barth Date: Fri Aug 12 14:45:12 2022 +0200 * fix #39860: even if the block type is not correct for the specialization of a generic routine continue to specialize it to not trigger e.g. an internal error + added tests M compiler/pexpr.pas A tests/webtbf/tw39860a.pp A tests/webtbf/tw39860b.pp --- commit abb7aebaba5721512c3d16857c78781c60259e66 Author: Sven/Sarah Barth Date: Fri Aug 12 14:47:13 2022 +0200 * fix typo in comment M compiler/pexpr.pas --- commit 33ef88858ddb65eedff41e3a1108cd6baf563917 Author: Sven/Sarah Barth Date: Fri Aug 12 17:01:22 2022 +0200 * extract generating the specialization from a specialize node into a separate function M compiler/pexpr.pas --- commit 6407b5f4db68d24454b0fbaaad864727b5c61352 Author: Sven/Sarah Barth Date: Fri Aug 12 17:19:32 2022 +0200 * try to specialize a specialize node if it's followed by a < in a non-code section so that we might get better error messages M compiler/pexpr.pas --- commit 260368ea557daad41a5395c9d08bf1f2eadfa2fe Author: Sven/Sarah Barth Date: Fri Aug 12 17:43:15 2022 +0200 * the clause for converting the captured symbols of a nested function must not be entered by an anonymous function M compiler/procdefutil.pas --- commit 5e7330448dfdf3974ebf638dc8837c87bf0c2e5f Author: Sven/Sarah Barth Date: Fri Aug 12 17:43:57 2022 +0200 * fix #39858: correctly keep track of symbols that need to be captured into the capturer + added test M compiler/procdefutil.pas A tests/webtbs/tw39858.pp --- commit bb4d3fda25e858b0f9153a0861fd8336c6007ef2 Author: J. Gareth "Curious Kit" Moreton Date: Sun Aug 14 04:11:37 2022 +0100 * Fixed internal error number clash (2021102610) M compiler/x86/aoptx86.pas --- commit a135940cf5184c7af0b2ca1a7c72f58a45dc4f3c Author: ccrause Date: Sun Aug 14 19:49:26 2022 +0200 Mark .noinit section with nobits flag. M compiler/aasmtai.pas --- commit 6757bf3832ddfe5cc0fd488e98b20d5245fbe8bd Author: J. Gareth "Curious Kit" Moreton Date: Mon Aug 15 06:56:00 2022 +0100 * x86: New SHR-based optimisations M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 85230758e453f88ee2b89665f774994db443d968 Author: florian Date: Mon Aug 15 23:16:55 2022 +0200 * improved FstpFld2 optimization M compiler/x86/aoptx86.pas --- commit b8723226787a98cd1bb7a1020dc0e73029991df3 Author: J. Gareth "Curious Kit" Moreton Date: Tue Aug 16 03:40:29 2022 +0100 * x86: New "shr %cl; shr x" swap optimisation M compiler/x86/aoptx86.pas --- commit 44dca29926bd8364d5b013cbc6820fde67cf3e75 Author: florian Date: Tue Aug 16 20:26:01 2022 +0200 + some debug messages added * cosmetics M compiler/x86/aoptx86.pas --- commit 55629aeb19b0e7cf968d33c9fc0f465baba8f82d Author: Ondrej Pokorny Date: Tue Aug 16 20:47:44 2022 +0200 do not publish enums with jumps M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pdecvar.pas M compiler/symdef.pas M compiler/symtype.pas A tests/webtbf/tw39866.pp A tests/webtbs/tw39866.pp --- commit 761f65cef8dbb17867efcb380db2b28d1454e701 Author: Ondrej Pokorny Date: Tue Aug 16 22:41:25 2022 +0200 do not publish enums with jumps - keep error on static properties M compiler/pdecvar.pas --- commit 32f4931fd24c18db383d9ce156dec1a65c83d98a Author: J. Gareth "Curious Kit" Moreton Date: Thu Aug 18 07:30:58 2022 +0100 * x86: Fixed bug where the magic number of an integer division wasn't fully sign-extended, causing incorrect logic within the compiler. M compiler/cgutils.pas --- commit 131c1e1b938c14cd5a3892d92d20f2950b13cc3a Author: J. Gareth "Curious Kit" Moreton Date: Thu Aug 18 07:31:37 2022 +0100 * Converted assertion into an internal error M compiler/cgutils.pas --- commit e7218d09fbf59d858cc952569537d739e93401f5 Author: J. Gareth "Curious Kit" Moreton Date: Thu Aug 18 12:23:55 2022 +0100 * x86: New MovShr/Sar2Movx optimisation M compiler/x86/aoptx86.pas --- commit a2d7503f714ee8ff856efd8d17548fbab928f0ec Author: florian Date: Thu Aug 18 21:22:16 2022 +0200 * patch by Rika: This speeds up DefaultReplacements by a lot (order of magnitude or so), resolves #39722 M compiler/globals.pas --- commit 3f24bd38864d884b37aa4c8da025c51a437452cd Author: J. Gareth "Curious Kit" Moreton Date: Fri Aug 19 11:52:02 2022 +0100 * x86: Improved unsigned integer division for when BMI2 is available. M compiler/x86/nx86mat.pas --- commit 84de6a00491c1f20c7fc988d01197f8ae012af62 Author: Karoly Balogh Date: Fri Aug 19 11:59:50 2022 +0200 Revert " * patch by Rika: This speeds up DefaultReplacements by a lot (order of magnitude or so), resolves #39722" This reverts commit a2d7503f714ee8ff856efd8d17548fbab928f0ec. Reason: breaks replacements in config file parsing. M compiler/globals.pas --- commit d6e8375e64516fd5e2310c8baf4efdd4420c6e36 Author: florian Date: Fri Aug 19 22:28:08 2022 +0200 * apply default replacements also to defines set by -d: - -d with $ is not possible so this should not break any existing compiler call - this fixes also the strange error message "Error: malformed parameter: -dlinux" when e.g. -d$FPCOS is passed as the default replacements are applied to the error message M compiler/options.pas --- commit 079905654dbb98e0838a18e3d25a86b03889c012 Author: J. Gareth "Curious Kit" Moreton Date: Sat Aug 20 12:51:26 2022 +0100 * x86: 64-bit integer division reciprocal algorithm uses IMUL with an immediate for the modulus version where possible M compiler/x86/nx86mat.pas --- commit 85c7368759f5fb53aa23e03c8cc27c2deb424b62 Author: florian Date: Wed Aug 24 21:15:18 2022 +0200 * handle also simulated flags in tmipselnotnode.second_boolean, resolves #39877 M compiler/mips/ncpumat.pas A tests/webtbs/tw39877.pp --- commit 7d23c2e9d0f569d3560f774da097ebb443c8c737 Author: Karoly Balogh Date: Fri Aug 26 01:19:12 2022 +0200 m68k: use CPU capabilities at places instead of hardwiring cpu_coldfire M compiler/m68k/cgcpu.pas --- commit 6c67798272308aee107d13be45ca61f0a7e5c12a Author: Karoly Balogh Date: Fri Aug 26 12:41:25 2022 +0200 m68k: disable an A_MOVE in the spilling code in an effort to finally try to unbreak paszlib M compiler/m68k/rgcpu.pas --- commit 832b566097608a1864baf649e03638603d610ce8 Author: Karoly Balogh Date: Fri Aug 26 12:42:21 2022 +0200 m68k: add a CPU capability to signal the CPU has no 48 bit encodiing limits M compiler/m68k/cpuinfo.pas --- commit 8595c927a87f661700dce8391bfab95cddd730ba Author: Sven/Sarah Barth Date: Fri Aug 26 17:16:29 2022 +0200 * fix #39876: correctly Read(Str) enum types which have a size smaller than 4 Byte + added tests M compiler/ninl.pas M rtl/inc/compproc.inc M rtl/inc/text.inc A tests/webtbs/tw39876a.pp A tests/webtbs/tw39876b.pp --- commit 5135b586cb692ca40e08114cc25cab5f709fda76 Author: Sven/Sarah Barth Date: Fri Aug 26 17:42:22 2022 +0200 * fix #39857: don't trash symbols marked as vo_is_internal + added test M compiler/ngenutil.pas A tests/webtbs/tw39857.pp --- commit e5957b1ef0a3bcb7d6d04a24525f0a8634e26ed6 Author: Sven/Sarah Barth Date: Fri Aug 26 18:05:13 2022 +0200 * fix #39875: when a WideString constant is used to initialize a PChar the constant needs to be converted to the current code page + added test M compiler/ngtcon.pas A tests/webtbs/tw39875.pp --- commit f2a5bf17fc9192bcb7ba4c53800e6cbd726c382d Author: florian Date: Fri Aug 26 21:53:39 2022 +0200 * improves node complexity calculations M compiler/nutils.pas --- commit 3695bb5da509d5ce98ff59c2b0a76da714b61578 Author: Karoly Balogh Date: Sat Aug 27 19:19:42 2022 +0200 powerpc-morphos: enable 'section' keyword support, and force the startup code to be in the .text section, to fix linking external objects with unnamed sections on this platform M compiler/systems.pas M rtl/morphos/si_prc.pp --- commit f9a4631adfa3ac07fb46811aaa847691e6de6be1 Author: florian Date: Sat Aug 27 21:21:45 2022 +0200 * don't switch a+/-/sqr(b) into an fma statement if b is too complex M compiler/nadd.pas --- commit 645fe8a0c309f3c33297509b977ba76954edc05e Author: J. Gareth "Curious Kit" Moreton Date: Sun Aug 28 14:18:36 2022 +0100 * x86: EDX is now deallocated before MULX instructions in the "magic div" algorithm so it can be used as the destination M compiler/x86/nx86mat.pas --- commit a93942cd272eb048590c7e0ad3a373067853c4da Author: Sven/Sarah Barth Date: Sun Aug 28 21:39:10 2022 +0200 * correctly convert a single WideChar to a PChar constant with the correct code page + added test M compiler/ngtcon.pas A tests/tbs/tb0696.pp --- commit 5a60eac0c816b8d4c107d5d0f751ce487f70df61 Author: florian Date: Mon Aug 29 21:36:03 2022 +0200 + MovzMovz2Movz optimization M compiler/aarch64/aoptcpu.pas --- commit 92e5ede3478073799ed5df091349fb4b90635e92 Author: Karoly Balogh Date: Tue Aug 30 10:42:26 2022 +0200 m68k: fixed the capabilities flags inverted logic issues committed in 7d23c2e9 M compiler/m68k/cgcpu.pas --- commit 8a0498622b029a9c1150347f45a2fa310099a2d0 Author: florian Date: Wed Aug 31 20:33:59 2022 +0200 + AArchz64: TCpuAsmOptimizer.OptPass1SXTW M compiler/aarch64/aoptcpu.pas --- commit 018c1e5dfdcf49b3e7d5e3035ddb089b3cfc2897 Author: florian Date: Wed Aug 31 20:36:46 2022 +0200 * cosmetics M compiler/armgen/aoptarm.pas --- commit fd94b6db913cf9c38ee03a179ecc180ef52db711 Author: florian Date: Wed Aug 31 20:43:49 2022 +0200 * fix for TCpuAsmOptimizer.OptPass1SXTW M compiler/aarch64/aoptcpu.pas --- commit 29495c9ba57dce83d6753ed19e301855ea37f035 Author: florian Date: Thu Sep 1 21:07:32 2022 +0200 * refactor TCpuAsmOptimizer.OptPass1SXTW M compiler/aarch64/aoptcpu.pas --- commit 9adcc891cf8bff2098fd9360ae1b4d5d508213c1 Author: florian Date: Thu Sep 1 21:35:28 2022 +0200 + Aarch64: SxtwOp2Op optimization M compiler/aarch64/aoptcpu.pas --- commit ad1c19864d20b4fb311f8e74ace511a58c40cdc8 Author: florian Date: Thu Sep 1 21:44:01 2022 +0200 * small refactoring M compiler/aarch64/aoptcpu.pas --- commit 9061fba9ff2599442b5fd214efaa2789c34a261b Author: florian Date: Thu Sep 1 22:01:03 2022 +0200 * refactoring * cosmetics M compiler/armgen/aoptarm.pas --- commit cebb47fe9aa7298b8ff50bc2963266f78ce4830e Author: florian Date: Fri Sep 2 21:26:20 2022 +0200 * factor out GetNextInstructionUsingReg calls in TARMAsmOptimizer.OptPass1*XT* M compiler/armgen/aoptarm.pas --- commit c1db756617aaa5ed0477ce48292b44e1bb997179 Author: florian Date: Fri Sep 2 22:01:46 2022 +0200 + ARM/Aarch64: *xt*Op2Op optimizations M compiler/armgen/aoptarm.pas --- commit 4846bd78fb0e7f1199ed3d5f52b5099bb183ccc8 Author: florian Date: Fri Sep 2 22:18:39 2022 +0200 * building of arm compiler fixed M compiler/armgen/aoptarm.pas --- commit ed7b0c5e68bd870faadb6fdb8b24969cb434b78b Author: florian Date: Sat Sep 3 19:03:48 2022 +0200 * AArch64: extended SxtwMov2Data to CMP and CMN M compiler/aarch64/aoptcpu.pas --- commit 5cbb36f218ebb40c708c29b342ecbf43e7ffc6ba Author: florian Date: Sat Sep 3 19:12:00 2022 +0200 * factor out TARMAsmOptimizer.USxtOp2Op M compiler/aarch64/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit 4b1978026a3c63f1de96e8e310b4535e2b2d4197 Author: florian Date: Sun Sep 4 20:37:43 2022 +0200 * more use of USxtOp2Op M compiler/armgen/aoptarm.pas --- commit f097d1ea353382bdab42490a2cc91d239de82e24 Author: florian Date: Mon Sep 5 23:22:53 2022 +0200 * use the bts instruction on x86 if possible, the reg,reg variant is better than a mov/shl/or sequence M compiler/x86/nx86add.pas --- commit 3a11ee9a14ae2e43449db6acdfd9e1312cde68a5 Author: florian Date: Tue Sep 6 21:42:10 2022 +0200 * apply OptPass1Data to neg as well M compiler/aarch64/aoptcpu.pas --- commit 83969d3ba38ec2321439c98a7da615ee66b0e228 Author: J. Gareth "Curious Kit" Moreton Date: Wed Sep 7 17:03:19 2022 +0100 * x86: Added BEXTR and BZHI to special spilling rules since they follow the same format as SHRX etc. M compiler/x86/rgx86.pas --- commit 6cbb3d982d3f547ad09a73aaf5939c6092ae3aab Author: J. Gareth "Curious Kit" Moreton Date: Wed Sep 7 17:07:05 2022 +0100 * x86: Added SARX to BMI2 code generator M compiler/x86/cgx86.pas --- commit 63a2395e2c552f5b983406f20b88dd364458bf09 Author: J. Gareth "Curious Kit" Moreton Date: Wed Sep 7 17:37:49 2022 +0100 * x86: Made a check for BMI2 more explicit in the integer division code generator M compiler/x86/nx86mat.pas --- commit cb96acefc93200a2e035edb877edd8cd5721c5d9 Author: Jonas Maebe Date: Thu Sep 8 11:01:00 2022 +0200 vector support: check supported type during parsing already Avoids internalerrors at the code generation stage when using an unsupported type M compiler/nadd.pas --- commit a6c7ed5e61f961a022897dde1d47140998466a23 Author: Jonas Maebe Date: Thu Sep 8 11:03:14 2022 +0200 vector support: use vector result types Set the result of a vector add node to a vector type. Ensure that that these vector types are still asignment-compatible with regular array types (may want to change this when we expose vector types), and don't remove type conversions from vector types to array types (so the code generator pass can still rely on the resultdef being a vector type) M compiler/defcmp.pas M compiler/defutil.pas M compiler/nadd.pas M compiler/ncnv.pas --- commit f51798e449aa229723742425342b84f41025791e Author: Jonas Maebe Date: Thu Sep 8 11:09:20 2022 +0200 High level codegen: set MM register type for vectors M compiler/hlcgobj.pas --- commit 657b9a62033085763aef3004e928f56abb9bbc7b Author: Jonas Maebe Date: Thu Sep 8 11:09:57 2022 +0200 LLVM: support for -Sv (manual vector usage) Override register type for vectors to "integer registers" because we don't use mmregister on LLVM (they're all virtual, so it doesn't matter) M compiler/llvm/hlcgllvm.pas M compiler/llvm/nllvmadd.pas --- commit b26703feaa97b31004bf833428a0a7cf8315e1fb Author: Jonas Maebe Date: Fri Sep 9 15:00:43 2022 +0200 Darwin version comparisons: factored out into object Use numeric instead of string comparisons M compiler/cutils.pas M compiler/globals.pas M compiler/llvm/nllvmutil.pas M compiler/options.pas M compiler/systems/t_darwin.pas M compiler/triplet.pas --- commit df3a0af7e0574f160e3934175b9ae4252269a1d0 Author: Jonas Maebe Date: Fri Sep 9 18:45:37 2022 +0200 objc: use compile-time macOS version checks Use "modern" APIs for calling inherited messages when targeting Mac OS X 10.6 or later M compiler/ncal.pas M compiler/objcutil.pas --- commit 136022a7b2f24e0005aa966f84042815d6d50187 Author: Jonas Maebe Date: Fri Sep 9 21:06:08 2022 +0200 objc: stop generating coalesced sections When targeting >= Mac OS X 10.6, don't generate coalesced sections anymore because they are deprecated. Resolves #39818 M compiler/objcgutl.pas --- commit e746cf96daffc2365178a934dcd1eb28ac955f4c Author: Jonas Maebe Date: Sat Sep 10 10:49:54 2022 +0200 Overload selection: call procvars if result is compatible with parameter Previously we only autmatically called procvars without parameters in TP/Delphi modes if their result type was equal to the parameter type to which they were passed. Resolves #39748. M compiler/htypechk.pas A tests/webtbs/tw39748.pp A tests/webtbs/tw39748a.pp --- commit b0e1867b4c2658568d72cb1d023a5a010d483825 Author: Jonas Maebe Date: Sun Sep 11 21:24:00 2022 +0200 symcreat: support for scanner/parser escape sequences Support escape sequences when parsing internally generated code. Used for now to force interpreting certain identifiers as unit/namespace identifiers. M compiler/finput.pas M compiler/scanner.pas M compiler/symcreat.pas M compiler/symtable.pas --- commit e024fdc5d7a5ff55e3ff96ed11ebd921fd582d78 Author: florian Date: Sun Sep 11 22:42:58 2022 +0200 * cleanup M compiler/nutils.pas --- commit 9848349610219cd0d2dadc67b112fb09a8317e91 Author: florian Date: Mon Sep 12 23:07:11 2022 +0200 * allocate registers correctly for method pointers on 16 bit address cpus, resolves #39603 M compiler/ncgld.pas --- commit cc7d67d08cca783f2d0f439b24285a526e9185f5 Author: florian Date: Tue Sep 13 22:30:52 2022 +0200 * i8086 compiler fixed after 9848349610219cd0d2dadc67b112fb09a8317e91 M compiler/ncgld.pas --- commit f562a8d9fdaccdfd630db4792ec4e0ba3a8d6e58 Author: florian Date: Wed Sep 14 22:34:20 2022 +0200 * hopefully final fix after 9848349610219cd0d2dadc67b112fb09a8317e91 M compiler/ncgld.pas --- commit 62a57bf82ef45c28142baa6f07d3b9b8873b7d57 Author: Sven/Sarah Barth Date: Thu Sep 15 22:57:05 2022 +0200 * fix #39903: correctly parse anonymous function references in records (and classes/objects) + added test M compiler/pdecvar.pas A tests/webtbs/tw39903.pp --- commit c43f671baa06671d2aa86653f3925b9dc8f74c4d Author: Sven/Sarah Barth Date: Fri Sep 16 14:31:57 2022 +0200 * check whether the hdef is still a procvardef before accessing it as such M compiler/pdecvar.pas --- commit d1d0afe337c11f386fc189630265b6142f5f734a Author: Sven/Sarah Barth Date: Fri Sep 16 14:32:25 2022 +0200 * handle_calling_convention is only needed for a function reference used in a record/class/object when it's an anonymous one M compiler/pdecvar.pas --- commit 13fb30c52ef398c3c8a82c262ea64bb83567fe55 Author: Sven/Sarah Barth Date: Fri Sep 16 15:12:48 2022 +0200 * fix #39902: correctly handle assignment of procvars to properties with a field write accessor + added adjusted/extended test M compiler/pexpr.pas A tests/webtbs/tw39902a.pp --- commit e21186cac0739d0a8290759c551a3feceb1b4360 Author: Sven/Sarah Barth Date: Fri Sep 16 15:14:22 2022 +0200 * fix #39902: in case of mode ObjFPC function pointers passed to parameters need to be checked for the correct procdef as well + added adjusted/extended test M compiler/htypechk.pas A tests/webtbs/tw39902b.pp --- commit 68253e2a738a32d47259137de23d67c5adc1d228 Author: Jonas Maebe Date: Fri Sep 16 15:21:25 2022 +0200 Missing file from b26703feaa9 A compiler/versioncmp.pas --- commit 168016b865d3d1ea7de06f0be713ca4ce18b717c Author: florian Date: Sat Sep 17 22:46:57 2022 +0200 * patch by Rika: Use linear file list in FInput.TInputFileManager instead of linked, resolves #39880 M compiler/browcol.pas M compiler/finput.pas M compiler/fppu.pas A tests/webtbs/iw39880.inc A tests/webtbs/tw39880.pp A tests/webtbs/uw39880.pp --- commit 7b09eee02a70122b34747137458412f1a29ae541 Author: Sven/Sarah Barth Date: Sun Sep 18 11:57:08 2022 +0200 * mark units compiled with cs_compilesystem with a corresponding flag M compiler/fppu.pas M compiler/globtype.pas --- commit c8fee693450dd3cd085a662952b4239483e2e1d2 Author: Sven/Sarah Barth Date: Sun Sep 18 12:03:48 2022 +0200 * fix #39907: only load system class types from units that are marked as a System unit + added test M compiler/symdef.pas A tests/webtbs/tw39907.pp A tests/webtbs/uw39907.pp --- commit 5a6d9ff5329a79ddc330a4e8b6a59c4805a19113 Author: J. Gareth "Kit" Moreton Date: Sun Sep 18 19:02:24 2022 +0000 x86: Deeper insight in OptPass2ADD and OptPass2SUB to produce more efficient code M compiler/x86/aoptx86.pas --- commit af1194de4d5a33681608e7e745249db774e3a22a Author: florian Date: Mon Sep 19 23:02:54 2022 +0200 * end of an include file works like a new line with regard to single line (//) comments, resolves #39912 M compiler/scanner.pas A tests/webtbs/ib39912.inc A tests/webtbs/tb39912.pp --- commit 4f9acc10f092a6a59a8c213ca29c08227ee1ab61 Author: Sven/Sarah Barth Date: Mon Sep 19 23:15:20 2022 +0200 * fix #39898: when a loadnode is captured ensure that its nf_load_procvar flag is applied to the subscript node as well + added tests M compiler/procdefutil.pas A tests/test/tanonfunc61.pp A tests/test/tanonfunc62.pp A tests/test/tanonfunc63.pp A tests/test/tanonfunc64.pp A tests/test/tanonfunc65.pp A tests/test/tanonfunc66.pp A tests/test/tanonfunc67.pp A tests/test/tanonfunc68.pp A tests/test/tanonfunc69.pp A tests/test/tanonfunc70.pp A tests/test/tfuncref43.pp A tests/test/tfuncref44.pp A tests/test/tfuncref45.pp A tests/test/tfuncref46.pp A tests/test/tfuncref47.pp A tests/test/tfuncref48.pp A tests/test/tfuncref49.pp --- commit b8920670f442575cc5e981066c1512377d2ac50f Author: Pierre Muller Date: Tue Sep 20 22:33:14 2022 +0100 Change is_macro to return true for A_JAL if in pic mode M compiler/mips/aasmcpu.pas --- commit 2187bfaddd5734e223948e60857b502909e80c8b Author: Pierre Muller Date: Tue Sep 20 22:53:37 2022 +0200 Add name of unit for return type if not from current module in tprocdef.customprocname M compiler/symdef.pas --- commit efbf5eaa01649749fc7f8adee03b63db407ec2a3 Author: Jonas Maebe Date: Wed Sep 21 21:25:30 2022 +0200 Fix loading of ObjC protocol type after c8fee69345 That type lives in the objcbase unit, not in the system unit Resolves #39914 M compiler/symdef.pas --- commit 965bba5ab477bcfe124c7981e47f53457e718928 Author: Sven/Sarah Barth Date: Fri Sep 23 14:44:42 2022 +0200 * cleanup captured symbols when moving them from the nested function to the new method M compiler/procdefutil.pas --- commit b11366c95b2c9eb3611e71919692eae50cd0e7a5 Author: Sven/Sarah Barth Date: Fri Sep 23 15:50:19 2022 +0200 * when generating the call to the extracted function reference inside the nested routine we need to use the parameters of the nested function and not those of the newly created procdef (fixes some of the test case failures with -O2) M compiler/procdefutil.pas --- commit dbbb91705f606be92e0cc9daeaefeaeb290ad643 Author: florian Date: Fri Sep 23 21:55:50 2022 +0200 * improved fix for #39912 M compiler/scanner.pas --- commit 444fe092da1e614163712d0710f6f38b2948ee3b Author: florian Date: Sat Sep 24 20:39:06 2022 +0200 * propertly check equality with the for-counter when propagating constants, resolves #39915 M compiler/optconstprop.pas A tests/webtbs/tw39915.pp --- commit 1a66cde35bd76cc076e25f8c2f71426f333117c2 Author: florian Date: Sat Sep 24 22:48:41 2022 +0200 * apply ShlOp2Shl optimization also to floating point operations M compiler/x86/aoptx86.pas --- commit 93752573657acece7e917904e59078ab99cbef93 Author: florian Date: Sun Sep 25 20:43:57 2022 +0200 * look ahead for ShlOp2Op optimization M compiler/x86/aoptx86.pas --- commit 88cf633b973ba2002e8f392ad0748b614bf1f1c9 Author: florian Date: Mon Sep 26 21:28:39 2022 +0200 * use append_object_struct also for dwarf-3 when creating dwarf debug info for objects, resolves #39920 M compiler/dbgdwarf.pas --- commit 123f196d5d4bbbac76bf1b918a6a0e4dda0174ff Author: florian Date: Tue Sep 27 22:10:56 2022 +0200 * small correction to linker script M compiler/systems/t_embed.pas --- commit 1fc54dd8bbdb83ad9a8f82e4a16d73a17178b655 Author: florian Date: Wed Sep 28 22:46:51 2022 +0200 * improve dwarf cfi on avr M compiler/cfidwarf.pas M compiler/dwarfbase.pas --- commit 9e9b38d0cfc08bbc3c9aa873ba41441b9ea0afb7 Author: florian Date: Thu Sep 29 23:06:03 2022 +0200 * cfi for avr needs 32 bit pc begin and range M compiler/cfidwarf.pas --- commit 7dc2a617882931374ba3cf12955d657bc4631bb8 Author: florian Date: Sat Oct 1 19:03:55 2022 +0200 * comment for git fixed M compiler/Makefile.fpc --- commit 9a760db57350c5efcf0521ece91c4157d0fc1d36 Author: florian Date: Sun Oct 2 20:46:56 2022 +0200 * nicer error message M compiler/htypechk.pas --- commit a91e547832499249ef916470154a1a2b31421ee4 Author: florian Date: Mon Oct 3 14:40:57 2022 +0200 * set the maximum alignment values for constants and variables to 64 on aarch64-linux M compiler/systems/i_linux.pas --- commit f8848dd1857855256d50e4855725fae3aa5b4d60 Author: florian Date: Mon Oct 3 22:03:55 2022 +0200 * fix for commit a91e5478, mixed localalignmax and constalignmax M compiler/systems/i_linux.pas --- commit ad7cc0e69d28afc3091c8b9a1e90175533efa9a2 Author: florian Date: Wed Oct 5 22:47:48 2022 +0200 * handle +[] (and swapped) correctly, resolves #39919 M compiler/nadd.pas A tests/webtbs/tw39919.pp --- commit b934517871cf6fafd0313b4ab408886cc0c2df60 Author: florian Date: Fri Oct 7 22:32:59 2022 +0200 * patch by Rika: Optimize some compiler/CFileUtl.pas functions for returning unchanged strings, resolves #39882 M compiler/cfileutl.pas M compiler/cutils.pas --- commit 6cbbf9c52aad12dcaf3ff5e44cbe19f39a5b7018 Author: Sven/Sarah Barth Date: Sat Oct 8 13:45:59 2022 +0200 * $P/$OpenStrings is supposed to be a local switch, so change that accordingly + added tests M compiler/globtype.pas M compiler/pdecsub.pas M compiler/switches.pas M compiler/utils/ppuutils/ppudump.pp A tests/tbf/tb0295.pp A tests/tbs/tb0697.pp --- commit 920e1c8d1916b723d2aa60268f1c6a8b5527712c Author: Sven/Sarah Barth Date: Sat Oct 8 13:46:28 2022 +0200 * change PPU version as the change regarding $P/$OpenStrings affects the token buffers of generics (which contains the current settings) M compiler/ppu.pas --- commit 188cac3bc6dc666167aacf47fedff1a81d378137 Author: Sven/Sarah Barth Date: Sat Oct 8 13:51:17 2022 +0200 * enable OpenStrings by default in mode Delphi + added test M compiler/scanner.pas A tests/tbs/tb0698.pp --- commit d12bf094aba2667fcacbc7d4c9ae6ac2c32b2e28 Author: Jonas Maebe Date: Sat Oct 8 22:27:23 2022 +0200 cs_opt_consts: disable when non-local gotos are active This optimisation can insert code after the call to fpc_setjmp, resulting in it not getting executed after a longjmp. Fixes tmacnonlocalgoto on AArch64 with -O2 or higher. M compiler/psub.pas --- commit 32261a0f6d6a7277bd48712f13a4480c14c75a73 Author: Sven/Sarah Barth Date: Sun Oct 9 12:42:09 2022 +0200 * fix copy/paste typo in comments M compiler/nadd.pas --- commit 02aac653d2599332b70af2cb3433e8f5d76e6400 Author: Sven/Sarah Barth Date: Sun Oct 9 13:20:14 2022 +0200 * optimize shortstring concatenations if they're on the right side of an assignment to directly use the left side instead of a temporary M compiler/nadd.pas M compiler/nopt.pas --- commit 3e5f6d322853f4615392217e462a59f1a9c59178 Author: florian Date: Sun Oct 9 21:30:44 2022 +0200 * use AllocRegbetween in TARMAsmOptimizer.RemoveSuperfluousMove, resolves #39921 M compiler/armgen/aoptarm.pas --- commit 1b6982107f1ac4b4111e37be0a3649d155a2bc1e Author: florian Date: Mon Oct 10 22:45:31 2022 +0200 * TDebugInfoDwarf3.appenddef_object should not write an extra finish_entry for objects and C++ classes M compiler/dbgdwarf.pas --- commit bb51ac77dd8ba9ad3512f3552515f5ddcd051d11 Author: Sven/Sarah Barth Date: Tue Oct 11 07:36:20 2022 +0200 * the right side of a concatenation of multiple ShortString values can directly pass any String[x] to the utility routine, because only the Length() is used, not High() and nothing is modified (also typed pointers must not be used for them); this allows for better code generation for strings with a maximum length < 255 M compiler/nopt.pas --- commit e2ade64a1e34f6374b9f3a4f1ff802b4b9a4c803 Author: Jonas Maebe Date: Wed Oct 12 22:49:26 2022 +0200 cgbase: make first parameter of supregset_reset "out" M compiler/cgbase.pas --- commit a835d8b533fd7ebba6d375602a4b5c981ac465fb Author: Jonas Maebe Date: Wed Oct 12 22:50:25 2022 +0200 rgobj: reduce compilation time of programs with long movelists Reduces compilation time of webtbs/tw2242 for AArch64 with -O2 from 15 minutes to 10 seconds on my system. from 15 minutes to 10 seconds M compiler/rgobj.pas --- commit b150480c60aff770924e4ffd3382132b189aba2d Author: Jonas Maebe Date: Wed Oct 12 22:51:42 2022 +0200 Darwin: don't try to print size statistics if the binary wasn't linked M compiler/systems/t_darwin.pas --- commit 41b8f6a42e7c43acf8295c26acdd861210ed98b5 Author: J. Gareth "Curious Kit" Moreton Date: Thu Oct 13 16:11:40 2022 +0100 * x86: Bug fix where improved AddMov2Mov optimisation didn't check to see if the other register was modified in between M compiler/x86/aoptx86.pas --- commit 567244007ecf2a289cc6761dfd53c4db97bf0ee9 Author: J. Gareth "Curious Kit" Moreton Date: Thu Oct 13 16:41:09 2022 +0100 * x86: Improvement to bug fix so an optimisation can still be made even if the other register is in use M compiler/x86/aoptx86.pas --- commit 45b1d592f5a4bf280c7f1a59394aac2cd8f4a541 Author: J. Gareth "Curious Kit" Moreton Date: Thu Oct 13 22:07:01 2022 +0100 * x86: Bug fix where "mov $0,%reg" was inserted on the wrong side of a SETcc instruction M compiler/x86/aoptx86.pas --- commit dbd8259c48e3654620507cfcac4f532ba857aaab Author: J. Gareth "Curious Kit" Moreton Date: Thu Oct 13 22:55:14 2022 +0100 * x86: Fixed mistake in var9 optimisation under -Os; "andl $255,%eax" is not smaller than "movzbl %al,%eax" because the immediate is sign-extended, not zero-extended, so $255 will be stored as a 32-bit value. M compiler/x86/aoptx86.pas --- commit e2a26ecece15f944eaa327c30143bb55a4528235 Author: florian Date: Thu Oct 13 23:15:38 2022 +0200 * fixes tcg64frv.a_op64_const_reg_reg based on the analysis of Bart B, resolves #39953 M compiler/riscv32/cgcpu.pas --- commit 27aa4d4e3495db95e396cf32746ecd93020f484c Author: J. Gareth "Curious Kit" Moreton Date: Fri Oct 14 22:19:31 2022 +0100 * x86: ConvertJumpToRET now sets the condition to C_None M compiler/x86/aoptx86.pas --- commit 1c86a4bbebf6bce1f14f2e3e17ab132fb3ccb8db Author: florian Date: Fri Oct 14 23:11:08 2022 +0200 * if a pointer_to_array type conversion is applied to a variable, it is not written, resolves #39957 M compiler/ncnv.pas A tests/webtbs/tw39957.pp --- commit c83e6c34a90cc86ce1c3f3aae1da39d618793335 Author: Jeppe Date: Sun Oct 16 17:37:53 2022 +0200 riscv32: Fix 64bit comparisons - Code taken from MIPS backend - Removed some unused code generated for RV32 64bit integer ops M compiler/riscv32/cgcpu.pas M compiler/riscv32/nrv32add.pas --- commit 5670a7543cb170889fee2f3e8e65ccfd96c0b18e Author: florian Date: Sun Oct 16 22:51:50 2022 +0200 * properly reset nf_write/nf_modify flags for min/max inline nodes, needed by dead store optimization, resolves #39958 * factored out nutils.node_reset_pass1_write M compiler/nflw.pas M compiler/ninl.pas M compiler/nutils.pas A tests/webtbs/tw39958.pp --- commit e142953c6d2b796e833e441773acd51325a7ed77 Author: florian Date: Wed Oct 19 22:48:54 2022 +0200 * make the hidden high parameter for short strings a byte for 8 bit CPUs M compiler/pparautl.pas --- commit dd0711a27e85d15d45dc47e7b014c6bcc3fbf230 Author: Martin Date: Wed Oct 19 23:10:33 2022 +0200 Fix incorrect dwarf entry count. Issue #39928 introduced in 1b6982107f1ac4b4111e37be0a3649d155a2bc1e M compiler/dbgdwarf.pas --- commit 626e23d89fbb58d5eb3aa4ac9532fe8790d1d689 Author: J. Gareth "Curious Kit" Moreton Date: Fri Oct 21 10:35:05 2022 +0100 * x86: The code generator will now attempt manipulate "x and (not y)" (where x and y are ordinals) to use ANDN. M compiler/x86/nx86add.pas --- commit 399d82e1da8ddef74297867282862598aa96fd97 Author: Sven/Sarah Barth Date: Fri Oct 21 17:09:55 2022 +0200 - remove unused consume_generic_interface; it has been superseded by handle_generic_interface in 17a0ac7fc03 M compiler/pdecsub.pas --- commit d35be8a9eac21ee762b452df1ea879c9c5699f03 Author: J. Gareth "Curious Kit" Moreton Date: Fri Oct 21 19:58:16 2022 +0100 * x86: Extended FuncMov2Func optimisation to handle 1, 3 and 4-operand functions M compiler/x86/aoptx86.pas --- commit 2c51abf40dcbdfdfad4532f571e1f095dff9c8aa Author: florian Date: Fri Oct 21 21:13:28 2022 +0200 + print optinfo pointer if set M compiler/node.pas --- commit 2b48afe151a41943520040852a7d075968ff1bf6 Author: florian Date: Fri Oct 21 21:14:39 2022 +0200 * check if optinfo is assigned before using it, resolves #39913 M compiler/optdfa.pas A tests/webtbs/tw39913.pp --- commit 3d805b8a9a2e9803f58ae40ce286b274877f2b78 Author: J. Gareth "Curious Kit" Moreton Date: Fri Oct 21 23:13:21 2022 +0100 * x86: FuncMov2Func moved to separate method and also called by OptPass2MOV. M compiler/x86/aoptx86.pas --- commit a1ea1dd98e7c76d656a232e822d3d7c47063a11a Author: J. Gareth "Curious Kit" Moreton Date: Sat Oct 22 18:41:09 2022 +0100 * x86: Changed BMI2 check to BMI1 for ordinal ANDN optimisation M compiler/x86/nx86add.pas --- commit 86547d35d78ffd26e1d0b63187ebc8472beb204b Author: florian Date: Sun Oct 23 22:09:00 2022 +0200 + apply OpTest/Or2Op optimization to ANDN as well + DebugMsg for OpTest/Or2Op added M compiler/x86/aoptx86.pas --- commit 3ba9cf5b4ffe0a10dc0874f69e0d72e5c77f7358 Author: J. Gareth "Curious Kit" Moreton Date: Mon Oct 24 09:23:18 2022 +0100 * x86: PostPeepholeOptTestOr has different debug messages for each found instruction, and also tests for BEXTR and BZHI. M compiler/x86/aoptx86.pas --- commit 3fa77a4f627e5ce993c88be7849e27b64e7ae80a Author: florian Date: Mon Oct 24 22:10:34 2022 +0200 * fix life information propagation for while loops, resolves #39971 * warnings/errors fixed which are caused by the new life information propagation + test M compiler/dbgdwarf.pas M compiler/ngtcon.pas M compiler/optdfa.pas M compiler/pgenutil.pas M compiler/systems/t_bsd.pas M compiler/systems/t_linux.pas M compiler/systems/t_win.pas M tests/test/opt/tdfa2.pp A tests/webtbs/tw39971.pp --- commit be401422fd786e0c14b27340eef512f70d1f668d Author: florian Date: Mon Oct 24 22:52:52 2022 +0200 * more warnings after last commit fixed M compiler/arm/cgcpu.pas M compiler/systems/t_gba.pas M compiler/systems/t_nds.pas --- commit 49ddf159b26fc34b5f9a0385d1e82edeb75e894f Author: Pierre Muller Date: Tue Oct 25 17:34:21 2022 +0200 Fix internalerror generated with riscv32 compiler. Fix Compiling ./fcl-passrc/src/pscanner.pp pscanner.pp(2512,40) Fatal: Internal error 2006010801 error generated for riscv32-linux target after commit #c83e6c34 by correcting expectloc for riscv32 for 64-bit comparisons. Add a small test. M compiler/riscv/nrvadd.pas A tests/test/cg/tvec64cmp.pp --- commit 9fc2b9062da63731b113043f5550b6734ae0eea1 Author: J. Gareth "Curious Kit" Moreton Date: Wed Oct 26 17:45:10 2022 +0100 * x86: Updated Mov0LblCmp0Jne optimisation to work when alignment hints appear before the label M compiler/x86/aoptx86.pas --- commit c75bb80b140536d16e31f140a111a14c18ae7ad2 Author: florian Date: Wed Oct 26 23:20:18 2022 +0200 * more debug messages * better exit codes for test M compiler/x86/aoptx86.pas M tests/webtbs/tw4768.pp --- commit a7d1f7d7712b7f8845a59937fc9e22e67a7fa5ca Author: J. Gareth "Curious Kit" Moreton Date: Thu Oct 27 06:50:25 2022 +0100 * x86: FuncMov2Func now has code to remove "mov %reg,%reg" (since it doesn't get removed in Pass 2). M compiler/x86/aoptx86.pas --- commit 35a57bac94046da556fe8af48b1e791d23df9c0f Author: Sven/Sarah Barth Date: Fri Oct 28 17:36:22 2022 +0200 * generate the generic name for a specialization of a generic interface alias in the same way as for specializations in general M compiler/pdecsub.pas --- commit e050a019a278827a3ae9c0a32cdcb2dde00ce50d Author: Sven/Sarah Barth Date: Fri Oct 28 17:40:53 2022 +0200 * fix #29859: ensure that it's correctly passed down into generate_specialization whether a unit name was provided for the specialization and if so search the generic only in that unit + added tests M compiler/nbas.pas M compiler/pdecsub.pas M compiler/pexpr.pas M compiler/pgenutil.pas M compiler/ptype.pas A tests/test/tgeneric108.pp A tests/test/tgeneric109.pp A tests/test/tgeneric110.pp A tests/test/tgeneric111.pp A tests/test/ugeneric108a.pp A tests/test/ugeneric108b.pp A tests/webtbs/tw29859.pp A tests/webtbs/uw29859a.pp A tests/webtbs/uw29859b.pp --- commit f0e31628ad7d584507612b2d7c4ea017532cea78 Author: Sven/Sarah Barth Date: Sat Oct 29 12:15:59 2022 +0200 * ensure that hmodule is initialized correctly M compiler/pgenutil.pas --- commit 49fb1b4c292e3fe305a470b3a2c4dd52f6d46733 Author: Jonas Maebe Date: Sat Oct 29 13:45:48 2022 +0200 RTTI: don't generate full RTTI for internal types These are types created by the code generator for internal purposes, and hence are never queried by user code M compiler/ncgrtti.pas --- commit cd8ddffe426f37743c0d17ecfa990b5b9ddf442a Author: Jonas Maebe Date: Sat Oct 29 14:12:43 2022 +0200 AArch64: X18 is not a volatile register It may be unused on some platforms, but in general it's reserved for OS library usage (usually related to TLS) M compiler/aarch64/cpubase.pas --- commit f18524f2fe32fdbb798b38a19d9e9bbc24fef3e4 Author: Jonas Maebe Date: Sat Oct 29 14:13:53 2022 +0200 Darwin: fix mac0S 11.0 version string Prevents LLVM warnings M compiler/options.pas --- commit e62cf5b9e7f98f8beaef2ab288574aced94b15ec Author: Jonas Maebe Date: Sat Oct 29 17:23:31 2022 +0200 systems_iphonesym -> systems_iphonesim It's a simulator, not a symbolator M compiler/link.pas M compiler/systems.pas --- commit 57935a895cd02101ae2e26701579133fb23f75e2 Author: Jonas Maebe Date: Sat Oct 29 21:02:10 2022 +0200 Darwin: really fix -Xg for DWARF4 M compiler/options.pas M compiler/systems/t_darwin.pas --- commit ae12a79bf75e2019cba48e94d54b1f5c2fe07f92 Author: Pierre Muller Date: Sun Oct 30 10:59:31 2022 +0100 Avoid string truncation M compiler/utils/ppuutils/ppudump.pp --- commit a1064ad8fdf5b5941c86eb5d94009a264e9f8cbf Author: florian Date: Sun Oct 30 16:57:59 2022 +0100 + MovSubCmp2MovSub optimization M compiler/x86/aoptx86.pas --- commit 6d3e3d06e2bc18dc15000093869e821a050d9b60 Author: Jonas Maebe Date: Sun Oct 30 21:56:29 2022 +0100 Linux: don't discard CFI when using it for exceptions M compiler/systems/t_linux.pas --- commit 92cc78e723496ec16475848d6339bd8ddbcad9cd Author: Pierre Muller Date: Sun Oct 30 23:31:57 2022 +0100 Allow cycle to finish successfully with -dEXTDEBUG without ALLOW_WARNINGS=1 M compiler/pass_2.pas --- commit 0eee70ac816afaebbc567e00a5c18a6ee46873e1 Author: florian Date: Mon Oct 31 20:19:10 2022 +0100 * fix FindUnitSymtable for exception symtables, resolves #24801 and #39974 * more consistent naming of exceptsymtable enumeration symbol M compiler/symconst.pas M compiler/symdef.pas M compiler/symtable.pas M compiler/symtype.pas A tests/webtbs/tw24801.pp A tests/webtbs/uw24801.pp --- commit 3f7bf0fd70b339a43889898efa59af4fec33ea84 Author: florian Date: Tue Nov 1 21:15:49 2022 +0100 * stop generation of typed array constants if the size does not match, resolves #39980 M compiler/ngtcon.pas A tests/webtbf/tw39980.pp --- commit e748e4c7ab79a4dcacee4f106f53c5699d55dda1 Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 2 13:47:15 2022 +0000 * x86: Added new emit_reg_ref_reg routine and related methods to support BMI2 instructions M compiler/x86/aasmcpu.pas M compiler/x86/cga.pas --- commit 7da9b4a98858e6d82f297b12757b32e62c8491d7 Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 2 13:48:54 2022 +0000 * x86: The code generator will now attempt to manipulate "x and ((1 shl y) - 1)" to use BZHI M compiler/x86/nx86add.pas --- commit c40f518de4c9ee3c4e6bafd2ec909dc4ca286b24 Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 2 16:39:47 2022 +0000 * x86: "x and ((1 shl y) - 1)" to BZHI adapted for in_and_assign_x_y M compiler/x86/nx86inl.pas --- commit a0366d7d28f806b3bf825d6613040e38d3bdd64f Author: florian Date: Wed Nov 2 22:13:40 2022 +0100 * dead store elimnation should not remove statements which can cause an exception M compiler/optdeadstore.pas --- commit 342524c31234981a48e52659d07ff2e52cbd81b4 Author: florian Date: Wed Nov 2 22:14:12 2022 +0100 * run dead store elimination multiple times if needed M compiler/optdeadstore.pas M compiler/psub.pas --- commit e67670fa70b7f92724ad4c55f5fedbb3b4231615 Author: florian Date: Thu Nov 3 19:01:02 2022 +0100 * changed of do_optdeadstoreelim must be passed by reference as noted by Alexey Torgashin M compiler/optdeadstore.pas --- commit c5cdfbd9c03c0d443e5a4f4a7eafd5ea1c2b0e21 Author: Jonas Maebe Date: Thu Nov 3 21:27:41 2022 +0100 dwarf-eh: don't emit header if there's no data to emit M compiler/cfidwarf.pas --- commit cda8971baaeb240bb7c5075faa96dd4be02d923a Author: Jinyang He Date: Sat Nov 5 09:48:02 2022 +0800 Add dwarf cfa support M compiler/aasmdata.pas M compiler/cfidwarf.pas --- commit 2d680afab7ce6d66ee736c93761c82141229ab67 Author: Jinyang He Date: Sat Nov 5 09:48:55 2022 +0800 Fix the ~ is NOR rather than NOT M compiler/raatt.pas --- commit 96f43001588a2a88d10cf2e2a8d5e8561e98a774 Author: Jinyang He Date: Sat Nov 5 09:49:49 2022 +0800 Fix the edge of first_imaginary in move op M compiler/rgobj.pas --- commit 8fac3d62ce2a37cfc11f16ed5d47761c6cfd57d2 Author: Jinyang He Date: Sat Nov 5 09:51:29 2022 +0800 add has_double_field M compiler/symtable.pas --- commit 12c4290ffe114161fca1a0c5ecdcac5cfd7f87a2 Author: Jinyang He Date: Sat Nov 5 10:02:25 2022 +0800 Add loongarch64 architecture support to compiler M compiler/Makefile.fpc M compiler/aggas.pas M compiler/aoptobj.pas M compiler/cfidwarf.pas M compiler/cgbase.pas M compiler/entfile.pas M compiler/fpcdefs.inc M compiler/globals.pas A compiler/loongarch64/aasmcpu.pas A compiler/loongarch64/agcpugas.pas A compiler/loongarch64/aoptcpu.pas A compiler/loongarch64/aoptcpub.pas A compiler/loongarch64/aoptcpuc.pas A compiler/loongarch64/aoptcpud.pas A compiler/loongarch64/cgcpu.pas A compiler/loongarch64/cpubase.pas A compiler/loongarch64/cpuinfo.pas A compiler/loongarch64/cpunode.pas A compiler/loongarch64/cpupara.pas A compiler/loongarch64/cpupi.pas A compiler/loongarch64/cputarg.pas A compiler/loongarch64/hlcgcpu.pas A compiler/loongarch64/itcpugas.pas A compiler/loongarch64/loongarch64att.inc A compiler/loongarch64/loongarch64nop.inc A compiler/loongarch64/loongarch64op.inc A compiler/loongarch64/loongarchins.dat A compiler/loongarch64/loongarchreg.dat A compiler/loongarch64/ncpuadd.pas A compiler/loongarch64/ncpucnv.pas A compiler/loongarch64/ncpuinl.pas A compiler/loongarch64/ncpumat.pas A compiler/loongarch64/ncpuset.pas A compiler/loongarch64/racpu.pas A compiler/loongarch64/racpugas.pas A compiler/loongarch64/rgcpu.pas A compiler/loongarch64/rloongarch64abi.inc A compiler/loongarch64/rloongarch64con.inc A compiler/loongarch64/rloongarch64dwa.inc A compiler/loongarch64/rloongarch64nor.inc A compiler/loongarch64/rloongarch64num.inc A compiler/loongarch64/rloongarch64rni.inc A compiler/loongarch64/rloongarch64sri.inc A compiler/loongarch64/rloongarch64sta.inc A compiler/loongarch64/rloongarch64std.inc A compiler/loongarch64/rloongarch64sup.inc A compiler/loongarch64/symcpu.pas A compiler/loongarch64/tripletcpu.pas M compiler/ncgcnv.pas M compiler/options.pas M compiler/pp.pas M compiler/psystem.pas M compiler/raatt.pas M compiler/systems.inc M compiler/systems.pas M compiler/tgobj.pas M compiler/utils/fpc.pp A compiler/utils/mkloongarch64ins.pp A compiler/utils/mkloongarch64reg.pp M compiler/utils/ppuutils/ppudump.pp M compiler/version.pas --- commit 3d2c96ebbfb8ba47349db24d327fb1b577ab12e8 Author: Jinyang He Date: Sat Nov 5 10:04:19 2022 +0800 Add loongarch64 linux support to compiler M compiler/loongarch64/agcpugas.pas M compiler/systems.inc M compiler/systems.pas M compiler/systems/i_linux.pas M compiler/systems/t_linux.pas M compiler/utils/ppuutils/ppudump.pp --- commit 92e60d210759a6250e1820f891c8aade6214ad20 Author: Jinyang He Date: Sat Nov 5 10:06:34 2022 +0800 add loongarch64 linux rtl support M compiler/systems.pas M rtl/linux/Makefile.fpc A rtl/linux/loongarch64/bsyscall.inc A rtl/linux/loongarch64/si_c.inc A rtl/linux/loongarch64/si_dll.inc A rtl/linux/loongarch64/si_g.inc A rtl/linux/loongarch64/si_prc.inc A rtl/linux/loongarch64/sighnd.inc A rtl/linux/loongarch64/sighndh.inc A rtl/linux/loongarch64/stat.inc A rtl/linux/loongarch64/syscall.inc A rtl/linux/loongarch64/syscallh.inc A rtl/linux/loongarch64/sysnr.inc M rtl/linux/osdefs.inc M rtl/linux/ostypes.inc M rtl/linux/system.pp M rtl/linux/termios.inc M rtl/unix/cthreads.pp --- commit 3db1415a449212d8c3ab5a9085106c9f11acaa0d Author: florian Date: Sat Nov 5 16:56:05 2022 +0100 * generate correct dfa for subroutines declared as safecall M compiler/nutils.pas M compiler/optdfa.pas --- commit 95f94a279c1807554ec2c865ca045aa29bd9e5b7 Author: Jonas Maebe Date: Sun Nov 6 16:09:45 2022 +0100 llvmdbg: fixes for method debug info Mark "self" parameter as artificial Add methods to the scope of the class/record rather than to the file scope Add the vmt field, strip the "($)hidden" prefix from its name, and emit its real type M compiler/llvm/dbgllvm.pas --- commit 1b08b89b7b552beecc90672f8ed0b1a858169658 Author: florian Date: Sun Nov 6 16:38:01 2022 +0100 * check if a target really supports safecall before calling load_safecallresult_node M compiler/optdfa.pas --- commit 3c2703787cff417098cd01d1c51b4b5cf70f2677 Author: Sven/Sarah Barth Date: Sun Nov 6 16:49:06 2022 +0100 * ensure that newly created tloadparentfpnodes have a valid resultdef as they might be created in situation where the loadnode itself is no longer typechecked M compiler/ncnv.pas M compiler/nld.pas --- commit a714e2ff35e78233486f4549d646980ead04c4a5 Author: Sven/Sarah Barth Date: Sun Nov 6 16:52:38 2022 +0100 * fix #39981: retrieve the symbol that returns the desired procdef/procvardef not maybe the Self or something else as we need that symbol to differentiate the procdefs + added test M compiler/procdefutil.pas A tests/webtbs/tw39981.pp --- commit 19cee9b8415bce777f012d5ec7634497f0cd53e3 Author: Sven/Sarah Barth Date: Sun Nov 6 21:08:31 2022 +0100 + mark the def for a capturer class with a corresponding object option M compiler/procdefutil.pas M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp --- commit d221f42a578316c99fc74674b037e54725bfbdbc Author: Sven/Sarah Barth Date: Sun Nov 6 21:56:41 2022 +0100 * ensure that the correct overload is picked for function reference parameters + added tests M compiler/htypechk.pas A tests/test/tfuncref50.pp A tests/test/tfuncref51.pp --- commit b051e7667c5051b3ae9dd511ad235aea19f2c0d5 Author: Sven/Sarah Barth Date: Sun Nov 6 21:58:07 2022 +0100 * fix #39978: ensure that Self is captured when a method of the current class is captured into a function reference + added test M compiler/procdefutil.pas A tests/webtbs/tw39978.pp --- commit 9e3483fbeb8743afdb32df31c859753adfc96039 Author: Sven/Sarah Barth Date: Sun Nov 6 21:59:44 2022 +0100 * fix #39977: allow a capturer to access any method independant of visibility as the visibility checks are supposed to have been done before the captured symbol was converted + added test M compiler/symtable.pas A tests/webtbs/tw39977.pp --- commit 36afcbf7fea3dd51e292b20594ef994f683d26b0 Author: florian Date: Sun Nov 6 22:48:18 2022 +0100 * only i386 uses same special fastcall calling convention M compiler/dbgdwarf.pas --- commit 314f632377306065e939fb1b17593168bca3982b Author: J. Gareth "Curious Kit" Moreton Date: Mon Nov 7 04:30:54 2022 +0000 * x86: New TEST->BT peephole optimisation M compiler/x86/aoptx86.pas --- commit 827fe2bd83a9ee5d77b49cf4eb8cdc3ce0369859 Author: J. Gareth "Curious Kit" Moreton Date: Mon Nov 7 05:20:33 2022 +0000 * x86: New OR->BTS peephole optimisation M compiler/x86/aoptx86.pas --- commit 822022186611aa62d08c8a328f69f37bad2dd38f Author: J. Gareth "Curious Kit" Moreton Date: Mon Nov 7 18:39:31 2022 +0000 * x86: New AND(NOT X)->BTR peephole optimisation M compiler/x86/aoptx86.pas --- commit 57466587c5470ed174144263608febae128895af Author: Jonas Maebe Date: Mon Nov 7 21:23:08 2022 +0100 llvmdbg: remove unnecessary typedef intermediates M compiler/llvm/aasmllvmmetadata.pas M compiler/llvm/dbgllvm.pas --- commit a2789d611f74b71fefbf8a3bc0c66f3f3ec3eaa3 Author: Sven/Sarah Barth Date: Mon Nov 7 23:33:31 2022 +0100 * fix crash in debug output in TX86AsmOptimizer.DoArithCombineOpt for DEC/INC $reg M compiler/x86/aoptx86.pas --- commit df80d4e6120edd441361bcf9e2e64045ec042c2c Author: J. Gareth "Curious Kit" Moreton Date: Tue Nov 8 00:28:47 2022 +0000 * x86: CMOV optimisations now check optimizecputype rather than cputype M compiler/x86/aoptx86.pas --- commit 931bda56331fc2fbd376ce925c4c9923c92498bc Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 9 02:45:51 2022 +0000 * x86: LeaLea2Lea now handles cases where the second LEA instruction has a second register in the reference. M compiler/x86/aoptx86.pas --- commit 77f53ebde3c14b1e26734fc0a57629e5149743f7 Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 9 04:41:49 2022 +0000 * x86: The LEA/LEA optimisations can now work with a different destination register and the intermediate register still in use. M compiler/x86/aoptx86.pas --- commit aa5517d44228f2909b25744ed2fb90770d45dfe6 Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 9 21:03:52 2022 +0000 * x86: New CPU feature flags in cpuinfo units M compiler/i386/cpuinfo.pas M compiler/i8086/cpuinfo.pas M compiler/x86_64/cpuinfo.pas --- commit e942c00f8259a6d9505d1ed849b36399e9def989 Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 9 21:18:06 2022 +0000 x86: MovMovMov2XChg optimisation now makes use of the CPUX86_HAS_FAST_XCHG flag M compiler/x86/aoptx86.pas --- commit 71df6b83c64d331a3a7347f762e80755088639e2 Author: Pierre Muller Date: Fri Nov 11 22:20:10 2022 +0000 Avoidd to use hp1 after calling RemoveInstruction, as the VMT is invalidated M compiler/x86/aoptx86.pas --- commit d3abd339b7cf9b3c7e70679ee65a4732b56ca37d Author: florian Date: Fri Nov 11 23:45:52 2022 +0100 + cpu switch for zen M compiler/i386/cpuinfo.pas M compiler/x86/agx86nsm.pas M compiler/x86_64/cpuinfo.pas --- commit f2bd099afba70273fb8ef60dd42226feda3808bc Author: J. Gareth "Curious Kit" Moreton Date: Sat Nov 12 01:40:52 2022 +0000 * x86: Converted BTR and BTS tests to use a new utility function to check if BTx instructions are acceptable to use M compiler/x86/aoptx86.pas --- commit 3cf8ae8433acbc20e09eb6bee6c6e1e1000e6b9c Author: J. Gareth "Curious Kit" Moreton Date: Sat Nov 12 04:00:50 2022 +0000 * x86: New XOR->BTC peephole optimisation M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas --- commit a0c87be0fc75cb242378c1029e5fc58e7dd41a18 Author: J. Gareth "Curious Kit" Moreton Date: Sat Nov 12 07:25:05 2022 +0000 * x86: Zen processors now marked with CPUX86_HAS_FAST_BT_MEM flag M compiler/i386/cpuinfo.pas M compiler/x86_64/cpuinfo.pas --- commit c9461b73139c742a7a86af045212e08dea83c72b Author: J. Gareth "Curious Kit" Moreton Date: Sun Nov 13 01:39:24 2022 +0000 * x86: Flags that relate to optimization hints rather than features have been moved to a separate set M compiler/i386/cpuinfo.pas M compiler/i8086/cpuinfo.pas M compiler/x86/aoptx86.pas M compiler/x86_64/cpuinfo.pas --- commit 3b43bd027c51f7914bc8fe7f938a7a21d58c1d85 Author: florian Date: Sun Nov 13 22:28:08 2022 +0100 * calculate life info for if nodes correctly if the then branch is empty, resolves #39992 M compiler/optdfa.pas A tests/webtbs/tw39992.pp --- commit e57ef24e37be92ca117302735b9e3584254483d9 Author: J. Gareth "Curious Kit" Moreton Date: Tue Nov 15 16:20:09 2022 +0000 * x86: TEST and CMP optimisations now perform jump optimisations prematurely to remove unnecessary TEST/CMPs M compiler/x86/aoptx86.pas --- commit a27cb35fa83d995a33f90474c2481d367cf6b14b Author: florian Date: Tue Nov 15 22:06:38 2022 +0100 * propagate life info properly M compiler/optdfa.pas --- commit c21bf747fb3d5750ce62ef49ad5334528e2880ba Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 16 18:25:01 2022 +0000 * x86: Extension to Cmp1Jl2Cmp0Jle to catch inverted variant M compiler/x86/aoptx86.pas --- commit e7e4044bf053846dbc1fa692b9d559225e385f06 Author: J. Gareth "Curious Kit" Moreton Date: Thu Nov 17 11:14:04 2022 +0000 * CollapseZeroDistJump no longer updates registers or strips dead labels, instead just setting p to p.Next M compiler/aoptobj.pas --- commit ef53f9bc25aad1cef20f3cd7e7e248dd5d172e25 Author: florian Date: Fri Nov 18 23:21:58 2022 +0100 + FstpFldFstp2Fstp optimization M compiler/x86/aoptx86.pas --- commit 47789734923810f9363f0ef384c2aca27171dde8 Author: florian Date: Sat Nov 19 21:05:22 2022 +0100 * further look ahead for temp. deallocation for FstpFldFstp2Fstp and FstpFld2 M compiler/aoptobj.pas M compiler/x86/aoptx86.pas --- commit f6a8b045c2f52740186feca3d50c3211c74c775c Author: florian Date: Sun Nov 20 23:14:49 2022 +0100 * cosmetics M compiler/nadd.pas --- commit 7da8c774be6670d6cfe3dd9b707d4e47c0a4870b Author: florian Date: Sun Nov 20 23:31:08 2022 +0100 + ShlShl2Shl optimization M compiler/x86/aoptx86.pas --- commit 42b052eb83682e0bc5dcbb2c8d47e045c462dcfa Author: J. Gareth "Curious Kit" Moreton Date: Mon Nov 21 20:29:43 2022 +0000 * x86-64: movl/movq -> movl/movl zero-extension optimisation M compiler/x86/aoptx86.pas --- commit f3f9c68ddbea571e5cc95625a7a14fee620c09b8 Author: J. Gareth "Curious Kit" Moreton Date: Tue Nov 22 01:03:12 2022 +0000 * x86-64: Extended the movl/movq optimisation to cover more distance M compiler/x86/aoptx86.pas --- commit 0ba4cee279b0bd8b13dfa27ff9a32b6b80397d79 Author: florian Date: Tue Nov 22 22:41:58 2022 +0100 * convert n-n mod const into n div const*const, resolves #39615 M compiler/nadd.pas A tests/webtbs/tw39615a.pp A tests/webtbs/tw39615b.pp --- commit 69c78385718462de06ac5af39e5b1c2829582bc0 Author: J. Gareth "Curious Kit" Moreton Date: Tue Nov 22 23:46:37 2022 +0000 * x86: Addition of AMD CPUs: Bobcat, Jaguar, Piledriver, Excavator, Zen2 and Zen3 (and supporting flags) M compiler/i386/cpuinfo.pas M compiler/x86/agx86nsm.pas M compiler/x86_64/cpuinfo.pas --- commit 170c112301ab3bcdba04a12657ae61dd275496cc Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 23 00:03:30 2022 +0000 * x86: Added FMA as an FPU target distinct from AVX and AVX2 (the latter of which has a new FPUX86_HAS_AVX2 flag) M compiler/i386/cpuinfo.pas M compiler/i8086/cpuinfo.pas M compiler/x86_64/cpuinfo.pas --- commit 1a19fe1f033a7d4571f62a4506cf3a60d37e3080 Author: Pierre Muller Date: Wed Nov 23 08:43:28 2022 +0100 Use correct class typecast for commit ba4cee279b M compiler/nadd.pas --- commit 84be45f55d92a379c237d76f7b2db9e55e0603d7 Author: Pierre Muller Date: Thu Nov 24 17:01:37 2022 +0000 Fix compilation failure of RTL with -Co option for x86_64-linux target M compiler/nadd.pas --- commit 1b439134083d3f032eab1ed5ec5c016bf4be84db Author: J. Gareth "Curious Kit" Moreton Date: Thu Nov 24 21:16:47 2022 +0000 * New 'do not execute' flag for notes and respective internal error triggering M compiler/node.pas M compiler/pass_1.pas M compiler/pass_2.pas M compiler/ppu.pas --- commit 16bd996e74560b716938e825ad216ff57b9a51aa Author: J. Gareth "Curious Kit" Moreton Date: Thu Nov 24 21:19:13 2022 +0000 * x86: 'and not' optimisation now sets the NOT node to 'do not execute' as it is skipped over M compiler/x86/nx86add.pas --- commit 2a44ffe51bf56f86ad3043e9f578e268b860e4dc Author: J. Gareth "Curious Kit" Moreton Date: Thu Nov 24 21:30:03 2022 +0000 * x86: BZHI optimisation now sets the subtract and shift nodes to 'do not execute' as they are skipped over. M compiler/x86/nx86add.pas --- commit 247423400f0d0686f2eaaf5de7d95a99b258419e Author: florian Date: Thu Nov 24 22:43:27 2022 +0100 * create muln with create instead of create_internal when converting "n - n mod const)" so pass1 works properly, resolves #40004 M compiler/nadd.pas A tests/webtbs/tw40004.pp --- commit 9d8fd6d55e486d7234c597a89823e0dcafd91331 Author: J. Gareth "Curious Kit" Moreton Date: Fri Nov 25 00:15:17 2022 +0000 * TAddNode.Simplify now uses pruning methods M compiler/nadd.pas --- commit 7488f1e3f886d215ca392e47bb7c2e5754c18985 Author: J. Gareth "Curious Kit" Moreton Date: Fri Nov 25 00:28:10 2022 +0000 * New node pruning methods M compiler/node.pas --- commit a5702d89e8703ed2e5c4bdcd246ff9421fd551d7 Author: J. Gareth "Curious Kit" Moreton Date: Fri Nov 25 02:46:56 2022 +0000 * More complex uses of the pruning methods in TAddNode.Simplify M compiler/nadd.pas --- commit 170051672181f66a9296bb6f8dab13bfe0a03de4 Author: florian Date: Sat Nov 26 23:26:22 2022 +0100 * cleanup M compiler/nadd.pas --- commit cc27576339115108f045222df45a8acb3d91723e Author: J. Gareth "Curious Kit" Moreton Date: Sun Nov 27 03:58:45 2022 +0000 * x86: Fixed movzwl/movzbl bug in OptPass2Movx (resolves i40003) M compiler/x86/aoptx86.pas --- commit a1a2549cf10e38b25c8f277a41dc3ba409a7a1b1 Author: florian Date: Tue Nov 29 23:20:23 2022 +0100 + Debug message M compiler/x86/aoptx86.pas --- commit 96d4bd19ac815bf860541e51249fef93ebe41c76 Author: florian Date: Wed Nov 30 22:16:21 2022 +0100 * use bzhi only (if at all) for in_and_assign_x_y and not other in_*_x_y operations, resolves #40016 M compiler/x86/nx86inl.pas A tests/webtbs/tw40016.pp --- commit c5f4a6acd0d48a567e2d11bb0041c92a2a8db897 Author: Jonas Maebe Date: Wed Nov 30 22:52:12 2022 +0100 LLVM: fix variant records when alignment of first part is not the highest Resolves #40015 M compiler/symtable.pas --- commit 487ca08cf31ab89695d703d45cc7861868251c94 Author: J. Gareth "Curious Kit" Moreton Date: Thu Dec 1 16:49:01 2022 +0000 * In TAddNode.Simplify, commutative operations now ensure integer constant operands go on the right for simplicity M compiler/nadd.pas --- commit c4899b5dc080d09fdb5ba48fcecdf1f9cdbdb5e3 Author: J. Gareth "Curious Kit" Moreton Date: Thu Dec 1 19:22:12 2022 +0000 * Dead code in TAddNode.Simplify has been stripped M compiler/nadd.pas --- commit 7a34677b2ab134fab30a19c6bb6249425e802daf Author: Sven/Sarah Barth Date: Fri Dec 2 17:06:18 2022 +0100 * as long as the type passed into a TypeInfo() is not an undefined or error def the resulting value will always be constant at compile time, so it can be compared to another then no matter if typenode or not + added tests M compiler/nadd.pas A tests/tbs/tb0699.pp A tests/tbs/tb0700.pp A tests/tbs/tb0701.pp A tests/tbs/tb0702.pp --- commit 977ca19dc013324096e5ef2ac6d9e2ccff824d42 Author: Pierre Muller Date: Fri Dec 2 22:53:19 2022 +0000 Set current_filepos in Internal assembler class also if DEBUG macro is set M compiler/assemble.pas --- commit e0eff8bd89aa0aa3d631a197f33863241c6b13c2 Author: florian Date: Fri Dec 2 23:34:25 2022 +0100 + more change information fixed M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 230142e183d986fc9a4b1f8f32b42816bef6be26 Author: Jonas Maebe Date: Sat Dec 3 14:50:08 2022 +0100 AArch64 cgcpu: add missing brackets around and/or expression M compiler/aarch64/aasmcpu.pas --- commit f00a932cc6fec80533ad821192d4be8266446839 Author: J. Gareth "Curious Kit" Moreton Date: Sat Dec 3 19:21:38 2022 +0000 * New is_cyclic function to detect if def references itself - fixes #40010 M compiler/defcmp.pas M compiler/defutil.pas --- commit 42d91c02bdf7c57fb2df8887d92e0fa298c4d8ef Author: florian Date: Sat Dec 3 23:35:55 2022 +0100 * continued to fix change information M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit a1abe51f2a760d47c2a12641f7b7fcf9c634d4ec Author: J. Gareth "Curious Kit" Moreton Date: Sun Dec 4 20:32:45 2022 +0000 * Refactor of is_cyclic to use a linked list on the stack instead of a dynamic array M compiler/defutil.pas --- commit 1e83d415c3a2aa7b66c191bf40781d40e37e5179 Author: Jonas Maebe Date: Sun Dec 4 21:47:17 2022 +0100 LLVM: us paraloc def instead of para def for byval We also use the paraloc instead of the para to write the def M compiler/llvm/llvmdef.pas --- commit bba1076e12d2c689b405b12f16120c1a46f9b69a Author: Jonas Maebe Date: Sun Dec 4 21:51:32 2022 +0100 LLVM: add Xcode 14.0 support (-ClvXcode-14.0) M compiler/llvm/llvminfo.pas --- commit 8ad7decaa39dac87fab7f37f75b7da0aea49b2a1 Author: florian Date: Sun Dec 4 23:17:41 2022 +0100 * another change information update M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit 7854152304110571f6c1a950f3828b4aceded90b Author: J. Gareth "Curious Kit" Moreton Date: Mon Dec 5 23:25:21 2022 +0000 * Adjustment to TBLockNode.pass_1 to actually strip nothing nodes M compiler/nbas.pas --- commit 851af5033fb80d4e19c4a7b5c44d50a36f456374 Author: Jonas Maebe Date: Tue Dec 6 21:38:16 2022 +0100 Darwin/AArch64: adjust alignment info of custom-aligned paralocs Resolves #40019 M compiler/aarch64/cpupara.pas A tests/webtbs/tw40019.pp --- commit 14466ee9d99918072db8982765e621c2de309a9d Author: florian Date: Tue Dec 6 22:41:20 2022 +0100 * change table updates M compiler/i386/i386prop.inc M compiler/i8086/i8086prop.inc M compiler/x86/x86ins.dat M compiler/x86_64/x8664pro.inc --- commit b9a8e6832f8db6bee1abeb9e5e958de8821d949e Author: Pierre Muller Date: Sat Dec 10 17:41:05 2022 +0100 Do not set usesectionprogbits and usesectionflags to true for solaris assembler M compiler/aggas.pas --- commit af04a523bb4881f106908e231b94561d889f2d81 Author: Pierre Muller Date: Sat Dec 10 17:41:33 2022 +0100 * Fix testing of A_JCC and A_SETCC, add A_CMOVCC * Add $PIC for i386 and x86_64 solaris assemblers M compiler/x86/agx86att.pas --- commit e2905b8fad1750fed539e32f40cd69619beeae39 Author: Pierre Muller Date: Sat Dec 10 19:50:47 2022 +0000 Refuse A_Jcc, A_SETcc, and A_CMOVcc without condition M compiler/x86/rax86att.pas M compiler/x86/rax86int.pas --- commit 5605cebd462b2011437b05d12b320c3b6544736a Author: Michael VAN CANNEYT Date: Tue Dec 13 10:05:34 2022 +0100 * Implement -t and -x options * Fix spurious warning of already specified -t * If no subtarget file found, error out instead of hint/warn * Globals needs subtarget for macro substitution M compiler/globals.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas --- commit ea7b9c73f3ba29a464b2cdacc83d73129f4f8d6a Author: J. Gareth "Curious Kit" Moreton Date: Wed Dec 14 12:32:40 2022 +0000 * New intrinsiccode field for TCallNode to track transmutation from TInlineNode M compiler/ncal.pas M compiler/ppu.pas --- commit e1f993c363a05c12f7d54d9da46e7133431be624 Author: J. Gareth "Curious Kit" Moreton Date: Wed Dec 14 12:49:23 2022 +0000 * tinlinenode.handle_str now uses the new intrinsiccode field for TCallNode M compiler/ninl.pas --- commit 28e7dd77dedae2b592eb3ecf7d3188b23718f637 Author: J. Gareth "Curious Kit" Moreton Date: Wed Dec 14 21:28:24 2022 +0000 * A call node's original parameter ordering can now be remembered, and a method introduced to access this M compiler/ncal.pas --- commit 81b22cc5d1673cee927fc645edcf8a90fd8a7f8b Author: J. Gareth "Curious Kit" Moreton Date: Wed Dec 14 21:33:29 2022 +0000 * TCallNode.simplify method introduced to convert Str with a constant into a direct string assignment M compiler/ncal.pas --- commit c0893e5c160e21a40086e573dd870ccfce6e53c7 Author: Michael VAN CANNEYT Date: Fri Dec 16 11:46:41 2022 +0100 * get rid os some warnings M compiler/utils/fpc.pp --- commit babcb631f8f24998899b6fc2112025a077e281aa Author: Michael VAN CANNEYT Date: Fri Dec 16 11:51:17 2022 +0100 * Delegate darwin ifdef out of program flow, towards const, for clarity M compiler/utils/fpc.pp --- commit adf9f98f7c182131fe5f83dac16411645897f123 Author: Michaël Van Canneyt Date: Wed Dec 21 16:40:09 2022 +0100 * Define char as AnsiChar M compiler/options.pas M compiler/psystem.pas M compiler/symdef.pas --- commit e0fef23d77e43c36d6d6ad474a21e5d1235742c5 Author: florian Date: Wed Dec 21 22:34:46 2022 +0100 * properly transform a+const1-const2 into a+const1+(-const2), resolves #40041 M compiler/nadd.pas A tests/webtbs/tw40041.pp --- commit 30e0df384d5961c5525c70f2878963f04ec9bafd Author: florian Date: Thu Dec 22 22:41:17 2022 +0100 * second part of #40041 fixed + tests M compiler/nadd.pas M tests/webtbs/tw39785.pp A tests/webtbs/tw40041b.pp R100 tests/webtbs/tw40041.pp tw40041a.pp --- commit 4430422489633ac2fcd7c8833267ecf9cfbb9361 Author: florian Date: Wed Dec 28 22:05:23 2022 +0100 * improve module local data accesses by avoiding a got read M compiler/aarch64/cgcpu.pas --- commit e19f60503b81a4752596a845e9dba035d4510550 Author: Karoly Balogh Date: Thu Dec 29 03:36:51 2022 +0100 m68k: updated instruction tables to match vasm release 1.9a M compiler/m68k/m68kins.dat M compiler/m68k/m68knop.inc M compiler/m68k/m68ktab.inc M compiler/utils/mk68kins.pp --- commit 721e988da2298e426c5ebc78205b2917c7169816 Author: Karoly Balogh Date: Thu Dec 29 05:08:46 2022 +0100 m68k: add some initial CPU-specifc boilerplate for an internal ELF writer A compiler/m68k/cpuelf.pas M compiler/systems.inc --- commit 56006aa002ea57a67ff1d7b7c69c4261b6bcfe84 Author: Michaël Van Canneyt Date: Thu Dec 29 10:22:20 2022 +0100 * Allow widechar sets, reduce to ansichar set M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/ptype.pas M rtl/inc/systemh.inc --- commit 4e959de2c73a6a87b96dfac61334628437afeedf Author: Michaël Van Canneyt Date: Thu Dec 29 10:25:02 2022 +0100 * Do not insert widechar -> ansichar conversion node in const declaration * Allow array constructor to contain widechars in mode unicodestring. M compiler/ncnv.pas --- commit 3eee2d8ff34834d7f17f7970019db5e5ab0f5e1d Author: Michaël Van Canneyt Date: Thu Dec 29 10:26:53 2022 +0100 * Do not insert a widestring <-> ansistring conversion node when checking for (un)equal empty string. M compiler/nadd.pas --- commit 4c6338207f4b13eee54c34e67502630efc4d2459 Author: Sven/Sarah Barth Date: Thu Dec 29 22:48:43 2022 +0100 * fix #40061: the Self of types that aren't implicit pointers (recods, TP-style objects, primitive types (for helpers)) needs to be stored as a Pointer in the Capturer so that modifications are correctly visible + added tests M compiler/procdefutil.pas A tests/test/tanonfunc71.pp A tests/test/tanonfunc72.pp A tests/webtbs/tw40061.pp --- commit 5d7e3ca24005a3b76d307c879d76d05e99ae59b8 Author: Sven/Sarah Barth Date: Fri Dec 30 15:26:33 2022 +0100 * fix #40060: ensure that Self is not added for anonymous functions that are part of a static class method + added test M compiler/pdecsub.pas M compiler/procdefutil.pas A tests/webtbs/tw40060.pp --- commit 1d73dab2b0e61165ec2100a21dfd4071fffb2145 Author: Sven/Sarah Barth Date: Fri Dec 30 16:16:03 2022 +0100 * a callnode for an anonymous function can have its procdefinition fixed, thus avoid the need to check for overloads M compiler/pexpr.pas --- commit a6ddea87b7eb020c03692d383d9592dea2be0cef Author: Sven/Sarah Barth Date: Fri Dec 30 19:17:42 2022 +0100 * don't free the old, captured Self symbol as that does not belong to the anonymous function M compiler/ncnv.pas --- commit d410deb7ae8f405e9451bd10db24a65ec5f30a33 Author: Sven/Sarah Barth Date: Fri Dec 30 20:28:07 2022 +0100 * when assigning an anonymous function to a method pointer move the function to the normal function level to avoid potential problems when accessing other variables M compiler/ncnv.pas --- commit 4510945465e4e8cd483c64d316d1d43005ffb585 Author: Sven/Sarah Barth Date: Fri Dec 30 20:30:28 2022 +0100 * fix #40062: ensure that Self is only added to anonymous functions when dealing with method pointers + added test M compiler/ncnv.pas M compiler/pparautl.pas M compiler/symconst.pas A tests/webtbs/tw40062.pp --- commit d7d65fe0d7b62c61f4751b896eb6ab9271d03a0c Author: Sven/Sarah Barth Date: Fri Dec 30 21:50:50 2022 +0100 * fix typo in comment M compiler/symdef.pas --- commit 7affd789045f9bf2a141cb96c50c08cc484e0100 Author: florian Date: Fri Dec 30 21:52:24 2022 +0100 * do not throw an internal error on typed constants with wrong element count, resolves #40066 M compiler/ngtcon.pas A tests/webtbf/tw40066.pp --- commit 430bcac389c29a5ceca7759cfca69454aa31abf9 Author: Sven/Sarah Barth Date: Fri Dec 30 22:48:44 2022 +0100 * ensure that all hidden parameter symbols are removed when adding an anonymous function to a capturer (they'll be added again later on) M compiler/procdefutil.pas --- commit b6b2785b66023ad48242b2a7bc55e445ccd48238 Author: Sven/Sarah Barth Date: Fri Dec 30 22:50:04 2022 +0100 * also skip high parameters when pc_normal_no_hidden is given to tprocdef.getcopyas M compiler/symdef.pas --- commit e1288897f3639a08330dea060b23283d9e455558 Author: Sven/Sarah Barth Date: Fri Dec 30 22:51:24 2022 +0100 * fix #40031: with support for inline specializations it no longer makes sense to make the parameter symtable of a procedure variable type readonly as there *are* defs that are added to it + add adjusted test M compiler/ptype.pas A tests/webtbs/tw40031.pp --- commit 4b659175d9043c58f5fc78f3ef159a09167d45ca Author: Sven/Sarah Barth Date: Fri Dec 30 22:52:40 2022 +0100 - remove no longer required readonly functionality from tparasymtable M compiler/symtable.pas --- commit 32f8dc7ef5916443ececb9742d4ddf5ee8abeed6 Author: Jonas Maebe Date: Sat Dec 31 11:59:05 2022 +0100 symcreat: add hidden high parameters in create_procdef_alias No longer happens automatically for pc_bareproc procdef copies M compiler/symcreat.pas --- commit 0b6942de8ac5b69d48a07cca22539945cbe5d201 Author: Jonas Maebe Date: Sat Dec 31 12:45:55 2022 +0100 llvm:a fix opaque ptr IR for Objective-C protocol Also for interfacecom functions and properties. Fixes test/tobjc9 and test/tobjc9b with LLVM 15.0+ M compiler/llvm/llvmdef.pas --- commit baf950bf76b7becc2a13fdd4d2814a744ee9b52e Author: Tomas Hajny <9055380-xhajt03@users.noreply.gitlab.com> Date: Sat Dec 31 17:27:06 2022 +0100 * improved consistency as suggested in bug #40008 M compiler/msg/errore.msg --- commit 1bb4003984c399f8a9d881ec1d1a231d907c41b2 Author: Tomas Hajny <9055380-xhajt03@users.noreply.gitlab.com> Date: Sat Dec 31 17:31:31 2022 +0100 * messages regenerated after fixing #40008 M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 6c5f9537b36d95ea91686af22b34c2087634ec80 Author: florian Date: Sat Dec 31 18:27:27 2022 +0100 * avoid to generate bt [mem], reg, resolves #40039 M compiler/x86/nx86set.pas --- commit ee0ad3ff86723cc14eac57aa8f5f625976b557fb Author: Jonas Maebe Date: Sun Jan 1 12:06:31 2023 +0100 thlcgobj.g_undefined_ok: new method Specify that a register's contents may be undefined because of previous operations (e.g. shifting by more bits than the register has, whose result depends on the target architecture), but that the code generator will later on ensure that if this is the case, that result will be overwritten/ masked. M compiler/hlcgobj.pas --- commit ab581c5c301090d6c68c24437af404c0a5962990 Author: Jonas Maebe Date: Sun Jan 1 12:09:43 2023 +0100 LLVM: override thlcgobj.g_undefined_ok Uses the freeze instruction available in LLVM 10.0+. If we don't freeze undef/ poison values before using them in a calculation (even if that calculation is something like "and 0", which masks the result completely), the result will still be undef/poison and will keep propagating. M compiler/llvm/aasmllvm.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/itllvm.pas M compiler/llvm/llvmbase.pas M compiler/llvm/llvminfo.pas --- commit 29bae2297fa3cebc09fd9d18a823a683aa67daed Author: Jonas Maebe Date: Sun Jan 1 12:11:30 2023 +0100 tcginnode.pass_generate_code: use tlhcgobj.g_undefined_ok Also override the code that uses this for LLVM with a variant that does not need it for LLVM versions that do not support the freeze instruction. M compiler/llvm/nllvmset.pas M compiler/ncgset.pas --- commit f2d6b4d530b0e7f7429bbb1a7c6459f23ce36b24 Author: Karoly Balogh Date: Mon Jan 2 11:17:21 2023 +0100 m68k: added a helper function to check if a register is an FPU register M compiler/m68k/cpubase.pas --- commit cd8aa3f0e0716b44cf14ee24b4463f1c12b77de7 Author: Pierre Muller Date: Mon Jan 2 18:22:49 2023 +0000 Avoid generation of invalid 'cb(n)z sp,label' instruction M compiler/aarch64/aoptcpu.pas --- commit a641860fa84fb2686b1360723b13625f6ac1866e Author: Jonas Maebe Date: Tue Jan 3 21:17:58 2023 +0100 Implicit specialisation: use regular array parameters for array constructors Fixes compilation of test/timpfuncspez5 with LLVM and debug info, as the LLVM debug info writer internalerror's when you try to generate debug info for an array constructor (since those types should never appear as parameter/ variable types). Replace them with reusable regular array types, so that multiple invocations of the same generic function with array constructors of the same type and number of elements are collapsed into the same specialisation M compiler/pgenutil.pas --- commit 51fdbb5524512dc3279d0cca38d44b38160b8111 Author: Jonas Maebe Date: Tue Jan 3 21:42:55 2023 +0100 macOS: set max var/constalign to 64 For all non-ppc(64) targets. Fixes test/talignrec1. M compiler/systems/i_darwin.pas --- commit f364bb6b112e7765544195e4d16da1f5943f415d Author: Michael VAN CANNEYT Date: Wed Jan 4 14:41:51 2023 +0100 * Forbid use of string alias in system unit M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pbase.pas M compiler/pexpr.pas M compiler/ptype.pas M compiler/scanner.pas --- commit a74a35a16e236463207780120735d0501f922800 Author: Michael VAN CANNEYT Date: Thu Jan 5 09:44:12 2023 +0100 * Check that system unit is actually loaded before using it to search for system symbols (cherry picked from commit 9e5ee68887dcb8acf66caf873bc5cfc58fb25316) M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/symtable.pas --- commit cd6d048588584e4a641de16abc7b857eba961e32 Author: Michaël Van Canneyt Date: Thu Jan 5 10:06:21 2023 +0100 * Add is_systemunit_unicode function (cchartype suymbol) M compiler/defutil.pas M compiler/symdef.pas --- commit 9cfe6e97a0688bd6321e4a42603e0a6ed0cb3815 Author: Michaël Van Canneyt Date: Thu Jan 5 10:10:10 2023 +0100 * add uachar loading for unicode rtl M compiler/pmodules.pas A rtl/inc/uachar.pp --- commit 459dc68ab9a7ff969a121ab5e22e18efe41b9854 Author: Karoly Balogh Date: Thu Jan 5 13:31:53 2023 +0100 m68k: more boiler plate and refactor for a future internal assembler M compiler/m68k/aasmcpu.pas M compiler/m68k/cpubase.pas --- commit 00a5d30300e91ebe54ab99d4b64922d5e6e39850 Author: Jonas Maebe Date: Sat Jan 7 22:11:36 2023 +0100 LLVM: remove use of getelementptr in make_simple_ref_ptr We cannot safely infer whether it needs to be indirect or not there, it should be done at a higher level if appropriate. M compiler/llvm/hlcgllvm.pas --- commit 69761839c0c2094d9ae69ae2d0283eb06d761df6 Author: Karoly Balogh Date: Sun Jan 8 14:09:45 2023 +0100 m68k: removed the unused S_IQ opsize M compiler/m68k/ag68kgas.pas M compiler/m68k/cpubase.pas --- commit 0b45cd95f745a2cfc485062e1bdc171984d68568 Author: florian Date: Sun Jan 8 21:28:57 2023 +0100 + introduce long forms for $E, $F and $S, resolves #39889 M compiler/scandir.pas --- commit 3cea1706e9208fb739b0482519fe48420ca520ea Author: Karoly Balogh Date: Mon Jan 9 12:00:39 2023 +0100 m68k: more work on instruction validation for the internal assembler M compiler/m68k/aasmcpu.pas --- commit 4793447be120d6d3d9fa2e53d50b45b4b00ba2f5 Author: Pierre Muller Date: Tue Jan 10 23:53:31 2023 +0100 Add sign extension to 32-bit for unaligned OS_8 and OS_16 types (to try to solve #40102) M compiler/aarch64/cgcpu.pas --- commit aaa6f0d9c5ea729efccfb200f4ee0125cfa6c847 Author: Pierre Muller Date: Thu Jan 12 22:48:43 2023 +0100 Only signed extension is needed M compiler/aarch64/cgcpu.pas --- commit e77ec69de4f3db4d89f2e9287672d46cd35c949e Author: florian Date: Thu Jan 12 23:05:51 2023 +0100 * avoid internal error in case of an illegal generic declaration M compiler/pdecl.pas --- commit a9dca3268982c53b363346f2ccbc716b7d695183 Author: florian Date: Fri Jan 13 22:34:25 2023 +0100 * undid accidentely activated define M compiler/x86/aoptx86.pas --- commit 8b08486fa1ffa3f84aa6715bebe98895dd83a0ee Author: florian Date: Sun Jan 15 23:05:32 2023 +0100 * do not warn on lea e/rsp with negative address offset, part of #40113 + tests M compiler/rautils.pas M compiler/x86/rax86.pas A tests/webtbf/tw40113b.pp A tests/webtbs/tw40113a.pp --- commit 4e8ef448eda713f0b54d8ff02b2c195c6f66dccb Author: J. Gareth "Curious Kit" Moreton Date: Tue Jan 17 01:37:12 2023 +0000 * i386: Bug fix where EBP was marked as preserved when it wasn't, causing faulty optimisations M compiler/i386/cgcpu.pas M compiler/x86/aoptx86.pas --- commit 5598ffc210c387da7e4e166aea1c018bf6b3f185 Author: florian Date: Tue Jan 17 23:09:09 2023 +0100 * x86_64: warn only on negative offsets if rsp is involed, second part of #40113 + tests M compiler/x86/rax86.pas A tests/webtbf/tw40113c.pp A tests/webtbs/tw40113d.pp --- commit 55deefbab5a5f3f203587cfdb1f065251d3321f4 Author: florian Date: Wed Jan 18 23:03:28 2023 +0100 * do not crash on illegal with statement, resolves #40118 M compiler/pstatmnt.pas A tests/webtbf/tw40118.pp --- commit e54197e9d2b5c595cf77d884fec32f0639dafb8e Author: Jonas Maebe Date: Sat Jan 21 22:02:10 2023 +0100 Darwin: support -Xg for DWARFv4 M compiler/options.pas --- commit ec28b7586c4b74823555f196772743fe9bfa3dde Author: florian Date: Sun Jan 22 16:23:57 2023 +0100 + support procvar[] in tp/mac procvar mode if the procvar returns an array type M compiler/pexpr.pas A tests/tbs/tb0703.pp --- commit 789031a6e638a733e34cfda80ec8c355e2fdea63 Author: florian Date: Sun Jan 22 20:07:40 2023 +0100 * compile float*2 as float+float if possible as proposed by Rika, resolves #40116 M compiler/nadd.pas --- commit 821c22a38f8c172e3a6eca20e28027d86f854876 Author: Jonas Maebe Date: Mon Jan 23 22:44:25 2023 +0100 LLVM: workaround to fix make all M compiler/llvm/hlcgllvm.pas --- commit 8ef0f590250b9d1f374dfee8409827fcb3020d4d Author: florian Date: Tue Jan 24 22:36:26 2023 +0100 * mark constant symbols used in preprocessor expressions as used, resolves #40108 M compiler/scanner.pas A tests/webtbs/tw40108.pp --- commit dfb8794d4d2cad05b61dc07402610bde5febf506 Author: florian Date: Wed Jan 25 20:44:34 2023 +0100 * compilation after merge fixed M compiler/aarch64/cgcpu.pas --- commit ea417fbaaf750b7e1fdf1dd1150416785501e270 Author: Sven/Sarah Barth Date: Thu Jan 26 07:05:34 2023 +0100 + add utility function to retrieve the char type def from a stringlike def M compiler/defutil.pas --- commit e8fcc5343beea4180e7e1f83bef6e27e19dde242 Author: Sven/Sarah Barth Date: Thu Jan 26 07:06:11 2023 +0100 * use new chartype_for_stringlike function to retrieve the char type for a stringlike def instead of casting to a stringdef M compiler/pgenutil.pas --- commit fb9c7183716e375d2c35ef7ffe4e6d1400d62993 Author: Michaël Van Canneyt Date: Thu Jan 26 11:31:29 2023 +0100 * get_stringconst should handle widestring correctly: library & import names are unicodestring constants in unicode rtl M compiler/pexpr.pas --- commit ed50a1941b9ecaa3269d4744fcc00f62261ca218 Author: Michael VAN CANNEYT Date: Fri Jan 27 18:52:57 2023 +0100 * Unicode resource strings M compiler/cresstr.pas M compiler/pdecl.pas M compiler/pexpr.pas M compiler/ppcx64.lpi M packages/fcl-base/src/gettext.pp M rtl/inc/objpash.inc M rtl/objpas/objpas.pp M rtl/objpas/sysutils/sysutilh.inc M rtl/objpas/sysutils/sysutils.inc --- commit 3e75ba52f32d1e826b9dce0c406f22628a1ebf0d Author: florian Date: Fri Jan 27 22:38:53 2023 +0100 * initial preparations for riscv32-freertos M compiler/systems.inc M packages/fpmkunit/src/fpmkunit.pp M utils/fpcm/fpcmmain.pp --- commit 048385fd7f3ff8573ef72b00fbd02c20c21e0710 Author: florian Date: Sat Jan 28 11:42:52 2023 +0100 * compilation fixed M compiler/utils/ppuutils/ppudump.pp M utils/fpcm/revision.inc --- commit bedd4edc727d8f31b9eef0a40403b811656f5c04 Author: florian Date: Sat Jan 28 21:28:19 2023 +0100 + first work for esp32-c3 support M compiler/riscv/agrvgas.pas M compiler/riscv32/cpuinfo.pas M compiler/riscv32/cputarg.pas M compiler/systems/i_freertos.pas M compiler/systems/t_freertos.pas --- commit 09b435cdab4e310bb7d0f4d6e4aa0fad3e916ad2 Author: florian Date: Sun Jan 29 13:49:33 2023 +0100 * transform a/a only into 1 if fastmath is on M compiler/nadd.pas A tests/tbs/tb0704.pp A tests/tbs/tb0705.pp --- commit e9ec4a8bb3c08c399fc5f674e07e9876b5f9411c Author: florian Date: Sun Jan 29 19:30:11 2023 +0100 * more riscv32-freertos-esp32c3 stuff added M compiler/globals.pas M compiler/options.pas M compiler/riscv32/cpuinfo.pas M compiler/systems/t_freertos.pas M rtl/freertos/Makefile M rtl/freertos/Makefile.fpc A rtl/freertos/riscv32/esp32c3.pp A rtl/freertos/riscv32/esp32c3idf_50000.pp --- commit c577ac5ce9329a112fbc31e3360092f445752615 Author: Karoly Balogh Date: Mon Jan 30 09:50:35 2023 +0100 m68k: add tables to convert from some stub opcodes + condition into real opcodes. Use them in the external assembler writer for now. Later the internal assembler will need these tables too. M compiler/m68k/ag68kgas.pas M compiler/m68k/cpubase.pas --- commit 6bbb10e64d1f3c5e613e9242b3598c30d41888cc Author: Karoly Balogh Date: Mon Jan 30 09:53:02 2023 +0100 m68k: do not generate LEA instructions with explicitly specified size. only long is possible anyway. M compiler/m68k/aoptcpu.pas M compiler/m68k/cgcpu.pas --- commit 70b0cb99d435314ec92cbf65749bd899e5d4bd48 Author: Michael VAN CANNEYT Date: Mon Jan 30 15:02:49 2023 +0100 * SetString needs correctly typed argument M compiler/ldscript.pas M compiler/ogmap.pas --- commit 22243058345dc952492a1846fb13c2f7357616c8 Author: J. Gareth "Curious Kit" Moreton Date: Thu Feb 2 07:15:46 2023 +0000 * x86: Fixed bad register tracking in OptPass2JMP M compiler/x86/aoptx86.pas --- commit 18eec3055e0b05bad8583a87dcd70da07c9fef40 Author: J. Gareth "Curious Kit" Moreton Date: Thu Feb 2 08:01:10 2023 +0000 * x86: More accurate register tracking in CheckJumpMovTransferOpt M compiler/x86/aoptx86.pas --- commit 3cae3e7e4861aefea93bf7598444b5a292b141b1 Author: J. Gareth "Curious Kit" Moreton Date: Thu Feb 2 08:37:18 2023 +0000 * x86: Registers are now allocated properly during a FuncMov2Func optimisation M compiler/x86/aoptx86.pas --- commit 33dfb6cb4e38fbb9f960c900f3c57a8aa7faffc0 Author: J. Gareth "Curious Kit" Moreton Date: Thu Feb 2 15:47:35 2023 +0000 * x86: Converted bit-test optimisations to use debug_hexstr so comments aren't truncated (and put $ before BTx values) M compiler/x86/aoptx86.pas --- commit ae47cc2c88688f9daaeec061d870db8f88bedd52 Author: J. Gareth "Curious Kit" Moreton Date: Thu Feb 2 15:48:14 2023 +0000 * x86: New debug_hexstr instruction to help produce concise debug comments M compiler/x86/aoptx86.pas --- commit 64feb6a5cd3bda525fc0dedccd8d7900abe88fe9 Author: Michael VAN CANNEYT Date: Fri Feb 3 17:28:28 2023 +0100 * $NAMESPACES directive M compiler/fmodule.pas M compiler/fppu.pas M compiler/globals.pas M compiler/pmodules.pas M compiler/scandir.pas --- commit 7f41bb4718f238a86ab07aeef677d27c16a43c5a Author: Jonas Maebe Date: Sat Feb 4 12:23:29 2023 +0100 JVM: add typesym for anonymous record typed constants Fixes compilation of system unit with JVM compiler after b38d13577f943 M compiler/pdecl.pas M compiler/pdecvar.pas M compiler/symutil.pas --- commit 9c10167b6fd114d4996debe4ce117b3df3d38a53 Author: florian Date: Sat Feb 4 19:19:53 2023 +0100 + CPUX86_HAS_BSWAP M compiler/i386/cpuinfo.pas M compiler/i8086/cpuinfo.pas M compiler/x86_64/cpuinfo.pas --- commit 6e84ee580668f9df9fe5cd9219fb2f1858fe5d98 Author: florian Date: Mon Feb 6 22:26:02 2023 +0100 * patch by Jinyang He to fix building loongarch64 with -Oodfa/-O4 M compiler/loongarch64/cgcpu.pas M compiler/loongarch64/cpupara.pas M compiler/loongarch64/racpugas.pas --- commit f79448a9ffff84ffeb2242e7ec442477ad6a022c Author: florian Date: Tue Feb 7 22:59:33 2023 +0100 * target cpu type fixed M compiler/systems/i_freertos.pas --- commit 7e3bdd501c189f7446bf34600add137a2be25cbe Author: florian Date: Wed Feb 8 21:33:21 2023 +0100 * enable to check the existing of environment variables in config files M compiler/options.pas --- commit 87ec3d6fad48ec2179019ba0789c8616ecb47e5c Author: florian Date: Wed Feb 8 22:26:58 2023 +0100 + completed identifiers for RiscV ABIs M compiler/systems.inc M compiler/systems.pas M compiler/systems/i_freertos.pas --- commit 71e0c12c88dea98b02812f8b9c6b15b766486332 Author: florian Date: Wed Feb 8 22:38:17 2023 +0100 * set fpu type correctly for riscv32-freertos M compiler/options.pas --- commit 0e05e908d54113f40a6d4ce0870e2fb9f87a5d6f Author: florian Date: Thu Feb 9 21:29:06 2023 +0100 riscv32-freertos: * unit name fixed * linker script fixed * assembler supports dwarf M compiler/riscv/agrvgas.pas M compiler/systems/t_freertos.pas M rtl/freertos/riscv32/esp32c3.pp --- commit f1f84a292c9478a02bb2ea40b4c368fa15047e21 Author: florian Date: Fri Feb 10 21:28:39 2023 +0100 * don't not generate non-constant leb128 entriesm for riscv32-freertos M compiler/dbgdwarf.pas --- commit c7a0c0bbb4984f935eec3b933c1a00db7b511052 Author: florian Date: Sat Feb 11 20:42:31 2023 +0100 * set FPU type properly for riscv32-freertos M compiler/options.pas --- commit 67864b662a9ab677d2653500daed0b40a49b28ac Author: florian Date: Sat Feb 11 20:49:52 2023 +0100 * fix systems_freertos M compiler/systems.pas --- commit d3ccd10674a7c3d3e4aab9025f98d7f71299b5cc Author: florian Date: Sat Feb 11 21:06:40 2023 +0100 * call esptool.py properly on Darwin M compiler/systems/t_freertos.pas --- commit d06852e6e9b50422f9a7173119f7d64d1755011e Author: florian Date: Sat Feb 11 21:07:01 2023 +0100 + exec_e_cant_call_linker shows now the error message M compiler/link.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit def475f889d886c05f8de0b3c85b4e6ae4f58e35 Author: florian Date: Sat Feb 11 21:21:21 2023 +0100 * arm compilation fixed M compiler/systems/t_freertos.pas --- commit 63199a096610f3d7b1d1dc07d1715357dccf11b1 Author: florian Date: Sun Feb 12 20:55:38 2023 +0100 * memory sizes updated M compiler/riscv32/cpuinfo.pas --- commit c8b2a36bb1671e6347fe7ecb7312856321b608ea Author: Pierre Muller Date: Mon Feb 13 13:01:21 2023 +0000 Add support for -Ploongarch64 option M compiler/utils/fpc.pp --- commit b8933dd267c554ca4f5441f23f14a822ea6ecde7 Author: J. Gareth "Curious Kit" Moreton Date: Mon Feb 13 15:49:58 2023 +0000 * x86: Some refactoring to use aoc_ForceNewIteration instead of manually advancing p M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit b49c3fe4f8e3396aec1469fa072cd105a5db2965 Author: Pierre Muller Date: Mon Feb 13 15:50:04 2023 +0100 Aslo check that live_end is assigned before refering to it M compiler/rgobj.pas --- commit 3f25438d35d772669aa2ada696c23d51f14c004a Author: J. Gareth "Curious Kit" Moreton Date: Tue Feb 14 15:07:48 2023 +0000 * x86: TEST/Jcc/TEST optimisations can now look beyond the next instruction under -O3 M compiler/x86/aoptx86.pas --- commit 4d676cd6fa2995248eb969a7861168c20a78c175 Author: J. Gareth "Curious Kit" Moreton Date: Wed Feb 15 20:44:13 2023 +0000 * x86: JccMovJmpMov2CMovCMov will no longer move MOV instructions (fixes i40122) M compiler/x86/aoptx86.pas --- commit 811c68377596fdebf8bfcee8e8ce773df42593f7 Author: florian Date: Wed Feb 15 22:14:35 2023 +0100 * set rangedef of dyn. arrays correctly, resolves #40149 M compiler/ptype.pas A tests/webtbs/tw40149.pp --- commit dd7320ec137055b4d1992b5a0b65d4068a86d1c5 Author: J. Gareth "Curious Kit" Moreton Date: Thu Feb 16 10:49:17 2023 +0000 * x86: PostPeepholeOptCmp and PostPeepholeOptTestOr now do a final attempt of TrySwapMovCmp to clean up Pass 2 optimisations M compiler/x86/aoptx86.pas --- commit ece59f25341cc47a1f3c38919844ca5b0904af2e Author: florian Date: Thu Feb 16 23:01:40 2023 +0100 * also count the use of enum syms in preprocessor expressions correctly M compiler/scanner.pas --- commit 22f1289b2a1a04c81e9421ed2a1d36216f0fb73e Author: florian Date: Fri Feb 17 23:02:02 2023 +0100 * post/pre inc/decrement references modify obviously the base register on avr, resolves #40153 M compiler/avr/aoptcpub.pas --- commit a221f2af79ac6f13b4b74cab79037bda1430327a Author: florian Date: Sat Feb 18 11:14:34 2023 +0100 * completed post/pre inc/decrement addressing mode instructions in TAoptBaseCpu.RegModifiedByInstruction M compiler/avr/aoptcpub.pas --- commit 8f7e61eef68f532103387b9d88d23dfdaaeb3cad Author: florian Date: Sun Feb 19 20:19:20 2023 +0100 * patch by ccrause: do not load .fpc* sections into avr microcontroller to save space, resolves #40160 M compiler/systems/t_embed.pas --- commit 586a7d30abb173acab88226edeb9a2c4549caeda Author: florian Date: Mon Feb 20 22:48:15 2023 +0100 * patch by ccrause: fixes another .fpc* section problem for AVR, resolves #40162 M compiler/systems/t_embed.pas --- commit 3635f7cd6fa703a23ff6b93b5264b527b1846c81 Author: J. Gareth "Curious Kit" Moreton Date: Wed Feb 22 07:02:58 2023 +0000 * x86: Fixed oversight in RegModifiedByInstruction not checking W0, W1 and WU-type flags M compiler/x86/aoptx86.pas --- commit 95e5eeb2262ed56d2c617ac5e45a626b7a4bb3a3 Author: florian Date: Fri Feb 24 20:39:13 2023 +0100 * fix compilation with -dEXTDEBUG M compiler/pass_1.pas --- commit 3882066f235ad7d31ae6f90780c4b6fd6c7bb9ff Author: J. Gareth "Curious Kit" Moreton Date: Sun Feb 26 01:56:41 2023 +0000 * Speed optimisations for peephole register tracking functions M compiler/aoptobj.pas --- commit 40f23030dc4600301936f826949704112feb440f Author: florian Date: Wed Mar 1 23:01:19 2023 +0100 * check if a linker with the postfix .bfd exists, if yes, use it, resolves #40175 M compiler/systems/t_android.pas M compiler/systems/t_linux.pas --- commit 708aaa7b97f598f0c378578e491a6e16f5a4bda7 Author: florian Date: Thu Mar 2 22:56:23 2023 +0100 * fix (hopefully) build without an ld.bfd variant M compiler/link.pas M compiler/systems/t_android.pas M compiler/systems/t_linux.pas --- commit ecf2ad3e53c1ca9ce9486ba1adbd82c117a8473d Author: J. Gareth "Curious Kit" Moreton Date: Fri Mar 3 12:38:04 2023 +0000 x86: Some oversights fixed where another iteration of pass 1 wasn't performed when it should have been M compiler/x86/aoptx86.pas --- commit ccbdfa91505dfde79e981b12030205933e1b20b4 Author: florian Date: Sat Mar 4 21:19:45 2023 +0100 + x86: AND/CMP -> CMP optimiziation M compiler/x86/aoptx86.pas --- commit bf8746ed101c4603ea005db72ef9743ee8cf3a11 Author: florian Date: Sun Mar 5 21:24:50 2023 +0100 * fixed comment * shortened code M compiler/x86/aoptx86.pas --- commit d7d4b446c147aa5bbbf485b4665ec9309b14fee2 Author: J. Gareth "Curious Kit" Moreton Date: Mon Mar 6 11:50:12 2023 +0000 * FindRegAllocBackward will now return nil if it hits a dealloc for the register first M compiler/aoptobj.pas --- commit a9cc89ff46ec68f37a1a0ffcf636d7a9a4cfba99 Author: Michaël Van Canneyt Date: Mon Mar 6 18:43:53 2023 +0100 * Allow hidden units to be found when replaying generic M compiler/pgenutil.pas --- commit 9e228ff35571d28049571bd55f265993f62a0c57 Author: Michaël Van Canneyt Date: Mon Mar 6 18:44:45 2023 +0100 * Allow System.Variants (Delphi-compatible name) to be found when inserting variants unit M compiler/pmodules.pas --- commit 5adde504a973b765c68268a8f9a9910e13851b30 Author: Michael VAN CANNEYT Date: Mon Mar 6 18:45:27 2023 +0100 * Do not crash when module pointer is nil (cherry picked from commit e6f71b6accd4949b8dec86fdd93d27e0c109732b) M compiler/symtable.pas --- commit 99b01f66343d9d28c1231953d186a4e5f34b3210 Author: florian Date: Mon Mar 6 23:19:34 2023 +0100 * second mul might get called with a zero operand if the other has a side effect, handle this correctly in ti386addnode.second_mul64bit, resolves #40182 M compiler/i386/n386add.pas A tests/webtbs/tw40182.pp --- commit 66ff7a928c665e8524160da6004bbd98e0889e0b Author: florian Date: Wed Mar 8 22:54:17 2023 +0100 + added debug messages M compiler/x86/aoptx86.pas --- commit 30cb20bccd1e2ad966d107c43da4e799463d0bf1 Author: florian Date: Tue Mar 14 22:21:40 2023 +0100 + riscv32-freertos: first version of TlinkerFreeRTOS.GenerateDefaultLinkerScripts M compiler/systems/t_freertos.pas --- commit 2b0317f400596561c986147c61c9ed7248c4a7e9 Author: florian Date: Tue Mar 14 23:10:32 2023 +0100 * compilation fixed with -Oodfa M compiler/systems/t_freertos.pas --- commit 7909f00c834b31579aa4a9cb50c5cd719c379732 Author: florian Date: Wed Mar 15 23:01:44 2023 +0100 * project files updated M compiler/ppcaarch64.lpi M compiler/ppcarm.lpi M compiler/ppcavr.lpi M compiler/ppcjvm.lpi M compiler/ppcmips.lpi M compiler/ppcmips64el.lpi M compiler/ppcmipsel.lpi M compiler/ppcppc.lpi M compiler/ppcppc64.lpi M compiler/ppcppc64le.lpi M compiler/ppcriscv32.lpi M compiler/ppcriscv64.lpi M compiler/ppcsparc.lpi M compiler/ppcsparc64.lpi M compiler/ppcx64.lpi M compiler/ppcx64llvm.lpi M compiler/ppcxtensa.lpi M compiler/ppcz80.lpi --- commit c1ecfc323ae3c259aa3c085dc7bdb2abb5b0f3e7 Author: Sven/Sarah Barth Date: Wed Mar 15 23:35:30 2023 +0100 * ensure that a procvar (especially a "REFERENCE TO") begins either with FUNCTION or PROCEDURE + added test M compiler/ptype.pas A tests/tbf/tb0297.pp --- commit 64319dc019b03af26fff3b35bb3cb2853e540909 Author: florian Date: Fri Mar 17 22:30:36 2023 +0100 * PopCount takes care only of the bit pattern, so take the uvalue to avoid an internal error, resolves #40190 M compiler/nadd.pas A tests/webtbs/tw40190.pp --- commit 0e46041717a2d5fd81d4a5881c50a2fcce8aad3e Author: Jonas Maebe Date: Sat Mar 18 15:07:24 2023 +0100 WPO: also consider NewInstance to detect class instancing Resolves #40200 M compiler/ncal.pas M compiler/psub.pas A tests/webtbs/tw40200.pp --- commit 839849085b397690e4337e22fa6f51ef1bd88b5b Author: Jonas Maebe Date: Sat Mar 18 23:13:03 2023 +0100 LLVM: don't use type names in ctor/dtor arrays Workaround for https://github.com/llvm/llvm-project/issues/56809 M compiler/llvm/llvmdef.pas M compiler/llvm/nllvmutil.pas M compiler/symconst.pas M compiler/utils/ppuutils/ppudump.pp --- commit e41bfa04951efd43e7b89c16594e994702d33f5a Author: Jonas Maebe Date: Sat Mar 18 23:13:58 2023 +0100 LLVM: LLVM 16 support No changes compared to LLVM 15 that affect us M compiler/llvm/llvminfo.pas --- commit 0ea0b69a30d32333ffa6d336bb3c0ef7aebf8f5a Author: Jonas Maebe Date: Sat Mar 18 23:14:25 2023 +0100 LLVM: cleaned up some comments M compiler/llvm/llvminfo.pas --- commit 0d3ec87492b9d2918608839746c34836ba19d3c0 Author: florian Date: Sun Mar 19 21:19:10 2023 +0100 * also initalize default helper variables of initialization sections, resolves #40183 M compiler/psub.pas A tests/webtbs/tw40183.pp A tests/webtbs/uw40183.pp --- commit 488c389b9b8e6bff675fd486d601efe17f3b52d4 Author: florian Date: Mon Mar 20 23:15:51 2023 +0100 + support FILEEXISTS(...) in preprocessor expressions, resolves #39527 + tests * tscannerfile.readpreproc sets preproc_pattern correctly for quoted strings M compiler/scanner.pas A tests/test/tfileexists1.pp A tests/test/tfileexists2.pp A tests/test/tfileexists3.pp --- commit 4848327300b0580f23eed91842ea767e0cc60227 Author: florian Date: Wed Mar 22 21:14:22 2023 +0100 * write types declared in the interface section with a DW_AT_external tag, should resolve #40210 M compiler/dbgdwarf.pas --- commit 8cd10d88cc81868bce6f03f481b0bc83946d6ace Author: florian Date: Thu Mar 23 22:44:00 2023 +0100 * revert use of DW_AT_external for types as this is not covered by the dwarf standard M compiler/dbgdwarf.pas --- commit 12bde4e9030c2c366b1cfcb62bf163ef77a24632 Author: Jonas Maebe Date: Fri Mar 24 21:03:32 2023 +0100 WPO: fix dead code detection, and handle procvars Extend dead code detection to not only look for the main mangled name, but also for any aliases before deciding that a routine has been dead-stripped. Assume objects/classes can also be constructed if the address of one of their constructors or of the TObject.NewInstance class method has been taken. Resolves #40204 M compiler/ncal.pas M compiler/ngtcon.pas M compiler/nld.pas M compiler/nmem.pas M compiler/symdef.pas M compiler/wpobase.pas A tests/webtbs/tw40204.pp --- commit 3ad8b4199c6293ef911ceb53ade968eb336c3478 Author: florian Date: Fri Mar 24 22:49:51 2023 +0100 * patch by Rika: Shorten cutils.compareansistrings, resolves #40213 M compiler/cutils.pas --- commit 466561f09fdccac4c599aaa1a337153773f3c99c Author: florian Date: Sat Mar 25 21:32:29 2023 +0100 * patch by Rika: Use Index* for pointer lists, resolves #40218 M compiler/cclasses.pas M compiler/optutils.pas M rtl/objpas/classes/lists.inc M rtl/objpas/fgl.pp --- commit b797bbf5dc08ecf002c05c73ec1aec4adfd7195d Author: florian Date: Sun Mar 26 15:55:37 2023 +0200 * spelling fixed M compiler/dbgdwarfconst.pas --- commit 6663d5ca63d7ef3498c936bc35a749ccf66a2384 Author: florian Date: Thu Mar 30 21:36:10 2023 +0200 * do not replace index registers with esp/rsp, resolves #40223 M compiler/x86/aoptx86.pas A tests/webtbs/tw40223.pp --- commit 644ffa8e7ae3740c4997ac235a6675002eec4911 Author: Pierre Muller Date: Thu Mar 30 22:07:37 2023 +0000 Do not always set DEBUG_AOPTCPU M compiler/x86/aoptx86.pas --- commit e40f997a40868536d6f49024e07f928052c4da23 Author: florian Date: Fri Mar 31 23:45:30 2023 +0200 * another patch to fix #40223 M compiler/x86/aoptx86.pas M tests/webtbs/tw40223.pp --- commit e82c98bfce885e79fd7f9f10cd8d6c060bb1f90d Author: Nikolay Nikolov Date: Sat Apr 1 03:20:53 2023 +0300 * wasm32: generate module info by traversing through current_module and its used_units list recursively. This should fix #40229 M compiler/wasm32/nwasmutil.pas --- commit 4143912b7287ad135e56b079a426b25277a22836 Author: Nikolay Nikolov Date: Sat Apr 1 17:17:42 2023 +0300 * use a TFPList, instead of a dynamic array in twasmnodeutils.InsertObjectInfo. No functional changes. M compiler/wasm32/nwasmutil.pas --- commit 8f3cce556d7c3e3acd3205eb747ed58a5f9236e3 Author: florian Date: Sat Apr 1 22:34:08 2023 +0200 * some error messages use nicer symbol names M compiler/ncal.pas M compiler/symdef.pas M compiler/symtype.pas --- commit 3855625b8da2d403825b5fb27a55ad65fd7cfa88 Author: Pierre Muller Date: Tue Apr 4 04:59:23 2023 -0500 Add tf_use_psabieh for LLVM for x86_64-iphonesim, aarch64-ios and aarch64-iphonesim targets M compiler/systems/i_darwin.pas --- commit a807144ead497385572b4af461f240422a517ef8 Author: florian Date: Tue Apr 4 23:21:14 2023 +0200 * patch by Rika: Fix and possible simplification of SanitiseXMLString, part of #39800 M compiler/verbose.pas --- commit 2a4ca98e852939dc2337b66e0c88b9ddab682e8d Author: Pierre Muller Date: Thu Apr 6 14:40:15 2023 +0000 Use systems_darwin set for supported targets for as_clang_llvm_darwin M compiler/llvm/agllvm.pas --- commit 652f21b656cf37ad7cd5c627cf9fece13a86ab8f Author: ccrause Date: Tue Apr 11 22:24:31 2023 +0200 RP2040 support based on modification by Michael Ring (https://github.com/michael-ring/freepascal). M compiler/arm/cpuinfo.pas M compiler/systems/t_embed.pas M rtl/embedded/Makefile M rtl/embedded/Makefile.fpc A rtl/embedded/arm/cortexm0p_start.inc A rtl/embedded/arm/rp2040.pp --- commit 4750840e89293d286db914f853154f2dcbb10b96 Author: Pierre Muller Date: Wed Apr 12 21:51:53 2023 +0000 Specify endianess and abi when calling xtensa linker M compiler/systems/t_embed.pas M compiler/systems/t_freertos.pas M compiler/systems/t_linux.pas --- commit 665670ae015eeb151e39336214cf7c15746b0608 Author: Pierre Muller Date: Thu Apr 13 13:03:48 2023 +0000 Add -EB or -EL paramter to xtensa assembler call (Warning: this requires a patched 2.40 release\!) M compiler/xtensa/agcpugas.pas --- commit e40996cd2c1a0719f324c68ab31cf7048761ac26 Author: J. Gareth "Curious Kit" Moreton Date: Sun Apr 30 04:34:05 2023 +0100 * Fixed bug in "JccMovJmpMov2CMovCMov" optimisation where it didn't track registers in references getting changed M compiler/x86/aoptx86.pas --- commit 144ee6d51d302376a19099ba98af595c143b80d6 Author: Pierre Muller Date: Sun Apr 30 21:23:06 2023 +0200 Add missing swaping in case of different endianess of stab entry inside TInternalAssembler.WriteStab M compiler/assemble.pas M compiler/ogbase.pas --- commit bb407aa135c73da8da59dd9a8122016625b08ef0 Author: Pierre Muller Date: Tue May 2 00:15:28 2023 +0200 Fix for tentryfile.getreal with FPC_SOFT_FPUX80, putreal still needs the same change M compiler/entfile.pas --- commit 289fdc72c5e692069d120e45031bee68b3ca3f20 Author: ccrause Date: Thu May 4 22:25:01 2023 +0200 [AVR] Include bootloader starting address and max size where relevant. M compiler/avr/cpuinfo.pas --- commit f720ea3a21cf0d65cd4289b9037f72790252c608 Author: Pierre Muller Date: Thu May 4 22:54:47 2023 +0200 Restrict previous change to compilers that do not have 10-byte extended type M compiler/entfile.pas --- commit b53034705fda8db007d80a2a866a8e60b4ab3aac Author: Pierre Muller Date: Sat May 6 10:03:26 2023 +0200 Use GetExceptionMask/SetExceptionMask to avoid floating point exception inside FPC_SOFT_FFPUX80 code M compiler/entfile.pas --- commit be54d40660a006800d6e55c8cf5f0cc5d48aa84b Author: ccrause Date: Mon May 8 22:01:41 2023 +0200 Also add boot information to board aliases. M compiler/avr/cpuinfo.pas --- commit 24acfb806428a1f6d2136210070022dc20fce15d Author: Pierre Muller Date: Wed May 10 07:38:28 2023 +0100 * Use correct sizeof to check if entry size is large enough M compiler/entfile.pas --- commit 60cff917ba595ec388dddd080296b4dd10ad2c42 Author: Pierre Muller Date: Wed May 10 11:02:55 2023 +0100 Only modify softfloat_exception_mask, as this is not handled equally for all CPUs with GetEXceptionMask/SetExceptionMask M compiler/entfile.pas --- commit 513ba3c733a23a945c002f5d5b673bcffa06e095 Author: Pierre Muller Date: Wed May 10 17:52:41 2023 +0200 Add -Aas-clang for i386/x86_64 unix targets M compiler/x86/agx86att.pas --- commit 7c64bce04eed17eb0b594a970e38c56d79bae60b Author: Pierre Muller Date: Thu May 11 16:21:05 2023 +0000 Set defdynlinker depending on selected ABI for riscv32 and riscv64 M compiler/systems/t_linux.pas --- commit 094345871385d9deb3a9138f4aaa287c1f5600cb Author: J. Gareth "Curious Kit" Moreton Date: Thu May 11 19:13:11 2023 +0100 * More efficient if-statement construction in tmoddivnode.simplify M compiler/nmat.pas --- commit 46fa168d43ecd2f07bb101ba322d64d22e30d237 Author: J. Gareth "Curious Kit" Moreton Date: Mon May 15 09:29:06 2023 +0100 * Code that checks for divisions against -1 is now not inserted if it's not necessary (e.g. no downsizing) M compiler/ncnv.pas --- commit 219fedfea6ee033ec68d4cd19447595c531e9d61 Author: Pierre Muller Date: Mon May 15 19:51:11 2023 +0200 Restore start section at end of assembler block inside z80 asm reader M compiler/z80/raz80asm.pas --- commit 27476a915b81f5fce5486831db41a0cc3e669ad5 Author: Michael VAN CANNEYT Date: Fri May 19 11:18:19 2023 +0200 * Refactor processorname -> suffix name for clarity of flow M compiler/utils/fpc.pp --- commit 5d104c9115301beba82a7918ae61903cbd6f94ff Author: Michael VAN CANNEYT Date: Fri May 19 11:19:47 2023 +0200 Refactor initialization of binary and processor name for clarity of flow M compiler/utils/fpc.pp --- commit 647f211aa5622ea9ff21c354cad5d0eff46fc499 Author: Michael VAN CANNEYT Date: Fri May 19 11:22:28 2023 +0200 Refactor check for -PB and -PP for clarity of flow M compiler/utils/fpc.pp --- commit a52b3522dc88a5d35c5084523ea5260a1dc737bb Author: Michael VAN CANNEYT Date: Fri May 19 11:28:06 2023 +0200 * Refactor: Rename some variables for clarity M compiler/utils/fpc.pp --- commit c6effbd676cb27a2b733c3c0d6b467ae6c17f6f5 Author: Michael VAN CANNEYT Date: Fri May 19 11:30:11 2023 +0200 * Refactor: add utility routine to handle command-line changes M compiler/utils/fpc.pp --- commit a3f441b590804111ee5f5912eb78622fb1de0fff Author: Michael VAN CANNEYT Date: Fri May 19 13:52:38 2023 +0200 * loongarch64 architecture reinstated M compiler/utils/fpc.pp --- commit c38cc828e8885d50ee2d71b235c403ee98bd1591 Author: Pierre Muller Date: Fri May 19 17:19:59 2023 +0200 Add new test code to verify that tentfile.buf limits are not overpassed M compiler/entfile.pas M compiler/scanner.pas --- commit c6d936dc25f443c76983068bf0718b9bf8cc2f81 Author: Pierre Muller Date: Sat May 20 21:34:21 2023 +0000 Use clang instead of as for AsBinStr for aarch64-win64 target M compiler/systems/t_win.pas --- commit 8ae016fb85a071be24cf1b9de24dbf9cda432df4 Author: florian Date: Sun May 21 15:38:21 2023 +0200 * clearified message is mentioned in documentation issue 39349 M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc --- commit c1e2f557f124dd6d00ac869446da0e9ad2ff74c9 Author: Pierre Muller Date: Thu May 25 09:58:42 2023 +0000 Add '-b pei_aarch64' option for aarch64-win64 system M compiler/systems/t_win.pas --- commit 5a123d33bab953b780933a6c310fc6217ff3e92a Author: Pierre Muller Date: Thu May 25 13:30:29 2023 +0000 Add -Awin64-as option for aarch64 compiler for win64 target M compiler/aarch64/agcpugas.pas M compiler/systems.inc --- commit d24548f8d8a26e19cd306b2f58ea5f2a62b6ae8c Author: Pierre Muller Date: Thu May 25 21:47:27 2023 +0000 Disable -EB/-EL passing for freertos OS as the corresponding released binutils do not support this option M compiler/xtensa/agcpugas.pas --- commit 484c178c1591359fbeef7cd3d9ae2092dbd89a9d Author: Pierre Muller Date: Fri May 26 11:32:16 2023 +0000 Add new make variable BETATARGETS, for CPU targets in beta stage, to include it into distclean list M compiler/Makefile M compiler/Makefile.fpc --- commit 071ae41d2485ae3200aadc10757c741f71148acd Author: Pierre Muller Date: Fri May 26 15:24:39 2023 +0000 Try to fix linker script for aarch64-win64 M compiler/systems/t_win.pas --- commit 3bb2586269c876856a834fb0d72a09928ff9d16b Author: Pierre Muller Date: Fri May 26 17:09:47 2023 +0200 Fix for sparc64 specific code generation bug report #40252 M compiler/sparc64/cpupara.pas A tests/webtbs/tw40252.pp --- commit 0515be62b4f9e3b7b9b82c90128489afecb6767a Author: Michaël Van Canneyt Date: Fri May 26 22:41:30 2023 +0200 * Add option to allow emitting comments in RTTI info M compiler/globtype.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas M compiler/utils/ppuutils/ppudump.pp --- commit 8696ca652d6f9686f26fa4627b070fe1da589077 Author: Michaël Van Canneyt Date: Fri May 26 22:45:06 2023 +0200 * Emit comments in RTTI info for classes/interfaces M compiler/aasmcnst.pas M compiler/ncgrtti.pas --- commit bc72021039c8b01e5a76ebbaf5a2285787c6e7e1 Author: Ryan Joseph Date: Tue May 30 15:22:37 2023 +0200 * Define RTTI directive parameters M compiler/globtype.pas --- commit a31f37b5e560433aea4eed2162d2dd19c35d7549 Author: Ryan Joseph Date: Tue May 30 15:29:16 2023 +0200 + Implement support for parsing sets in preprocessor directives M compiler/scanner.pas --- commit ecfff40f960ff65a27ea4cc6f72e21dc9e36b651 Author: Ryan Joseph Date: Tue May 30 15:29:16 2023 +0200 * Implement parsing of RTTI directive M compiler/fmodule.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/scandir.pas --- commit fefa163a354885c289f9672673cd65dee2960df6 Author: Ryan Joseph Date: Tue May 30 15:33:18 2023 +0200 * Introduce RTTI options in symbol definition M compiler/symdef.pas --- commit 2005e3c0941051eed2f5d224f493059b47c40e8e Author: Ryan Joseph Date: Tue May 30 15:36:03 2023 +0200 * Apply RTTI directive status to symbol M compiler/pdecobj.pas M compiler/ptype.pas --- commit d74d41c5d217d32d2e81e0c65334cb7ac61d2b39 Author: Ryan Joseph Date: Tue May 30 15:43:28 2023 +0200 * Allow RTTI directive also before uses clauses M compiler/pmodules.pas --- commit 519a102379bf41de2a988f9c0aac508a5d384a51 Author: Ryan Joseph Date: Tue May 30 15:48:13 2023 +0200 * Write extended RTTI info M compiler/ncgrtti.pas M compiler/ncgvmt.pas M compiler/symconst.pas --- commit b4ff9b71d318be9463d054b4c8cc998aadc8affd Author: Ryan Joseph Date: Tue May 30 15:52:06 2023 +0200 * Dump extended RTTI info from PPU M compiler/utils/ppuutils/ppudump.pp --- commit c94531645a31d8bfb9cce98e6c8ac7c32e9e7eb7 Author: Michaël Van Canneyt Date: Wed May 31 12:29:32 2023 +0200 * Implement -t options for fpc executable * Remove some debugging statements * Refactor processorname -> suffix name for clarity of flow * Refactor initialization of binary and processor name for clarity of flow * Rename variables for clarity * subroutine to simplify command-line handling * Limited subtarget config file parsing to detect -V * Specifying multiple -V should not give an error but warn, as for -T or -t M compiler/utils/fpc.pp --- commit 52147baa0495218ea06c588d1f849106f480c4f3 Author: florian Date: Wed May 31 20:26:27 2023 +0200 * correct tripletcpustr, resolves #40301 M compiler/riscv64/tripletcpu.pas --- commit 9b8af14f47176d0c97a7b3b07e70631e8bbc044c Author: Nikolay Nikolov Date: Sun Jun 4 05:11:07 2023 +0300 + introduced [hl]cg.a_label_pascal_goto_target. It is similar to [hl]cg.a_label and is called by the code generator, when the label generated is the result of a Pascal label. M compiler/cgobj.pas M compiler/hlcgobj.pas M compiler/ncgflw.pas --- commit da2649fadefac495f3da024bf955aa889a0e5108 Author: Nikolay Nikolov Date: Sun Jun 4 05:44:32 2023 +0300 + added wasm32-specific flag tai_label.is_pascal_goto_target M compiler/aasmtai.pas M compiler/wasm32/cgcpu.pas --- commit 93438ef1a5f157d2acda458c15f5e074f9ce9866 Author: Nikolay Nikolov Date: Mon Jun 5 01:29:22 2023 +0300 + added the wasmfuncref directive for procvars. Not actually implemented, just parsed. M compiler/pdecsub.pas M compiler/symconst.pas M compiler/tokens.pas --- commit 33fb8874799a1c90f79175f108dd21702d696472 Author: Nikolay Nikolov Date: Mon Jun 5 01:45:30 2023 +0300 * ppudump compilation fixed M compiler/utils/ppuutils/ppudump.pp --- commit 60cde554fda8facdd2f7d79db327d628a7dddb69 Author: Nikolay Nikolov Date: Mon Jun 5 02:44:34 2023 +0300 + handle wasm funcrefs in tgcpu.defToWasmBasic M compiler/wasm32/tgcpu.pas --- commit bebe53ef9f82bab6c8a6396f4c96d53d73db796f Author: Nikolay Nikolov Date: Mon Jun 5 02:46:34 2023 +0300 * added support and simplified the handling of results in create_functype_common for reference types M compiler/wasm32/symcpu.pas --- commit ad69c6e1b5462769798f96d71d4327a5d6eab3b8 Author: Nikolay Nikolov Date: Mon Jun 5 02:53:44 2023 +0300 + also support funcref parameters in create_functype_common M compiler/wasm32/symcpu.pas --- commit c925c1aaa6fbd3091c7917603fcf49cf7faba2f3 Author: Nikolay Nikolov Date: Mon Jun 5 04:07:53 2023 +0300 + introduced flag is_wasm_externref to tcpupointerdef for wasm32. This is to be used for declaring WebAssembly externref reference types. M compiler/wasm32/symcpu.pas --- commit 3e21d24098ec9822d0b6bac12cfd9492e8521840 Author: Nikolay Nikolov Date: Mon Jun 5 04:26:57 2023 +0300 + magically insert a void externref type in the System unit, called WasmExternRef M compiler/psystem.pas M compiler/symdef.pas M compiler/wasm32/symcpu.pas --- commit a778fb2eaa4c793cd7f6f3c6d4a864dbe308184e Author: Nikolay Nikolov Date: Mon Jun 5 04:31:53 2023 +0300 + support externref in defToWasmBasic M compiler/wasm32/tgcpu.pas --- commit dd09bf64b39e402109394dd0f4d32cc97c2352bb Author: Nikolay Nikolov Date: Mon Jun 5 04:37:54 2023 +0300 + handle externref parameters in create_functype_common M compiler/wasm32/symcpu.pas --- commit 022d2804a9500d50cf68e02d398af269ea731291 Author: Nikolay Nikolov Date: Mon Jun 5 04:51:03 2023 +0300 + introduced is_wasm_funcref(tdef) helper M compiler/wasm32/symcpu.pas M compiler/wasm32/tgcpu.pas --- commit c33f47a707add75d246ab1efb5e63a8f21c9ff24 Author: Nikolay Nikolov Date: Mon Jun 5 04:55:33 2023 +0300 + introduced is_wasm_externref(tdef) helper M compiler/wasm32/symcpu.pas M compiler/wasm32/tgcpu.pas --- commit 5cc4096f41544ea8ff8948aa7e6058ae37bcf12c Author: Nikolay Nikolov Date: Mon Jun 5 04:56:03 2023 +0300 * formatting M compiler/wasm32/symcpu.pas --- commit 1f7636612542d76c4a9163de1f126f9d654fa6cf Author: Nikolay Nikolov Date: Mon Jun 5 05:00:31 2023 +0300 + introduced the is_wasm_reference_type(tdef) helper M compiler/wasm32/symcpu.pas --- commit 627fd6bce120c83fd3446f01e44f3cb147df8de3 Author: Pierre Muller Date: Mon Jun 5 11:46:44 2023 +0200 Add new substitute_env_variables parameter for DefaultReplacements function (with default true value) M compiler/globals.pas --- commit 3770b55ce135c7d2868b6e5bfdc95b17bd97ed1a Author: Pierre Muller Date: Mon Jun 5 11:48:29 2023 +0200 Disable substitution by environment variables in message comment related functions M compiler/verbose.pas --- commit 3b3a0a660cfd8427674a6d689172b4bc4672ae3e Author: Nikolay Nikolov Date: Wed Jun 7 01:42:46 2023 +0300 * the a_ref_null instruction split into two subinstructions - a_ref_null_externref and a_ref_null_funcref M compiler/wasm32/cpubase.pas M compiler/wasm32/itcpugas.pas M compiler/wasm32/strinst.inc --- commit 48556ab039b1b2a6507377ba1f7148655a0e804b Author: Nikolay Nikolov Date: Wed Jun 7 03:30:40 2023 +0300 + enable the reference types extension in llvm-mc via a command line option M compiler/systems.pas M compiler/wasm32/agllvmmc.pas --- commit e555eddeda10f75c367d6e1b0bb3dcee6b5a3083 Author: Nikolay Nikolov Date: Wed Jun 7 03:36:28 2023 +0300 * fixed the textual representation of the ref.null instruction for llvm-mc M compiler/wasm32/itcpugas.pas M compiler/wasm32/strinst.inc --- commit 11712658b0ee16f5df5ec56840161afcc1863613 Author: Nikolay Nikolov Date: Wed Jun 7 05:25:57 2023 +0300 + implemented WebAssembly code generator support for funcref and externref data types, using new register types R_FUNCREFREGISTER and R_EXTERNREFREGISTER M compiler/cgbase.pas M compiler/wasm32/cgcpu.pas M compiler/wasm32/cpubase.pas M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/rgcpu.pas M compiler/wasm32/tgcpu.pas M compiler/x86/aasmcpu.pas --- commit 2039509cfb7940fe9a912c776ec1644cc6d76882 Author: Nikolay Nikolov Date: Wed Jun 7 06:13:17 2023 +0300 + WebAssembly internal asm support for the ref.null instruction M compiler/wasm32/aasmcpu.pas --- commit a0b78ad1f7859efbd51f3267fc93fafbc9d7de32 Author: Nikolay Nikolov Date: Wed Jun 7 06:38:25 2023 +0300 + WebAssembly internal assembler support for the ref.is_null instruction M compiler/wasm32/aasmcpu.pas --- commit 8743f72f1134750b0522330904f57d7ebd535eab Author: Nikolay Nikolov Date: Sun Jun 11 04:00:45 2023 +0300 + disallow taking the address of WebAssembly externref type M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/wasm32/cpunode.pas A compiler/wasm32/nwasmmem.pas A tests/test/wasm/twasmexternref2.pp --- commit 84b60d3f001c642e252659e84923d21924da90e3 Author: Nikolay Nikolov Date: Sun Jun 11 04:05:17 2023 +0300 * check for codegenerror in twasmaddrnode.pass_typecheck and exit early, to avoid crashes M compiler/wasm32/nwasmmem.pas --- commit 8b138aa0597d7c12f0a5c5f43564c5818a4f295e Author: Nikolay Nikolov Date: Sun Jun 11 04:11:02 2023 +0300 + also check for assigned(left) after calling inherited in twasmaddrnode.pass_typecheck, to avoid another crash M compiler/wasm32/nwasmmem.pas --- commit a47a1c093a31e2352d44f94a37698c1e69cc5e23 Author: Nikolay Nikolov Date: Sun Jun 11 05:28:39 2023 +0300 * disallow conversion between regular pointers and WasmExternRef M compiler/wasm32/nwasmcnv.pas M compiler/wasm32/symcpu.pas A tests/test/wasm/twasmexternref3.pp A tests/test/wasm/twasmexternref3a.pp --- commit ca0384172482ab6488ec7efa643c68c96a796671 Author: Nikolay Nikolov Date: Sun Jun 11 06:07:13 2023 +0300 - removed redundant semicolon M compiler/wasm32/symcpu.pas --- commit 9daabb2123594cee642baf50ea3c0cc5e7f7ab6e Author: Nikolay Nikolov Date: Sun Jun 11 06:23:02 2023 +0300 + support using nil constants for setting values of WebAssembly reference types (funcref and externref) M compiler/wasm32/hlcgcpu.pas M tests/test/wasm/twasmexternref1.pp M tests/test/wasm/twasmfuncref1.pp M tests/test/wasm/twasmfuncref1a.pp --- commit 8cd6606970c8fedda95a3411d684dbd57379b46d Author: Nikolay Nikolov Date: Sun Jun 11 07:17:04 2023 +0300 + support nil comparison of WebAssembly reference types (externref and funcref) M compiler/nadd.pas M compiler/wasm32/hlcgcpu.pas M tests/test/wasm/twasmexternref1.pp M tests/test/wasm/twasmfuncref1.pp --- commit f670ebbb280f5bf5cb198f12498e57ba1dc5bf0e Author: Nikolay Nikolov Date: Sun Jun 11 08:17:06 2023 +0300 * disallow WebAssembly reference types to be declared as var, constref or out parameters M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pdecsub.pas M tests/test/wasm/twasmexternref1.pp A tests/test/wasm/twasmexternref4.pp A tests/test/wasm/twasmexternref4a.pp A tests/test/wasm/twasmexternref4b.pp --- commit 6ff566350cbc2ecf8615cae6cc6792939a288ec8 Author: Nikolay Nikolov Date: Sun Jun 11 08:56:27 2023 +0300 * disallow passing WebAssembly reference types as untyped var/constref/const parameters M compiler/wasm32/nwasmcal.pas M tests/test/wasm/twasmexternref1.pp A tests/test/wasm/twasmexternref4c.pp A tests/test/wasm/twasmexternref4d.pp A tests/test/wasm/twasmexternref4e.pp --- commit 3d55ac9d0967620c1a2c196e2aca66cc62a95d9c Author: Nikolay Nikolov Date: Sun Jun 11 09:01:07 2023 +0300 * fixed bug, introduced in 6ff566350cbc2ecf8615cae6cc6792939a288ec8, due to missing parenthesis M compiler/wasm32/nwasmcal.pas --- commit c117c0abf576dc47f01257751b8c10109b5c9c6c Author: Nikolay Nikolov Date: Sun Jun 11 09:06:15 2023 +0300 * fixed another crash, introduced in 6ff566350cbc2ecf8615cae6cc6792939a288ec8 M compiler/wasm32/nwasmcal.pas --- commit e6cbdba0bd6bba9c4dac1333ce0405a14389e3a9 Author: Nikolay Nikolov Date: Sun Jun 11 09:18:37 2023 +0300 * fixed crash in twasmcallnode.pass_typecheck when there is no procdefinition (for generic methods) M compiler/wasm32/nwasmcal.pas --- commit d38dbcac8f21d79c666649301216ec274ad838b7 Author: Nikolay Nikolov Date: Sun Jun 11 09:29:07 2023 +0300 * use tcallparanode.parasym to find the tparavarsym in twasmcallnode.pass_typecheck M compiler/wasm32/nwasmcal.pas --- commit 8eea58f64901b97890fc5eb4b37427a55036b539 Author: Nikolay Nikolov Date: Sun Jun 11 10:31:12 2023 +0300 + support WebAssembly reference types as WebAssembly globals M compiler/wasm32/symcpu.pas M tests/test/wasm/twasmexternref1.pp --- commit 9b4366e4f6d565b0a1b2b2d105e350b0744b8d7c Author: Nikolay Nikolov Date: Sun Jun 11 10:41:56 2023 +0300 + support externref and funcref WebAssembly globals in the internal object writer M compiler/ogwasm.pas --- commit 95d7bdc3da9cd08954dc6fb12f8d6b2ac890a7d4 Author: Nikolay Nikolov Date: Sun Jun 11 11:57:33 2023 +0300 + added parser support for the 'suspending' directive M compiler/pdecsub.pas M compiler/symconst.pas M compiler/tokens.pas --- commit b891cef5d2ffd8af876eff736ec15045eb02ed92 Author: Nikolay Nikolov Date: Sun Jun 11 12:00:54 2023 +0300 * ppudump compilation fixed M compiler/utils/ppuutils/ppudump.pp --- commit b247302871aa4d46bee7e0d516a96cb8102732df Author: Nikolay Nikolov Date: Sun Jun 11 14:07:35 2023 +0300 + initial attempt (not fully working, yet) at implementing WebAssembly suspending externals M compiler/pdecsub.pas M compiler/symconst.pas M compiler/symcreat.pas M compiler/wasm32/symcpu.pas M rtl/wasi/system.pp --- commit 1a4b97a62a6e6569c3b8146e80d489ef22347df4 Author: Nikolay Nikolov Date: Sun Jun 11 15:09:49 2023 +0300 * fixed compilation with -Sew M compiler/symcreat.pas --- commit 80c8575636a7b2e41f9081f78878d6399cea84ed Author: Nikolay Nikolov Date: Sun Jun 11 15:24:55 2023 +0300 * fixed creating suspended wrappers for functions without parameters M compiler/symcreat.pas --- commit ad1812f90aa26c0ead768ab1ed32287fb9dccd67 Author: Pierre Muller Date: Sun Jun 11 15:56:54 2023 +0100 Handle the specific NaN pattern of mips floating-point unit M compiler/wasm32/agllvmmc.pas --- commit 15c95e0ac7f66c4e21033d9e01c1328e00ea2545 Author: Nikolay Nikolov Date: Sun Jun 11 16:43:45 2023 +0300 + initial implementation of WebAssembly promising exports M compiler/export.pas M compiler/pexports.pas M compiler/symconst.pas M compiler/symcreat.pas M compiler/systems/t_wasi.pas M compiler/tokens.pas M compiler/wasm32/symcpu.pas --- commit c22b6c10b7a29b5375e95102e43ec60fdef32b60 Author: Nikolay Nikolov Date: Sun Jun 11 16:50:49 2023 +0300 * fixed generating wrappers for suspending functions that return something, other than double M compiler/symcreat.pas --- commit f6cd75add97afbc45461db9befd4d47325a8384c Author: Nikolay Nikolov Date: Tue Jun 13 09:11:02 2023 +0300 + comments for tsk_wasm_suspending and tsk_wasm_promising M compiler/symconst.pas --- commit aedacd916089f2392d89dcc9d5a6c0e2e95fc53a Author: Nikolay Nikolov Date: Tue Jun 13 09:12:59 2023 +0300 + comment for the po_wasm_suspending value M compiler/symconst.pas --- commit 0f89852908219e54e76a72bb21e1847305166d52 Author: Nikolay Nikolov Date: Tue Jun 13 09:34:54 2023 +0300 + support 'suspending last' externals as well M compiler/pdecsub.pas M compiler/symconst.pas M compiler/symcreat.pas M compiler/tokens.pas A tests/test/wasm/tjspromise2.pp --- commit 4d62764fa34b7c0fb8a4699e689e3ac8a846ba94 Author: Nikolay Nikolov Date: Tue Jun 13 09:56:44 2023 +0300 + also allow declaring an external as 'suspending first' M compiler/pdecsub.pas M compiler/tokens.pas A tests/test/wasm/tjspromise1a.pp --- commit c6b059ede6d90f87e4507c0cc4e258ac8b4461e5 Author: Nikolay Nikolov Date: Tue Jun 13 11:42:15 2023 +0300 * eo_promising renamed eo_promising_first M compiler/export.pas M compiler/pexports.pas M compiler/systems/t_wasi.pas --- commit 601c8f9c8b23db6102663ecee9b1a697b410bc4b Author: Nikolay Nikolov Date: Tue Jun 13 11:44:10 2023 +0300 * assert that any exported promising function is not synthetic M compiler/systems/t_wasi.pas --- commit c67bcf003295d9ba9f56cf06450050e528c3f305 Author: Nikolay Nikolov Date: Tue Jun 13 11:57:23 2023 +0300 + introduced tcpuprocdef.add_promising_export M compiler/systems/t_wasi.pas M compiler/wasm32/symcpu.pas --- commit 2eb3f5f0b84f60daf562376b0bcf0dd12776aca1 Author: Nikolay Nikolov Date: Tue Jun 13 12:10:54 2023 +0300 + introduced implement_wasm_promising_wrapper M compiler/symcreat.pas --- commit ed748a65b49f64d53e96adc2dd485e34f550af3d Author: Nikolay Nikolov Date: Tue Jun 13 12:14:09 2023 +0300 + added last:boolean parameter to implement_wasm_promising_wrapper M compiler/symcreat.pas --- commit 9ea1f6de197d554fefa42bfb2b29b76918460408 Author: Nikolay Nikolov Date: Tue Jun 13 12:15:46 2023 +0300 + added 'last' or 'first' to the internal promising wrapper name M compiler/symcreat.pas M compiler/wasm32/symcpu.pas --- commit 0d256f517f57f80933f3e6305e38df55d8277d11 Author: Pierre Muller Date: Tue Jun 13 19:39:55 2023 +0000 Set defualt riscv32 linux abi to abi_riscv_ipl32 M compiler/riscv/agrvgas.pas --- commit f410d8a77c0e23be19ee87c33fc160b738320a4d Author: Pierre Muller Date: Tue Jun 13 19:41:02 2023 +0000 Set defualt riscv32 linux abi to abi_riscv_ipl32 M compiler/systems/i_linux.pas --- commit 87e49314892e33419c0104dae47ab463bc6e6b91 Author: Pierre Muller Date: Wed Jun 14 08:19:06 2023 +0200 Fix fullcycle compilation error due to -Sew option Add 'else' branch to 'case' keyword construct for the setting of ABI in riscv32 assembler call. Do the same for riscv64 assembler call. M compiler/riscv/agrvgas.pas --- commit be0c92c65d684fe637575bc9187273c5883252ce Author: Pierre Muller Date: Thu Jun 15 15:33:15 2023 +0000 Set default abi for riscv 32/64 embedded M compiler/systems/i_embed.pas --- commit 9d893b5d0d040194bbbb2ec220e03ec5f88f759f Author: Nikolay Nikolov Date: Fri Jun 16 10:50:35 2023 +0300 * tcpuprocdef.promising_export_name renamed promising_first_export_name M compiler/symcreat.pas M compiler/wasm32/symcpu.pas --- commit 2f1ccd6f2a1451c13f16851c10ea8435254130c0 Author: Nikolay Nikolov Date: Fri Jun 16 11:00:19 2023 +0300 + support 'promising last' exports M compiler/export.pas M compiler/pexports.pas M compiler/symcreat.pas M compiler/systems/t_wasi.pas M compiler/wasm32/symcpu.pas M tests/test/wasm/tjspromise1a.pp M tests/test/wasm/tjspromise2.pp --- commit f800e405958125dd1b05c79dd06617b0860e3d44 Author: Nikolay Nikolov Date: Fri Jun 16 15:44:58 2023 +0300 + print an error message, in case 'promising' exports are used on non-WebAssembly platform M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pexports.pas --- commit d5a538b5908065ecf83b6f5e74625a5eb85393b3 Author: Sven/Sarah Barth Date: Fri Jun 16 16:15:45 2023 +0200 * ensure that the functions that insert the hidden parameters (function result, open array high parameters, etc.) are idempotent M compiler/pparautl.pas --- commit 08dca09c7ee43e2b73fd98c319fdf54934a082e3 Author: Sven/Sarah Barth Date: Fri Jun 16 16:16:58 2023 +0200 * revert 430bcac389c29a5ceca7759cfca69454aa31abf9 as with the change that the functions to insert hidden parameters are idempotent this is no longer required and also wrong as uses of the deleted symbols aside from Self and the framepointer would be left dangling M compiler/procdefutil.pas --- commit 0b7a771ca945dc531060e0597c8f1e69774a6451 Author: Sven/Sarah Barth Date: Fri Jun 16 17:28:50 2023 +0200 * fix #40221: don't allow a conversion from an anonymous function to a procvar type if compare_defs_ext already rejected them + added tests M compiler/ncnv.pas A tests/webtbf/tw40221a.pp A tests/webtbf/tw40221b.pp --- commit 8382c6f5860949eebe1e6e6aefd156c8dae83fad Author: Interferon Date: Fri Jun 16 20:55:06 2023 -0600 Added generic WCH32Vx RISC-V processor types using memory size suffixes Modified low-level startup code for RISCV32 embedded microcontrollers to allow user code override of reset handlers for non-power-up reset events as well as enabling user code override handlers for all 255 possible interrupt vectors. Separated out the low-level startup memory init into a callable procedure to allow users that have caught reset events to init memory again if needed. Signed-off-by: Interferon M compiler/riscv/agrvgas.pas M compiler/riscv32/cpuinfo.pas M rtl/embedded/Makefile.fpc A rtl/embedded/riscv32/CH32VxBootstrap.pp M rtl/embedded/riscv32/fe310g000.pp M rtl/embedded/riscv32/fe310g002.pp M rtl/embedded/riscv32/gd32vf103xx.pp M rtl/embedded/riscv32/riscv32_start.inc --- commit 553cee72eb0349e50f1430f28900fa47c036759a Author: Nikolay Nikolov Date: Sat Jun 17 12:28:12 2023 +0300 * tsk_wasm_suspending renamed tsk_wasm_suspending_first M compiler/pdecsub.pas M compiler/symconst.pas M compiler/symcreat.pas --- commit 8acf2e3ff31df8b8396ad0f416df9e1ac221a9b5 Author: Nikolay Nikolov Date: Sat Jun 17 12:46:44 2023 +0300 + print a proper error message if a suspending external is used on a non-WebAssembly platform M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pdecsub.pas --- commit 389646adeed406d305c0dc7d13c7133ca176963a Author: Nikolay Nikolov Date: Sat Jun 17 13:39:29 2023 +0300 * fixed erroneously duplicated code from previous commit M compiler/pdecsub.pas --- commit 322befbf5603040e68207d847ce87f5dab7917fe Author: Nikolay Nikolov Date: Sat Jun 17 17:00:36 2023 +0300 + added mutable globals to the target switches section M compiler/ogwasm.pas --- commit c482bafdafe17ba5e23e292e1127e6f103444ce8 Author: Interferon Date: Sun Jun 18 16:54:34 2023 -0600 There is code in the register allocator to restrict register allocation to the first 16 registers in RISC-V RVE and RVEC modes. However, there was still code in tcpuparamanager.create_paraloc_info_intern that allowed the allocation of up to register X17 in RVE and RVEC modes. Modified this function to take the processor mode into account and restrict it to X0..X15 in RVE and RVEC modes. Also put conditional code in setjump.inc assembler code to only set the first 16 registers in RVE and RVEC modes. The entire embedded-riscv32 RTL can now compile successfuly in RVEC mode. M compiler/riscv32/cpuinfo.pas M compiler/riscv32/cpupara.pas M rtl/embedded/riscv32/CH32VxBootstrap.pp M rtl/embedded/riscv32/riscv32_start.inc --- commit 535107a700c98bb89e23332f2465f5b896fe6e1c Author: Michaël Van Canneyt Date: Mon Jun 19 11:12:57 2023 +0200 * Split out option parsing in one routine per letter M compiler/options.pas --- commit 1930aaa340a808e6ec530093d7463b157646646c Author: Michaël Van Canneyt Date: Mon Jun 19 11:23:04 2023 +0200 * Make use of copy() without count when rest of string is needed M compiler/options.pas --- commit 188fc9c11281018efcdb567895f6137a5862552f Author: Michaël Van Canneyt Date: Mon Jun 19 11:38:23 2023 +0200 * Fix compilation for ARM M compiler/options.pas --- commit 76474c85bd7b449a233d409727a53e71869f3c7b Author: Nikolay Nikolov Date: Mon Jun 19 15:53:15 2023 +0300 + comments for the new error messages M compiler/msg/errore.msg --- commit bbedb958f61b03c8af63ca52af882115d051ec71 Author: Nikolay Nikolov Date: Mon Jun 19 15:54:33 2023 +0300 * bump CurrentPPULongVersion M compiler/ppu.pas --- commit fce34eb4bf9a70ac0b8a9a5417f0f7b327b8bb37 Author: Nikolay Nikolov Date: Tue Jun 20 15:13:15 2023 +0300 + disallow WebAssembly reference types in records, objects and classes M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pdecvar.pas A tests/test/wasm/twasmexternref5.pp A tests/test/wasm/twasmexternref5a.pp A tests/test/wasm/twasmexternref5b.pp A tests/test/wasm/twasmfuncref2.pp A tests/test/wasm/twasmfuncref2a.pp A tests/test/wasm/twasmfuncref2b.pp --- commit edbb865260e4033930f266b2f453524a68c48ec9 Author: Nikolay Nikolov Date: Tue Jun 20 15:39:34 2023 +0300 + added comment for the new error message M compiler/msg/errore.msg --- commit 5c792c438db1a5dca3ee6539ecf5b1c84e52e56f Author: Nikolay Nikolov Date: Tue Jun 20 16:56:47 2023 +0300 + disallow using sizeof() and bitsizeof() on WebAssembly reference types M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pexpr.pas A tests/test/wasm/twasmexternref6.pp A tests/test/wasm/twasmexternref6a.pp A tests/test/wasm/twasmexternref6b.pp A tests/test/wasm/twasmfuncref3.pp A tests/test/wasm/twasmfuncref3a.pp A tests/test/wasm/twasmfuncref3b.pp --- commit 06f35ae04f229e4cdd54de4bac67e785c043a1ae Author: Nikolay Nikolov Date: Tue Jun 20 17:25:57 2023 +0300 - rm commented out debug writeln left over from previous commit M compiler/pexpr.pas --- commit 62cc594ca469388c8bb45cadd24e73b21437230f Author: Sven/Sarah Barth Date: Fri Jun 23 15:52:30 2023 +0200 * for unique type aliases keep track of the original def * increase PPU version M compiler/pdecl.pas M compiler/ppu.pas M compiler/symdef.pas M compiler/utils/ppuutils/ppudump.pp --- commit 7133ad7ecc46700618193adff85cef84682355b0 Author: Sven/Sarah Barth Date: Fri Jun 23 16:13:26 2023 +0200 * a type helper that inherits from another type helper may extend a unique type helper of the parent's extended type (thus allowing to make the type helper of the original type available for the aliased type) + added tests M compiler/pdecobj.pas A tests/test/tthlp30.pp A tests/test/tthlp31.pp --- commit 251af216ce7c63204152c8cacfffaeab899c8c82 Author: Sven/Sarah Barth Date: Fri Jun 23 16:14:34 2023 +0200 * fix typo in comment M compiler/pdecl.pas --- commit 34f1a3ee280a5d2e1e9aff4f2f39c1b9e97c771e Author: Sven/Sarah Barth Date: Fri Jun 23 17:02:15 2023 +0200 * don't insert anonymous functions into a withsymtable + added test M compiler/pdecsub.pas A tests/test/tanonfunc73.pp --- commit f721210638e919e910d340b4187b2154df8e835c Author: Sven/Sarah Barth Date: Fri Jun 23 17:05:57 2023 +0200 * fix #40142 and #40324: don't alias the function name to the $result variable for anonymous functions unless an explicit result name is provided + added tests M compiler/pparautl.pas A tests/webtbs/tw40142.pp A tests/webtbs/tw40324.pp --- commit d97d34ee9c538f4d9d9f0cb4ac1b2fbec6c91deb Author: Sven/Sarah Barth Date: Fri Jun 30 15:35:28 2023 +0200 * fix #40332: apply patch by Rika to avoid a crash when an overload can't be picked outside of a function (e.g. when using intrinsics inside constants) + added test M compiler/ncal.pas A tests/webtbs/tw40332.pp --- commit 3dc64dd67ef64da854e08093e229719ab1e3d49f Author: Sven/Sarah Barth Date: Fri Jun 30 17:02:37 2023 +0200 * fix typo in comment M compiler/ncal.pas --- commit c7776d899bba809811549d2dd99b37b80fa361c9 Author: Sven/Sarah Barth Date: Fri Jun 30 17:09:52 2023 +0200 * in case there hasn't been an error generated with an invalid attribute declaration then print at least "illegal expression" error M compiler/pdecl.pas --- commit 78025d90b3ee3aec45bb100d2bb01e3d931391fc Author: Sven/Sarah Barth Date: Fri Jun 30 17:11:43 2023 +0200 + add a tcallnodeflag value that prohibits the tcallnode.pass_typecheck to return a procvar in case of a call without parameters with a found symbol, but no suitable procdef M compiler/ncal.pas --- commit a20e8b9a3d1c2bda0b5d62d50435a8647bcd7105 Author: Sven/Sarah Barth Date: Fri Jun 30 17:12:56 2023 +0200 * fix #40095: when searching a suitable constructor for the custom attribute don't allow the return of a procvar which can happen in Mac/TP procvar modes (like Delphi) + added test M compiler/pdecl.pas A tests/webtbf/tw40095.pp --- commit c994b5efe8809ce84b3ba52046c32fc37909a65e Author: Sven/Sarah Barth Date: Fri Jun 30 17:41:58 2023 +0200 * fix #39447: when checking whether the parameters are valid for pointer arithmetic check the *correct* parameter for being valid pointer-like type (I'd say that this was a copy&paste mistake...) + added test M compiler/nadd.pas A tests/webtbs/tw39447.pp --- commit 78c0c267a5c62e1bb773813d24d12717256d2ca5 Author: florian Date: Sat Jul 1 20:54:08 2023 +0200 * cleanup M compiler/options.pas --- commit 1e62913183eaf9906c5ebaf98241a7e14e45dca8 Author: florian Date: Sun Jul 2 17:53:12 2023 +0200 * check properly for the supported cpu type, resolves #40298 M compiler/x86/aoptx86.pas --- commit f47ca0c5d102655f5b336f04594f2cc15b9bbe96 Author: Nikolay Nikolov Date: Sun Jul 2 18:31:53 2023 +0300 * fixed ppudump for WebAssembly after the JS Promise Integration branch merge M compiler/utils/ppuutils/ppudump.pp --- commit 92f148e667620fbdc439e5baa13c36f8a66302cc Author: Michaël Van Canneyt Date: Tue Jul 4 15:53:27 2023 +0200 * Generate hidden class to be used for TVirtualInterface (wasm only) M compiler/ncgrtti.pas M compiler/pdecobj.pas M compiler/pmodules.pas M compiler/symcreat.pas M compiler/symdef.pas --- commit 2cc319bb8e2d21c61e051f77d8d31f0704275289 Author: Pierre Muller Date: Tue Jul 4 16:31:22 2023 +0000 Add -Tlinux for loongarch64 compiler M compiler/msg/errore.msg --- commit 79d1fcd40d6ee362a0340751051edade7b124027 Author: Pierre Muller Date: Wed Jul 5 17:27:03 2023 +0200 Introduce -XLL option for link using ld.lld linker M compiler/globtype.pas M compiler/options.pas M compiler/systems/t_bsd.pas M compiler/utils/ppuutils/ppudump.pp --- commit 0261a025de8b59a41b3c43cd07c30d81a8e59567 Author: Michaël Van Canneyt Date: Fri Jul 7 10:15:03 2023 +0200 * Restore -aR, lost in refactoring M compiler/options.pas --- commit 486f3a0c7f7884895a0e9742a1a3ede419f208a7 Author: Michaël Van Canneyt Date: Fri Jul 7 10:15:39 2023 +0200 * Lowercase subtarget file, as done in compiler M compiler/utils/fpc.pp --- commit e14692f59483e83b1ac55e9741916c93d5699582 Author: mattias Date: Fri Jul 7 11:17:27 2023 +0200 git ignore msg2inc binary A compiler/.gitignore --- commit 21b135a6ecc49cfa6ed65ab0e26bd14aa04cde38 Author: Pierre Muller Date: Fri Jul 7 17:21:04 2023 +0000 Regenerate msgidx.inc and msgtxt.inc files M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 299f942d291fbeb2c3b6e6e653ae57ede9b7e525 Author: florian Date: Sun Jul 9 16:16:02 2023 +0200 * change TCachedSearchRec.Attr to longint as TCachedDirectoryEntry.Attr is also a longint, resolves #40343 M compiler/cfileutl.pas --- commit 70850835597032f7fb37777bf6fe44eea3b0d16a Author: Michaël Van Canneyt Date: Tue Jul 11 11:07:25 2023 +0200 * Additional fields/enums for invoke helper M compiler/symconst.pas M compiler/symdef.pas --- commit d3cc97655125c9e8bfd6577c29ad61e3f4ed87f3 Author: Michaël Van Canneyt Date: Tue Jul 11 11:07:57 2023 +0200 * Mark method for invoke helper M compiler/pdecsub.pas --- commit 125bd9d5e91d67849303f33f47daed55130208f5 Author: Michaël Van Canneyt Date: Tue Jul 11 11:08:28 2023 +0200 Create invoke helper if requested and reference it in RTTI M compiler/ncgrtti.pas M compiler/symcreat.pas --- commit a6e0e1fe59ddc7349d9aae062fa264cc215dec7c Author: Pierre Muller Date: Thu Jul 13 07:15:07 2023 -0500 Handle unaligned copy in TCGSparcGen.g_concatcopy method M compiler/sparcgen/cgsparc.pas --- commit 28a3223b6b017dec23f867c8ceead32d2b22bd72 Author: Michaël Van Canneyt Date: Thu Jul 13 14:04:27 2023 +0200 * Handle some options required by android, nasm and darwin assemblers M compiler/utils/dummyas.pp --- commit d3111517d5cfd1d044e619766e37c3312ebe12fb Author: Michaël Van Canneyt Date: Thu Jul 13 17:24:34 2023 +0200 * More option processing M compiler/utils/dummyas.pp --- commit fd1f7b2ef8989c9da4fc58adcf90d29b0df6d8c5 Author: Michaël Van Canneyt Date: Thu Jul 13 21:12:46 2023 +0200 * Shorter form of copy, remark by Alexey Torgashin M compiler/utils/dummyas.pp --- commit 2a83972db8c644948b29e3eb745f2796dd868af8 Author: J. Gareth "Curious Kit" Moreton Date: Sat Jul 15 21:31:19 2023 +0100 * x86: Fixed bug where OptPass2Jcc CMOV optimisation sometimes put the wrong-sized register into an operand (fixes i40307) M compiler/x86/aoptx86.pas --- commit 6ffa258abbf7f27a213cf96fac2b94a27e591dfa Author: J. Gareth "Curious Kit" Moreton Date: Sun Jul 16 10:43:03 2023 +0100 * x86: Revamped OptPass2Jcc CMOV code to shrink and reuse registers as much as possible M compiler/x86/aoptx86.pas --- commit e4d5de8d05d4ac260ac9d9c451d176486d88dbd0 Author: J. Gareth "Curious Kit" Moreton Date: Fri Jul 21 03:15:14 2023 +0100 * x86: Fixed bug with BT optimisation where operand sizes bigger than the register word size caused incorrect code generation (fixes #40358) M compiler/x86/nx86set.pas --- commit 2443fd0ad738f0f3232c779e9d2c9d7ff1072ce3 Author: Pierre Muller Date: Tue Jul 25 09:39:11 2023 +0000 Attempt to get ogcoff to work on CPU with opposite endianness M compiler/ogcoff.pas --- commit ee97c0ca03cf35ddc2ebb7c7590d57cd7d407e14 Author: Pierre Muller Date: Tue Jul 25 11:11:54 2023 +0000 Add missing TPECoffExpDir variantr of MaybeSwap procedure M compiler/ogcoff.pas --- commit b8f8a1dd1f869bd4a09e571a766ccbd2d641193d Author: Pierre Muller Date: Wed Jul 26 05:05:31 2023 +0000 Cleanup TLinkerLinux.SetDefaultInfo method in t_linux unit M compiler/systems/t_linux.pas --- commit 699db16fe4d81890f6f9a0ebf525624f34f35245 Author: J. Gareth "Curious Kit" Moreton Date: Thu Jul 27 18:54:59 2023 +0100 * x86: Fixed bug in TEST/JNE/TEST/JNE optimisation that caused bad code to be generated under -O3 M compiler/x86/aoptx86.pas --- commit dde19c01441be3aec285967d6a9aa279332597f1 Author: J. Gareth "Curious Kit" Moreton Date: Thu Jul 27 19:24:03 2023 +0100 * Improvement to TEST/JNE/TEST/JNE code to be more accurate where register deallocations are concerned M compiler/x86/aoptx86.pas --- commit b49d58a9fa9bab90e1b0501584b0f0d58f01b0dc Author: Jonas Maebe Date: Thu Jul 27 21:36:55 2023 +0200 LLVM: Xcode 14.3 support M compiler/llvm/llvminfo.pas --- commit 69e775630ab21b0a88a13bc5a502a4a96584ec85 Author: kamischi Date: Sat Jul 29 15:55:07 2023 +0200 Update errore.msg Someminor corrections, found when translating to german. M compiler/msg/errore.msg --- commit 681a00a76fef57322c70428202c0dd3e9b68d556 Author: Michaël Van Canneyt Date: Sun Jul 30 11:19:47 2023 +0200 * Fixes based on feedback of team, fixes issue #40368 M compiler/msgidx.inc M compiler/msgtxt.inc M rtl/Makefile M rtl/aix/Makefile M rtl/aix/Makefile.fpc M rtl/amiga/Makefile M rtl/amiga/Makefile.fpc M rtl/android/Makefile M rtl/android/Makefile.fpc M rtl/aros/Makefile M rtl/aros/Makefile.fpc M rtl/atari/Makefile M rtl/atari/Makefile.fpc M rtl/beos/Makefile M rtl/beos/Makefile.fpc M rtl/darwin/Makefile M rtl/darwin/Makefile.fpc M rtl/dragonfly/Makefile M rtl/dragonfly/Makefile.fpc M rtl/embedded/Makefile M rtl/embedded/Makefile.fpc M rtl/emx/Makefile M rtl/emx/Makefile.fpc M rtl/freebsd/Makefile M rtl/freebsd/Makefile.fpc M rtl/freertos/Makefile M rtl/freertos/Makefile.fpc M rtl/gba/Makefile M rtl/gba/Makefile.fpc M rtl/go32v2/Makefile M rtl/go32v2/Makefile.fpc M rtl/haiku/Makefile M rtl/haiku/Makefile.fpc M rtl/inc/Makefile.rtl M rtl/java/Makefile M rtl/java/Makefile.fpc M rtl/linux/Makefile M rtl/linux/Makefile.fpc M rtl/macos/Makefile.fpc M rtl/morphos/Makefile M rtl/morphos/Makefile.fpc M rtl/msdos/Makefile M rtl/msdos/Makefile.fpc M rtl/msxdos/Makefile M rtl/msxdos/Makefile.fpc M rtl/nativent/Makefile M rtl/nativent/Makefile.fpc M rtl/nds/Makefile M rtl/nds/Makefile.fpc M rtl/netbsd/Makefile M rtl/netbsd/Makefile.fpc M rtl/netware/Makefile M rtl/netware/Makefile.fpc M rtl/netwlibc/Makefile M rtl/netwlibc/Makefile.fpc M rtl/openbsd/Makefile M rtl/openbsd/Makefile.fpc M rtl/os2/Makefile M rtl/os2/Makefile.fpc M rtl/palmos/Makefile M rtl/palmos/Makefile.fpc M rtl/qnx/Makefile.fpc M rtl/sinclairql/Makefile M rtl/sinclairql/Makefile.fpc M rtl/solaris/Makefile M rtl/solaris/Makefile.fpc M rtl/symbian/Makefile M rtl/symbian/Makefile.fpc M rtl/wasi/Makefile M rtl/wasi/Makefile.fpc M rtl/watcom/Makefile M rtl/watcom/Makefile.fpc M rtl/wii/Makefile M rtl/wii/Makefile.fpc M rtl/win16/Makefile M rtl/win16/Makefile.fpc M rtl/win32/Makefile M rtl/win32/Makefile.fpc M rtl/win64/Makefile M rtl/win64/Makefile.fpc M rtl/wince/Makefile M rtl/wince/Makefile.fpc M rtl/zxspectrum/Makefile M rtl/zxspectrum/Makefile.fpc --- commit 2949d0b5488f58f8fe9cae976a9c3ec00efd30d5 Author: Jonas Maebe Date: Sun Jul 30 20:19:43 2023 +0200 LLVM: only add sret attribute for first parameter on caller side We already did this when generating the definitions, but not yet when generating the calls M compiler/llvm/llvmpara.pas --- commit 1a410bae128760633dd53f721c7a4865f1d80ab0 Author: Jonas Maebe Date: Tue Aug 1 22:19:16 2023 +0200 LLVM: LLVM 17.0 support No changes in IR (that affect us) since LLVM 16.0 M compiler/llvm/llvminfo.pas --- commit 82dd70e72f3ab33b1b8737f743e1cdd009d9c8a1 Author: Sven Barth Date: Thu Aug 3 22:34:28 2023 +0200 * fix parameter alignment on x86_64 when more than 6 parameters are involved (aka the stack is used) + added test M compiler/x86_64/cpupara.pas M tests/Makefile.fpc A tests/test/cg/obj/linux/x86_64/tcext7.o A tests/test/cg/obj/tcext7.c A tests/test/cg/tcalext7.pp --- commit 9440b17eea324558acec52a25a1d9fd020ea0408 Author: ccrause Date: Mon Aug 7 15:02:53 2023 +0200 [AVR] Add command line options to selectively remove portions of the RTL startup code. M compiler/globtype.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas M compiler/systems/t_embed.pas M compiler/utils/ppuutils/ppudump.pp A tests/test/cpu8/avr/tdiscard_options.pp --- commit ffdb789a49f3f5874863bd35bc477a974fc2e267 Author: Pierre Muller Date: Fri Aug 11 02:31:43 2023 -0500 Fix syntax errors in make fullcycle M compiler/ogcoff.pas M compiler/systems/t_linux.pas --- commit ff673eadac997e39822148a313b9d343ca9c40f4 Author: Pierre Muller Date: Fri Aug 11 08:38:43 2023 +0000 Add unit specifiers for tlsdirectory fields: they need to be PUInt from globtype unit M compiler/ogcoff.pas --- commit 22a1acd610072a1c3b57e0a8d60affe0aa8b4aac Author: Pierre Muller Date: Fri Aug 11 08:56:02 2023 +0000 Applied fix for binutils 2.41 for loongarch64 suggested by Jinyang He https://gitlab.com/MQ-mengqing/source/-/commit/32fa3e9eb1a31fa6c4262623dbe432919f66419c with modifications reported in comments. M compiler/loongarch64/agcpugas.pas M compiler/loongarch64/loongarchreg.dat M compiler/loongarch64/rloongarch64abi.inc M rtl/loongarch64/setjump.inc --- commit 13346a42bccca70bd5bacfb1a16021efdaff2879 Author: Jonas Maebe Date: Sat Aug 12 12:04:18 2023 +0200 volatile: allow for assignments M compiler/htypechk.pas A tests/tbs/tb0706.pp --- commit 4096d9b74f2349f9b9b8e3103c02c0be11c70926 Author: florian Date: Sat Aug 12 23:12:13 2023 +0200 * factor out subreg2opsize M compiler/x86/aoptx86.pas M compiler/x86/cpubase.pas --- commit 50040a2cab9975aff6974bf462a0e2635d9b84ca Author: Jonas Maebe Date: Tue Aug 15 21:08:58 2023 +0200 default values: store as staticvarsyms in staticsymtable Previously, they were stored as localvarsyms in either the localsymtable (for procedures/functions) or as localvarsyms in the staticsymtable (for init/fini code of units/main programs). The latter was a hack (staticsymtables normally cannot contain localvarsyms) and caused the temp allocator to also allocate them as a local in fini code even if the default was only in the init code. The new approach ensures at most one copy gets allocated per unit, it doesn't require explicit initialisation (since staticvarsyms are in bss -> zeroed by default), gets rid of the localvarsyms in staticsymtables, and as a bonus solves an issue with inconsistent LLVM debug information for the localvarsym in init/fini code (since the staticsymtable is shared between the init and fini code, so was the local, and therefore we generated debug info stating it was defined in the fini code but within the scope of the init code). Resolves #40395 M compiler/ninl.pas M compiler/psub.pas A tests/webtbs/tw40395.pp A tests/webtbs/tw40395a.pp --- commit 1be741681648796d41bfc5f06da5ef26d4581541 Author: Jonas Maebe Date: Sun Aug 20 22:06:13 2023 +0200 default value: fix issue with inlining Ensure the mangled name is always the same Resolves #40404 M compiler/ninl.pas A tests/webtbs/tw40395c.pp A tests/webtbs/uw40395c.pp --- commit 24760621984e934604baaf60f7937f0222dddd14 Author: Jonas Maebe Date: Mon Aug 21 22:39:35 2023 +0200 default(): fix webtbf/tw37303 after previous changes M compiler/ninl.pas --- commit 49d66b8f2018386d7512a5abff875efe82ec1a88 Author: J. Gareth "Curious Kit" Moreton Date: Tue Aug 22 06:37:23 2023 +0100 * x86: Fixed bug where incorrect SSE/AVX peephole optimisations were performed under -O3 in some situations. M compiler/x86/aoptx86.pas --- commit 35e52b90f5763f65bfb6953d4b4bd0973753ff2a Author: J. Gareth "Curious Kit" Moreton Date: Tue Aug 22 13:12:57 2023 +0100 * Added missing register allocations to SSE/AVX optimisations M compiler/x86/aoptx86.pas --- commit a9f3906dd552a0a2e467f3c0dc0b40f9f55b306e Author: Jonas Maebe Date: Tue Aug 22 21:14:13 2023 +0200 default(): fix in generics for non-procvars after 1be741681648 Block added in the wrong place :| Resolves #40409 M compiler/ninl.pas --- commit dd586da7093bac753ea54a5a7a1ce72a64ca919f Author: florian Date: Sat Aug 26 22:14:36 2023 +0200 * formatting M compiler/riscv32/cpupara.pas --- commit fd0f72303beb9dab2c170cf89ab57e45d7a7514c Author: Pierre Muller Date: Fri Sep 8 10:38:23 2023 +0000 Add main inputfilename for V_Parallel option to allow easier debugging of parallel compilation issues M compiler/comphook.pas --- commit 2df57e117b52f4cc72b00837141df6ad18405cbe Author: Sven/Sarah Barth Date: Fri Sep 8 15:51:01 2023 +0200 * fix #40381: also check for hints when parsing the parameters of a routine (including open array parameters) or the result type of a function + added tests M compiler/pdecsub.pas A tests/webtbs/tw40381a.pp A tests/webtbs/tw40381b.pp A tests/webtbs/tw40381c.pp A tests/webtbs/tw40381d.pp --- commit 3b455c1cf2ed22fa5a645aebce67fd1066970e8f Author: Sven/Sarah Barth Date: Fri Sep 8 17:30:32 2023 +0200 * fix #40390: implement support for handling parameter names (including __SELF and __HIGH()) that resolve directly to registers + added tests M compiler/x86/rax86att.pas A tests/test/tasm28.pp A tests/test/tasm29.pp A tests/webtbs/tw40390.pp --- commit cf4d02ef92340976b686df6b58ceef8965fcb77b Author: Pierre Muller Date: Sat Sep 9 06:50:21 2023 +0000 Add globals to implementation _USES clause to prepare move of V_XXX constants to globals unit M compiler/dbgbase.pas M compiler/owomflib.pas M compiler/powerpc64/cpubase.pas M packages/ide/fpintf.pas --- commit 63f91a768c34e0a7cba88de066b9bef0629bbcb1 Author: Pierre Muller Date: Sat Sep 9 06:52:06 2023 +0000 Avoid double definition of V_XXX constants by moving them to globals unit Add new V_Parallel constant M compiler/comphook.pas M compiler/globals.pas M compiler/verbose.pas --- commit 63642b13c8876671ba96ee0747dbd8119aa4b78d Author: Pierre Muller Date: Sat Sep 9 07:01:16 2023 +0000 Add -vj option in options unit to set V_Parallel Add mainsourcefile to all messages when V_Parallel verbosity option is set Flatten out -vX options in help message to make changes easier Add -vj option in help message M compiler/comphook.pas M compiler/msg/errore.msg M compiler/verbose.pas --- commit 67f89afe99faebe50c6177a2112aa5c56f676de9 Author: Pierre Muller Date: Sat Sep 9 07:14:56 2023 +0000 Regenerate msg*.inc files after adding -vj option description M compiler/msgidx.inc M compiler/msgtxt.inc --- commit d2edd6fd2f0bd37367b396d23c8c45f9a28c6f64 Author: Pierre Muller Date: Sun Sep 10 13:54:11 2023 +0000 Change V_Parallel so that V_All doesn't contain V_Parallel, only explicit -vj will add main source file information M compiler/globals.pas --- commit bcf77c70fdee6bb18be5dda3978659cc8cfe6618 Author: Jonas Maebe Date: Mon Sep 11 21:08:49 2023 +0200 default parameter values: fix crash Fix crash when declaring default parameter values while current_procinfo is not yet valid resolves #40413 M compiler/ninl.pas A tests/webtbs/tw40413.pp --- commit 224a7a8a5448442da597dbbad120d46e7b24fac0 Author: Pierre Muller Date: Wed Sep 13 08:45:27 2023 +0200 Use PID to generate unique GDB script names Limit this to cases when -vj or -vJ option is used to call the compiler, which adds a PID prefix to all compiler output. This feature is useful to debug parallel make issues. M compiler/utils/gppc386.pp --- commit fbe64536d1b6bd12b233ba65976f2faa89239782 Author: Pierre Muller Date: Thu Sep 14 09:10:36 2023 +0200 Cast properly to avoid range error M compiler/x86/rax86int.pas --- commit c96641f901daa34aab14f6ccf88e860039dbbaa7 Author: Jonas Maebe Date: Thu Sep 14 15:02:11 2023 +0200 LLVM: fix double init/fini of local managed variables accessed from nested functions resolves #40392 M compiler/ngenutil.pas A tests/webtbs/tw40392.pp --- commit 4f7c2890299bf18f9ae0c274f1eed967005f2799 Author: Pierre Muller Date: Sat Sep 16 21:11:46 2023 +0000 Change loongarch64 default dynamic linker directory according to gcc M compiler/systems/t_linux.pas --- commit 803a6fea24d5dda205849a092392c555f9d39338 Author: florian Date: Sat Sep 16 23:23:50 2023 +0200 * throw an error if instructions which needs an operand size is used with one operand being a reference without size M compiler/x86/aasmcpu.pas M compiler/x86/rax86.pas A tests/webtbf/tw40399.pp --- commit 5e6e24ec086b5d71352012f55b713d264f60feb4 Author: Pierre Muller Date: Fri Sep 22 23:06:46 2023 +0200 Rename fields of tspillregsinfo record to avoid having same field names as treginfo record M compiler/llvm/rgllvm.pas M compiler/rgobj.pas --- commit e8a03ac8bc1319da1cfac4e3b753066bc83d23dc Author: Pierre Muller Date: Fri Sep 22 23:07:37 2023 +0200 Try to fix crash in loongarch64 compiler loongarch64 compiler has a specific routine, called fixupref that generates some instructions that are stored into a tasmlist given as an input parameter. This function returns a boolean, if the return value is false, the populated list gets sometimes discarded. This can lead to a later crash, because the unused and freed instructions might have been stored in live and live_end fields of the reginfo record used inside rgobj unit. The fix checks if any of the to be discarded instructions has been stored inside reginfo records, and resets the field in that case. The fix might need to be more general, because other parts of the compiler, like all optimization code, also remove instructions... M compiler/loongarch64/cgcpu.pas --- commit ba559329292b7e06efb9cc1b22d86055ddd41a87 Author: Frederic Kehrein Date: Fri Sep 29 00:31:00 2023 +0200 Fixing trying to consume ID for anonymous switch field M compiler/pdecvar.pas A tests/test/tvrec1.pp --- commit f7e4c0f28229269a4e59aeba7fab6243b9eb0e2b Author: J. Gareth "Curious Kit" Moreton Date: Sun Oct 1 19:58:03 2023 +0100 * 3-operand LEA instructions are now expanded if the latency could cause slowdown M compiler/x86/aoptx86.pas --- commit ede47ffea9fab9f2bca9c7bcdfb9a5c6c1f63b7a Author: J. Gareth "Curious Kit" Moreton Date: Tue Oct 3 04:52:34 2023 +0100 * New "fast 3-component LEA hint" and "Icelake" CPU options M compiler/i386/cpuinfo.pas M compiler/i8086/cpuinfo.pas M compiler/x86/agx86nsm.pas M compiler/x86_64/cpuinfo.pas --- commit dec6255a190cdfb47f7b82167ef7839e317f3bde Author: Nikolay Nikolov Date: Tue Oct 3 18:47:37 2023 +0300 + introduced classes for WebAssembly structured form of instructions M compiler/aasmtai.pas M compiler/wasm32/aasmcpu.pas --- commit a37430c245d8ad18303c18db03d3d98a3061be66 Author: Nikolay Nikolov Date: Tue Oct 3 23:35:46 2023 +0300 + added code for converting wasm asmlists to structured lists (i.e. lists, using the new wasm structured instructions classes) M compiler/wasm32/aasmcpu.pas --- commit fff60f9f67aafedd5369c1f8297ad56235a6ae02 Author: Nikolay Nikolov Date: Thu Oct 5 15:04:42 2023 +0300 * fixed bug in wasm_convert_to_structured_asmlist M compiler/wasm32/aasmcpu.pas --- commit 6ff403139875c45e257ae3f4b291dd6f8254d1f8 Author: Nikolay Nikolov Date: Thu Oct 5 15:09:05 2023 +0300 * fixed more bugs in the wasm structured asmlist construction M compiler/wasm32/aasmcpu.pas --- commit 0680ea46c85c1482460989a78989cda79f1dc89c Author: Nikolay Nikolov Date: Thu Oct 5 15:15:19 2023 +0300 * set typ of wasm structured instructions to ait_wasm_structured_instruction M compiler/wasm32/aasmcpu.pas --- commit 1a26c0ccfea520bed7717b1f72aa5fec6ffe464b Author: Nikolay Nikolov Date: Thu Oct 5 18:27:49 2023 +0300 + for debug purposes print wasm structured instructions in the llvm-mc assembler output M compiler/aggas.pas --- commit df2488ea6e9f0036a73b18a9375b0e3da1e8777f Author: Nikolay Nikolov Date: Thu Oct 5 18:50:01 2023 +0300 * shorten the string for ait_wasm_structured_instruction in taitypestr to fit in string[24] M compiler/aasmtai.pas --- commit 16b14c574ee9d97310968fdbb6bbd484ce1dae71 Author: Nikolay Nikolov Date: Thu Oct 5 18:58:45 2023 +0300 * constructors made public to avoid warnings M compiler/wasm32/aasmcpu.pas --- commit da4980c4c0fcfbc1e588064fc638c63d7a201066 Author: Nikolay Nikolov Date: Thu Oct 5 19:05:39 2023 +0300 + added else to case statement, avoid the warning, produce an internal error in this unexpected case M compiler/wasm32/aasmcpu.pas --- commit a5f1600275c7a82972a180d1072733d55955e1e8 Author: Nikolay Nikolov Date: Thu Oct 5 19:12:26 2023 +0300 + avoid more warnings M compiler/wasm32/aasmcpu.pas --- commit 595402cac7e3e60ba923834b2b5ebdb21f7e0a74 Author: Nikolay Nikolov Date: Thu Oct 5 19:19:59 2023 +0300 + added else to case statement to avoid warning M compiler/wasm32/aasmcpu.pas --- commit 089e7ca6c8a1cfb24f80383afdd26ccea01ad2b6 Author: Nikolay Nikolov Date: Thu Oct 5 20:19:08 2023 +0300 + added compiler internal error when encountering certain unexpected wasm instructions (indicating improper nesting) M compiler/wasm32/aasmcpu.pas --- commit 84f0b94549750466a5f84fc63b9130f865e6b4ef Author: Nikolay Nikolov Date: Thu Oct 5 20:24:43 2023 +0300 + more consistency checks for unexpected instructions when converting to wasm structured instruction form M compiler/wasm32/aasmcpu.pas --- commit 3a85a5a9cf7e66c8ffecb22e1abd10f3b5376693 Author: Nikolay Nikolov Date: Thu Oct 5 20:37:55 2023 +0300 + also debug print structured try..catch and try..delegate blocks M compiler/aggas.pas --- commit 11b743fd6ab270a5c34f65ad1a133892d53ed3fa Author: Nikolay Nikolov Date: Thu Oct 5 20:40:27 2023 +0300 + also check for unexpected delegate instructions when converting to wasm structured form M compiler/wasm32/aasmcpu.pas --- commit 8e66041b7902f31a3d741ebeaf8b321c2990d171 Author: Nikolay Nikolov Date: Thu Oct 5 20:50:24 2023 +0300 + fix for the conversion of try..catch blocks to structured form M compiler/wasm32/aasmcpu.pas --- commit a3f221e189506777dd25308f67ed457ad121352e Author: florian Date: Fri Oct 6 21:40:25 2023 +0200 * allow set type to be a generic parameter, resolves #40453 M compiler/ptype.pas A tests/webtbs/tw40453.pp --- commit 6f5c6ac4107526e2d0856c715208ce4fac011fc5 Author: Pierre Muller Date: Mon Oct 9 22:02:28 2023 +0200 Add Exception backtrace when compiled with -dDUMP_EXCEPTION_BACKTRACE M compiler/compiler.pas --- commit 94cb1c3a49c870888ebcec5c84bba9e42140d4d8 Author: florian Date: Tue Oct 10 23:16:31 2023 +0200 * correctly name nested enum type debug symbols, resolves #40462 M compiler/dbgdwarf.pas A tests/webtbs/tw40462.pp --- commit 922893ddbb7276d85159ea0ef63f7ebe8f11c2df Author: Pierre Muller Date: Wed Oct 11 00:55:16 2023 +0200 Attempt to fix tcalext3 big-endian powerpc64 failure M compiler/cgobj.pas --- commit c97fa0a05da6fe5fa6e630b4054509974a624bd0 Author: Nikolay Nikolov Date: Sat Oct 14 02:18:47 2023 +0300 + introduced map_structured_asmlist M compiler/wasm32/aasmcpu.pas --- commit 3f4c41b45ffacda2defa96b3fe6df84f3c62e448 Author: Nikolay Nikolov Date: Mon Oct 16 20:38:56 2023 +0300 + introduced twasmstruc_stack M compiler/wasm32/aasmcpu.pas --- commit e318348372f0017a23830a65f217fe50ec5c5316 Author: Nikolay Nikolov Date: Mon Oct 16 20:55:53 2023 +0300 + added a block stack parameter to TAsmMapFunc M compiler/wasm32/aasmcpu.pas --- commit 267b99a8aadd1517b6afcdc81d4cde4f568e5903 Author: Nikolay Nikolov Date: Mon Oct 16 22:39:32 2023 +0300 + added code for creating labels, associated with blocks and converting branch with consts to the corresponding block's label M compiler/wasm32/aasmcpu.pas --- commit 6aa1f3686e3e557bb1d58b1195ef2080416272f9 Author: Nikolay Nikolov Date: Mon Oct 16 22:57:56 2023 +0300 + in case of unresolved labels, call resolve_labels_complex, which will eventually implement the stackifier algorithm. Currently, it converts the asmlist to structured. M compiler/wasm32/cpupi.pas --- commit 3892bb265e492f693c20aff1c369c5f186cf0c8a Author: Nikolay Nikolov Date: Mon Oct 16 23:04:11 2023 +0300 + always call resolve_labels_complex, if DEBUG_WASM_GOTO is defined. + define DEBUG_WASM_GOTO in ppcwasm32.lpi (but not in the makefiles) M compiler/ppcwasm32.lpi M compiler/wasm32/cpupi.pas --- commit c48a8ad31fa9b549be358497a7641481c1d98581 Author: Nikolay Nikolov Date: Mon Oct 16 23:05:10 2023 +0300 + added ait_wasm_structured_instruction to the SkipLineInfo set M compiler/aasmtai.pas --- commit 3c19adda78114804ebcc8d923b155b43f229b99f Author: Nikolay Nikolov Date: Mon Oct 16 23:09:56 2023 +0300 * moved the code that converts branch numbers to labels in the cpupi unit and call it from resolve_labels_complex M compiler/wasm32/aasmcpu.pas M compiler/wasm32/cpupi.pas --- commit e0c41ebc5a882278c58d56311e9180bc6720c301 Author: Nikolay Nikolov Date: Mon Oct 16 23:21:28 2023 +0300 * fixed hang in map_structured_asmlist_inner M compiler/wasm32/aasmcpu.pas --- commit ea18d11d410b6b6cb8f98f54cfb9fc1479c474b2 Author: Nikolay Nikolov Date: Mon Oct 16 23:22:10 2023 +0300 * fixed crash in map_structured_asmlist_inner, when the TAsmList parameter is nil M compiler/wasm32/aasmcpu.pas --- commit bc7b113e09d921871c1ecb3c5ad108ae7e8ab010 Author: Nikolay Nikolov Date: Tue Oct 17 00:14:12 2023 +0300 + convert wasm structured list to flat list M compiler/wasm32/aasmcpu.pas M compiler/wasm32/cpupi.pas --- commit c2173185e7996689cab3b5b41caaf89760b78d73 Author: Nikolay Nikolov Date: Tue Oct 17 02:11:46 2023 +0300 + added method tai_wasmstruc_if.ConvertToBrIf M compiler/wasm32/aasmcpu.pas --- commit d911e462b2a85b7160400ce36755003400584282 Author: Nikolay Nikolov Date: Tue Oct 17 03:00:23 2023 +0300 + added support for params and results in tai_wasmstruc_if.ConvertToBrIf M compiler/wasm32/aasmcpu.pas --- commit c4061e49e61398ea21466f63d6b1430efa3b7627 Author: J. Gareth "Curious Kit" Moreton Date: Tue Oct 17 13:20:59 2023 +0100 * ARM: Fixed issue where some offsets of ADR assembly instructions were incorrectly encoded by the internal assembler M compiler/arm/aasmcpu.pas --- commit edabca144788a9651c22e624301346aa95b1d9dc Author: Nikolay Nikolov Date: Wed Oct 18 00:48:45 2023 +0300 + added and implemented tcpuprocinfo.AllocWasmLocal M compiler/wasm32/cpupi.pas --- commit db23f54f8ce5bf8f519d0a7673476210fd747054 Author: Nikolay Nikolov Date: Wed Oct 18 01:41:25 2023 +0300 * Local var templist renamed localslist. No functional changes. M compiler/wasm32/cpupi.pas --- commit 0e39e7c12de0812c6daa343796c4d2fd148b1b32 Author: Nikolay Nikolov Date: Wed Oct 18 01:47:42 2023 +0300 * moved the preparation of the locals asm list in tcpuprocinfo.postprocess_code to a local subroutine M compiler/wasm32/cpupi.pas --- commit e81cff0408c5008784229ffd1bc1cac39be8854a Author: Nikolay Nikolov Date: Wed Oct 18 01:50:31 2023 +0300 * moved the insertion of the wasm locals asmlist to a local subroutine M compiler/wasm32/cpupi.pas --- commit 5b64e5b9579cadd9baac768a773823d71914f3b2 Author: Nikolay Nikolov Date: Wed Oct 18 01:51:11 2023 +0300 * insert the wasm locals asm list after resolve_labels_complex, since it will (in the future) be able to allocate more locals, in order to resolve the branches and goto M compiler/wasm32/cpupi.pas --- commit 8b00598cab3618b66c8b68663750d1fffa4ee85b Author: Nikolay Nikolov Date: Wed Oct 18 01:52:44 2023 +0300 * set the last=true property of the last tai_local in the locals list in the beginning of insert_localslist, instead of in the end of prepare_locals M compiler/wasm32/cpupi.pas --- commit 59128241adc5ca60b513cb47f0316df6d1adbf76 Author: Nikolay Nikolov Date: Wed Oct 18 01:59:55 2023 +0300 + support mapping of structured instructions also in map_structured_asmlist_inner M compiler/wasm32/aasmcpu.pas --- commit 0f07c966b62445ab8bdef939ce15f460c9beae80 Author: Nikolay Nikolov Date: Wed Oct 18 02:31:58 2023 +0300 * convert if structured instructions to br_if + labels M compiler/wasm32/aasmcpu.pas M compiler/wasm32/cpupi.pas --- commit 9584348c407935d8e306cc9750195c10a4aa4518 Author: Nikolay Nikolov Date: Wed Oct 18 03:31:11 2023 +0300 + added amfrtDeleteAi, support deleting instructions in map_structured_asmlist_inner M compiler/wasm32/aasmcpu.pas --- commit ce742b5b4d7f9f750a40581d0219fe2f6d704f78 Author: Nikolay Nikolov Date: Wed Oct 18 03:45:02 2023 +0300 * convert loop..end_loop blocks to flat list + branch instruction M compiler/wasm32/aasmcpu.pas M compiler/wasm32/cpupi.pas --- commit d50ef3381fa11144a75b300c21c2605ada94b6d3 Author: Nikolay Nikolov Date: Wed Oct 18 03:47:58 2023 +0300 * strip block instructions M compiler/wasm32/cpupi.pas --- commit fc9719f5f989b7785e7d8ea06f82042e49f6229a Author: Nikolay Nikolov Date: Wed Oct 18 03:54:37 2023 +0300 + add the extra allocated locals before inserting the locals list in wasm32 tcpuprocinfo.postprocess_code M compiler/wasm32/cpupi.pas --- commit bb2e626fc39410627cada94e17d469e8102fe136 Author: J. Gareth "Curious Kit" Moreton Date: Thu Oct 19 16:54:23 2023 +0100 * a64: Fixed bug where BIC instructions were treated as having 2 operands rather than 3 M compiler/aarch64/aasmcpu.pas --- commit 23e514621d6e5b0963912debe801603b75f62089 Author: J. Gareth "Curious Kit" Moreton Date: Thu Oct 19 22:23:05 2023 +0100 * a64: Corrected supported shifter/extender mnemonics for arithmetic/logical instructions M compiler/aarch64/aasmcpu.pas M compiler/aarch64/cpubase.pas --- commit f88ee7b2d8053a1599facaeb0c065c216e58ef43 Author: Sven/Sarah Barth Date: Fri Oct 20 15:48:32 2023 +0200 * fix #40451: load the assembly symbol into a separate operand so that an offset already contained in oper isn't discarded + added test M compiler/x86/rax86att.pas A tests/webtbs/tw40451.pp --- commit 287ef8e79aac426249c59181a07f217ebe95986b Author: Sven/Sarah Barth Date: Fri Oct 20 16:01:32 2023 +0200 * fix #40410: allow specialization of a procdef also inside exception handlers + added test M compiler/pexpr.pas A tests/webtbs/tw40410.pp --- commit 879f48d2151cc48a54cc11242d0aa07150bf5e8d Author: Sven/Sarah Barth Date: Fri Oct 20 16:29:57 2023 +0200 * the unit name has already been uppercased for the search, so no need to uppercase it again for the message output M compiler/fppu.pas --- commit 38d2f3d58cdfe477b60f3abf4dfe61ab76ec6cc1 Author: J. Gareth "Curious Kit" Moreton Date: Sat Oct 21 20:50:00 2023 +0100 * a64: Renamed OptPostCMP/And to PostPeepholeOptCMP/AND for internal consistency M compiler/aarch64/aoptcpu.pas --- commit f9ecc12e5bac5414286325ae2f940de555304fc8 Author: Nikolay Nikolov Date: Sat Oct 21 23:33:09 2023 +0300 + added label resolution via state machine M compiler/wasm32/cpupi.pas --- commit 6f942996a5870c36a5178a27c21cf248c2d3e894 Author: Nikolay Nikolov Date: Sat Oct 21 23:46:00 2023 +0300 * fixes to the mangling of the entry and exit code during the state machine label resolution M compiler/wasm32/cpupi.pas --- commit 5e9cf637d36db400f9fc7926af8b51b5ab9b8215 Author: Nikolay Nikolov Date: Sat Oct 21 23:54:40 2023 +0300 * fixed branch ordering in resolve_labels_via_state_machine M compiler/wasm32/cpupi.pas --- commit b1cec6de2aa6845ad4b891617fab6b134f8ac046 Author: Nikolay Nikolov Date: Sun Oct 22 00:35:05 2023 +0300 + allow jumps to goto targets M compiler/aasmbase.pas M compiler/wasm32/cgcpu.pas M compiler/wasm32/hlcgcpu.pas --- commit 84186db35f1879b102759102797abbc4f9b90e75 Author: Nikolay Nikolov Date: Sun Oct 22 00:52:37 2023 +0300 * support local.get/set/tee with a const parameter in the wasm internal assembler writer M compiler/wasm32/aasmcpu.pas --- commit b3e64d70e7b712b675d69a3cd57ad089af5c5ccf Author: Nikolay Nikolov Date: Sun Oct 22 01:09:26 2023 +0300 * temporary workaround for the is_pascal_goto_target check not working properly in a_jmp_always M compiler/wasm32/hlcgcpu.pas --- commit da37fabc42ce12bf7bbb5f9ea75a5eec7a8b7b79 Author: Nikolay Nikolov Date: Sun Oct 22 01:11:17 2023 +0300 * fixed a div by zero error, when compiling a wasi-hosted compiler M compiler/optcse.pas --- commit 545978b290f97ceb0de431e1d7bbc5f11c7cd19a Author: Nikolay Nikolov Date: Sun Oct 22 01:29:50 2023 +0300 * fixed the label resolution for asmlists with WebAssembly native exceptions M compiler/wasm32/cpupi.pas --- commit 9f19f582c414a2543d1db7621d1e1fd3db60ec47 Author: J. Gareth "Curious Kit" Moreton Date: Sun Oct 22 01:46:21 2023 +0100 * arm/a64: New AND/CMP -> TST or ANDS optimisation M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit 84e2613ca87a621d53dca817806f6c66332ecbc2 Author: Nikolay Nikolov Date: Sun Oct 22 03:11:28 2023 +0300 * refactor: wasm_convert_to_flat_asmlist and wasm_convert_to_structured_asmlist now accept a single var parameter M compiler/wasm32/aasmcpu.pas M compiler/wasm32/cpupi.pas --- commit cf21365a21993c145e9fb7b99f83dfe54b9faa1d Author: Nikolay Nikolov Date: Sun Oct 22 04:01:37 2023 +0300 * fixed and enabled the is_pascal_goto_target check M compiler/aasmbase.pas M compiler/aasmtai.pas M compiler/wasm32/cgcpu.pas M compiler/wasm32/cpupi.pas M compiler/wasm32/hlcgcpu.pas --- commit 064172d65a4bc04e8205a0c5b560516e70180b83 Author: Nikolay Nikolov Date: Sun Oct 22 04:03:04 2023 +0300 * refactored thlcgwasm.a_jmp_always. No functional changes. M compiler/wasm32/hlcgcpu.pas --- commit bf29f2051c6408567e61d428e10b348bd9870861 Author: J. Gareth "Curious Kit" Moreton Date: Sun Oct 22 04:10:33 2023 +0100 * arm/a64: Added new TST post-peephole optimisation to replace previous AND/CMP/B(c) optimisation M compiler/aarch64/aoptcpu.pas --- commit 5486182f568f0151894a6223e8a4255a522b2376 Author: Nikolay Nikolov Date: Sun Oct 22 04:12:59 2023 +0300 + introduced thlcgobj.a_jmp_always_pascal_goto - same as .a_jmp_always, but generated by a pascal goto statement M compiler/hlcgobj.pas M compiler/ncgflw.pas M compiler/wasm32/hlcgcpu.pas --- commit 31dff18a61e5ba7bbf0be67c466f0b481c262836 Author: Nikolay Nikolov Date: Sun Oct 22 04:33:29 2023 +0300 * refactored the taicpu_wasm_structured_instruction descendants to use a wstyp enum variable, instead of using the 'is' operator to determine the class type M compiler/wasm32/aasmcpu.pas M compiler/wasm32/cpupi.pas --- commit 3defa344709ecac3fca36af91829cf48c30f6d22 Author: Nikolay Nikolov Date: Sun Oct 22 05:23:04 2023 +0300 + check whether all br instructions, generated by goto point to a pascal goto label M compiler/wasm32/aasmcpu.pas M compiler/wasm32/cpupi.pas M compiler/wasm32/hlcgcpu.pas --- commit b521ac967f6ce6e802521d9ec385d34536abc9ac Author: Pierre Muller Date: Sun Oct 22 22:23:36 2023 +0000 Fix possible overflow in riscv32 compiler M compiler/riscv32/cgcpu.pas --- commit 1fafcbc12557e8cbebf0d50168f1a6c174c511ad Author: J. Gareth "Curious Kit" Moreton Date: Mon Oct 23 01:18:18 2023 +0100 * New "TryRemoveRegAlloc" optimisation utility M compiler/aoptobj.pas --- commit 44cda176749d2e50e9b7de9184d475b81f224fa8 Author: J. Gareth "Curious Kit" Moreton Date: Thu Oct 26 00:28:59 2023 +0100 * x86: Fixed bug in "LeaLea2Lea 2" optimisation where final offset was calculated incorrectly M compiler/x86/aoptx86.pas --- commit acf5675a909452433618b11daa267433a1beac01 Author: Pierre Muller Date: Thu Oct 26 07:47:10 2023 +0000 Change AVOID_OVERFLOW to avoid warning about inequality being always true M compiler/riscv32/cgcpu.pas --- commit b18c10d0d8930b3e49e2e9f4eca8f9b4b09677e9 Author: J. Gareth "Curious Kit" Moreton Date: Sat Oct 28 00:26:08 2023 +0100 * arm/a64: New "OptPass2TST" routine to catch "TST; B.c; AND -> ANDS; B.c" optimisation M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit af1eb33a7502c017a4fa2c7c739b6a3cff6e962e Author: J. Gareth "Curious Kit" Moreton Date: Sun Oct 29 01:55:11 2023 +0100 * x86: Fixed inefficiency in the long-range MOV optimisations M compiler/x86/aoptx86.pas --- commit f4da88726c208fb12331e2bb4ebd8998977fd79b Author: J. Gareth "Curious Kit" Moreton Date: Sun Oct 29 09:26:10 2023 +0000 * x86: Factored out the MovMov2MovMov 2 optimisation to catch an inefficiency in the "Deep MOV" optimisations M compiler/x86/aoptx86.pas --- commit 9f3a50315b1c2fc5c3ab09eaa8b2f5b1c40f7fcc Author: Michaël Van Canneyt Date: Tue Oct 31 08:41:58 2023 +0100 * Enable function references and anonymous functions in Delphi mode M compiler/globals.pas A tests/test/tfuncref52.pp A tests/test/tfuncref53.pp --- commit da47c509dfdaa4bdb4d92a4935c4071191341338 Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 1 11:37:25 2023 +0000 * Label and align optimisation is now only done in the post-peephole stage rather than passes 1 and 2. M compiler/aoptobj.pas --- commit b054febbc8e2a927629eb888105e2a6e0a4a84d9 Author: Pierre Muller Date: Wed Nov 1 16:35:23 2023 +0000 Change internal linker in cross-endian message. Change message level from error to warning, in order to allow to work on full support of cross-endian internal assemblers and linkers. M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas --- commit 90e0b426ef479cdd8879cc95b7dadb8d4790d45a Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 1 21:05:25 2023 +0000 * SkipInstr now includes ait_align M compiler/aasmtai.pas --- commit 04b28ed5879408ddf5a07015057768b76b2af9f6 Author: Michaël Van Canneyt Date: Thu Nov 2 11:06:55 2023 +0100 * Search config file in same directory as actual compiler binary M compiler/utils/fpc.pp --- commit a02848632571f0d3cfc676bb8bb38161d4ce1e0e Author: Nikolay Nikolov Date: Thu Nov 2 11:59:17 2023 +0200 + added methods for writing ints with specific endianess in TObjData M compiler/ogbase.pas --- commit b5fa73b82c05ae51ff1c0b51f50de32c7a4491f4 Author: Nikolay Nikolov Date: Thu Nov 2 12:11:23 2023 +0200 * some fixes for the x86 assembler writer, when running on a big-endian hosted platform M compiler/x86/aasmcpu.pas --- commit 7080bcc16000b5f14ea81b0fad40a8ab0b5f9677 Author: J. Gareth "Curious Kit" Moreton Date: Thu Nov 2 12:39:52 2023 +0000 * UpdateUsedRegsAndOptimize improved to clear aligns that don't have any live labels after them, and to better handle non-jump labels. M compiler/aoptobj.pas --- commit 526de20d9a1850e6913ae15e599ce8af03fd6666 Author: Nikolay Nikolov Date: Thu Nov 2 13:11:52 2023 +0200 + introduced methods for writing endian-specific integers to TObjSection M compiler/ogbase.pas --- commit 49ce3f5d2a0e65fd340897a684d73ae370e6e624 Author: Nikolay Nikolov Date: Thu Nov 2 14:19:08 2023 +0200 * big endian fix in TOmfObjData.writeReloc M compiler/ogomf.pas --- commit beca14334c4a38174c0dd6d628d81e4367ac4969 Author: Nikolay Nikolov Date: Thu Nov 2 14:28:48 2023 +0200 * use NtoLE instead of LEtoN in OMF DoRelocationFixup when converting from native to little endian. No functional changes, just better readability. M compiler/ogomf.pas --- commit 589fb20386b63be2f90b0fed86868be88d2b878c Author: florian Date: Sat Nov 4 22:43:53 2023 +0100 * write pretty symbol name of a generic is not found during specialization M compiler/pgenutil.pas --- commit 0b6faeba68f1cc4083cc753173e8167d4c64e3e0 Author: J. Gareth "Curious Kit" Moreton Date: Sun Nov 5 05:02:43 2023 +0000 * x86: CMOV block optimisation overhauled M compiler/x86/aoptx86.pas --- commit 0ca260e08ced39b0ec1f111b159ada45060dce44 Author: Jonas Maebe Date: Sun Nov 5 10:13:33 2023 +0100 LLVM: fix currency parameters passed on the stack on x86-64 Resolves #40496 M compiler/x86_64/cpupara.pas A tests/webtbs/tw40496.pp --- commit afe2e80673d93a936d245e9adbd6b7ef2f71476e Author: J. Gareth "Curious Kit" Moreton Date: Mon Nov 6 01:42:43 2023 +0000 * a64: Node parser now attempts to directly create BIC, ORN and EON instructions M compiler/aarch64/ncpuadd.pas --- commit 5fab6cc5e00e52e60bf6155968e9c950d5a4079b Author: J. Gareth "Curious Kit" Moreton Date: Mon Nov 6 10:53:56 2023 +0000 * Fixed internal error number clash (2022102110) M compiler/x86/nx86inl.pas --- commit 63a8fe07ee7226016f9e2edcd829c03236829584 Author: Michaël Van Canneyt Date: Mon Nov 6 10:53:57 2023 +0100 * Avoid access violation, use internalerror instead. See also issue #40502 M compiler/pgenutil.pas --- commit ade7af52347f580b26312bad7b6a1f1f01f9df22 Author: Michaël Van Canneyt Date: Mon Nov 6 11:25:19 2023 +0100 * Refer to bugreport for internal error 20231102 M compiler/pgenutil.pas --- commit d53af12a6dab99b71d8598aa82608e24c488b15e Author: Pierre Muller Date: Mon Nov 6 17:03:05 2023 +0000 Check that tai returned by GetNextInstruction is really a taicpu object before using an explicit typecast M compiler/x86/aoptx86.pas --- commit 81157e9846ffbca01d1c3e9f49a218d15f51ab96 Author: Pierre Muller Date: Mon Nov 6 19:55:07 2023 +0000 Use faster check for type of tai object M compiler/x86/aoptx86.pas --- commit bc1c93c05fa4d1d595b33a5cae9ed112cae503de Author: Pierre Muller Date: Mon Nov 6 20:50:24 2023 +0000 Fix handling of ST_LOADMESSAGES token M compiler/utils/ppuutils/ppudump.pp --- commit 68668c649e5aed88bac022a11a4e78bb3adb3a41 Author: Sven/Sarah Barth Date: Tue Nov 7 20:28:15 2023 +0100 * fix #40500: do a for-in on a string variable using low(strvar) to high(strvar) so that zero based strings are handled correctly + added test M compiler/nflw.pas A tests/webtbs/tw40500.pp --- commit 032cbc54a77be957e307acfdf0fcc2636664d173 Author: Sven/Sarah Barth Date: Tue Nov 7 20:31:04 2023 +0100 * fix typo in comment M compiler/ptype.pas --- commit 3f1d62af8e91db86d04cf42c094e17e64eabd258 Author: Sven/Sarah Barth Date: Tue Nov 7 20:33:55 2023 +0100 * fix #40504: always provide the global enum symbol for anonymous enum types (e.g. as part of a set) + added test M compiler/ptype.pas A tests/webtbs/tw40504.pp --- commit 63879e74cda7c7d2ea7be1680e6308aa7862c87c Author: J. Gareth "Curious Kit" Moreton Date: Fri Nov 10 17:43:36 2023 +0000 * x86: Additional TEST/CMP optimisations to optimise CMOV blocks that aren't optimal due to register pressure M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 1f178d381fe9f66905cdb409c1986dacac061831 Author: J. Gareth "Curious Kit" Moreton Date: Fri Nov 10 19:40:14 2023 +0000 * x86: PostPeepholeOptMov attempts to convert mov $0,%reg to xor %reg,%reg and mov $-1,%reg to or $-1,%reg under -Os even if the flags are in use by looking ahead. M compiler/x86/aoptx86.pas --- commit c9b88a1cd0f02bddbc5a74c662a2c6ee299bb4a5 Author: Michaël Van Canneyt Date: Sun Nov 12 09:55:30 2023 +0100 * Allow to disable 8.3 filename search M compiler/cfileutl.pas M compiler/fppu.pas M compiler/globals.pas M compiler/globtype.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/options.pas --- commit 6e9521d99a8f1c6002f4b5f0dd55211f2229662d Author: Pierre Muller Date: Sun Nov 12 18:22:19 2023 +0000 Fix for trunk arm STM optimize bug M compiler/arm/aoptcpu.pas --- commit 6e5860cb8753189d62529ab327e07f6b83d0e629 Author: florian Date: Sun Nov 12 22:30:09 2023 +0100 * check for *-1 multiplications after folding, resolves #40448 M compiler/nadd.pas --- commit ef1cb852a8fe0d0fab065f2b24eecab37b7bf48c Author: J. Gareth "Curious Kit" Moreton Date: Mon Nov 13 11:44:15 2023 +0000 * a64: New CSEL block optimisations ported over from x86 CMOV block optimisations M compiler/aarch64/aoptcpu.pas M compiler/aarch64/cpubase.pas --- commit bc727f9fb220c61518b916307d182a02e5586265 Author: Nikolay Nikolov Date: Wed Nov 15 01:39:39 2023 +0200 + added TWasmObjInput class. To be used in the WASM internal linker. Not doing anything, yet. M compiler/ogwasm.pas --- commit b9668a88c69abcd7061bfb5a4baf74d83db13be9 Author: Nikolay Nikolov Date: Wed Nov 15 01:55:12 2023 +0200 + implemented TWasmObjInput.CanReadObjData: checks for WASM header and version M compiler/ogwasm.pas --- commit d98d0c5e62b6fc704ff39364bdc20f66e0dd64d9 Author: Nikolay Nikolov Date: Wed Nov 15 17:58:15 2023 +0200 + started implementing TWasmObjInput.ReadObjData M compiler/ogwasm.pas --- commit 6652fa79199d9f0d0c1d433b1c7481571bae9f5c Author: Michaël Van Canneyt Date: Wed Nov 15 18:58:20 2023 +0100 * Properly zero-terminate ansistring when calling unicode2ascii M compiler/pexpr.pas --- commit ddac127347b4dca6ef0c0156bd60f27904431488 Author: Nikolay Nikolov Date: Fri Nov 17 00:08:15 2023 +0200 + added TInternalLinkerWasi class (not fully implemented, yet) M compiler/systems/t_wasi.pas --- commit 5a61f51b3c9cfa8bd2122da0e8747bff97e279f2 Author: Nikolay Nikolov Date: Fri Nov 17 00:12:18 2023 +0200 + added TWasmExeOutput class (not implemented, yet) M compiler/ogwasm.pas M compiler/systems/t_wasi.pas --- commit 4a1db1dc797edb2d8f5aa89ec3b8fe9e8b2137c3 Author: Karoly Balogh Date: Sun Nov 19 13:21:12 2023 +0100 m68k: initial compiler changes for Human68k (Sharp X68000) support M compiler/aggas.pas M compiler/compiler.pas M compiler/m68k/ag68kvasm.pas M compiler/m68k/cputarg.pas M compiler/msg/errore.msg M compiler/options.pas M compiler/systems.inc A compiler/systems/i_human68k.pas A compiler/systems/t_human68k.pas M compiler/utils/ppuutils/ppudump.pp --- commit 3c34c8b86b456574518ce6565d5ea23d65c63402 Author: Karoly Balogh Date: Sun Nov 19 13:22:00 2023 +0100 tabs to spaces cosmetics. no functional change M compiler/systems.inc --- commit e5de38c42d7e767a8625b4042c57ad64bdc941e1 Author: florian Date: Sun Nov 19 13:37:37 2023 +0100 * patch by lagprogramming: Improvement of function SetCompileModeSwitch, resolves #40525 M compiler/scanner.pas --- commit 2ed2ca5cf0611267f1f0d58f164625cdfbb6f858 Author: Pierre Muller Date: Mon Nov 20 17:52:21 2023 +0100 Add missing token buffer index update for ST_LOADMESSAGES handling M compiler/utils/ppuutils/ppudump.pp --- commit 98ef2773e01cb66bfa25c72f6cd84034f6eec22a Author: Pierre Muller Date: Mon Nov 20 20:59:04 2023 +0100 Improve token buffer size checks. * For settings comparison: call CompareByte only on copy_size. * For mesgnb: verify that there is enough memory space in rest of tokenbuf to hold the number of messages. + Add a check that tbi is not greater than tokenbufsize. M compiler/utils/ppuutils/ppudump.pp --- commit ba773e3385d908ad2ecab8c6e50371b19a3c1adb Author: Karoly Balogh Date: Tue Nov 21 11:50:42 2023 +0100 human68k: this system has internal sysinit M compiler/systems.pas --- commit d72eaaf734e8cc074acbb9ae43bcf25154476ea5 Author: Karoly Balogh Date: Tue Nov 21 11:51:19 2023 +0100 human68k: ppudump typo/build fix M compiler/utils/ppuutils/ppudump.pp --- commit a398da4c72b5a65018ff8f4c1b70ed574a46a95d Author: Karoly Balogh Date: Tue Nov 21 13:10:04 2023 +0100 human68k: fix xecutable generation M compiler/systems/t_human68k.pas --- commit 439faf0da88cb10015eede0b7b8c6119ad740358 Author: Karoly Balogh Date: Thu Nov 23 05:32:24 2023 +0100 m68k: basic DOS syscall generation for human68k M compiler/m68k/n68kcal.pas M compiler/pdecsub.pas M compiler/syscinfo.pas --- commit 429d2cdf12f628ba3c6ace311d5a590facc4dbcc Author: Pierre Muller Date: Thu Nov 23 20:54:30 2023 +0100 Call FindUtil for ld or nlmconv utils at linking stage, not before M compiler/systems/t_nwl.pas M compiler/systems/t_nwm.pas --- commit 29916bc6f64e0a7d0c745df657ad3eb7baaaea01 Author: J. Gareth "Curious Kit" Moreton Date: Fri Nov 24 05:11:31 2023 +0000 * arm: Fixed "RegInInstruction" and "RegModifiedByInstruction" not handling the flags properly M compiler/arm/aoptcpu.pas M compiler/arm/aoptcpub.pas --- commit 248082347fc619a7c4381218e01b96ef32545594 Author: ccrause Date: Fri Nov 24 22:05:33 2023 +0200 AVR optimization LdsMov2Lds M compiler/avr/aoptcpu.pas --- commit 6b2e4fa4133a496c1c3f89e3c71fffbdd7c192fb Author: J. Gareth "Curious Kit" Moreton Date: Sat Nov 25 00:47:54 2023 +0000 * arm: "OpCmp2OpS" moved to Pass 2 so it doesn't conflict with AND; CMP -> TST optimisation M compiler/arm/aoptcpu.pas --- commit 271f69db12263731e2efb601e27862b7d97a0b8e Author: J. Gareth "Curious Kit" Moreton Date: Sat Nov 25 06:15:16 2023 +0000 * arm/a64: "OptPass2AND" and "OptPass2CMP" adapted to remove vestigial CMP and TST instructions M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit 2db4cae7aa05c1dbd754744c608ff9c11818fe92 Author: Jonas Maebe Date: Sat Nov 25 21:39:38 2023 +0100 nested procvars: support assignments when switch not active Support assigning one nested procvar to another even when the nestedprocvars modeswitch is not active. This can happen when the type was declared in a different unit that was compiled with this modeswitch, or in internally generated wrapper code (which uses "pure" objfpc mode) M compiler/htypechk.pas A tests/test/tnest6.pp A tests/test/tnest6a.pp A tests/test/unest6a.pp --- commit 72081c803ee5ea2007ee77a1bdae0f2a02e94c8f Author: J. Gareth "Curious Kit" Moreton Date: Tue Nov 28 10:03:14 2023 +0000 * a64: SkipAligns calls removed. M compiler/aarch64/aoptcpu.pas --- commit 6fd5b86cff2c5e04292da1e4239b93f34c839cf6 Author: J. Gareth "Curious Kit" Moreton Date: Tue Nov 28 10:03:35 2023 +0000 * x86: SkipAligns calls removed. M compiler/x86/aoptx86.pas --- commit dbcab9cc2919b923595e087a9c4aac133390443c Author: J. Gareth "Curious Kit" Moreton Date: Tue Nov 28 10:03:46 2023 +0000 * SkipAligns method removed M compiler/aoptutils.pas --- commit 2c89ddf62b1156ac23c85bf5d34c8cbc98d9875b Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 29 04:20:01 2023 +0000 * SkipLabels now handles alignment fields correctly M compiler/aoptutils.pas --- commit af40ae2c9192d5c3ad8370d8ca7799e6015d6a23 Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 29 04:23:57 2023 +0000 * x86: Safety check, since after calling DoJumpOptimizations, the input may no longer be the same tai M compiler/x86/aoptx86.pas --- commit 3a2342fec4e810872748e3ac2613e552dd2f2fc7 Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 29 04:26:37 2023 +0000 * GetFinalDestination now calls SkipLabels on an alignment field M compiler/aoptobj.pas --- commit f39cfc75fcb7da60b832e745ba7d442e039aae19 Author: Pierre Muller Date: Wed Nov 29 06:54:18 2023 +0000 First attempt to fix bug report #40537 M compiler/htypechk.pas --- commit ccf631eabd3f52111825846b4911ee6dc918726a Author: J. Gareth "Curious Kit" Moreton Date: Wed Nov 29 08:02:43 2023 +0000 * x86: Fixed inefficiencies revealed in "TEST/JNE/TEST/JNE" optimisations after SkipAligns cull. A variant "TEST/JNE/TEST/JE/@Lbl" optimisation now exists to accommodate for an intermediate jump optimisation that prevents the original optimisation from working if performed first. M compiler/x86/aoptx86.pas --- commit 692754b4228c0c97b08b2857362e7321eac7d936 Author: Pierre Muller Date: Wed Nov 29 09:58:37 2023 +0000 Move test to end of possible conversion and add check_valid_var boolean variable M compiler/htypechk.pas --- commit f249987133a617dd1d86cced6e16be1dd36f7205 Author: Pierre Muller Date: Thu Nov 30 11:32:33 2023 +0100 Fix usage of GNU assembler for i386-nativent target M compiler/aggas.pas --- commit 9eda172a485371faa535561c5428b5d5d256b96d Author: Karoly Balogh Date: Thu Nov 30 14:13:13 2023 +0100 m68k: do not generate argument popping for a noreturn call M compiler/m68k/n68kcal.pas --- commit f2c5bb2bfdd30aaf65514c79899dc4d5dc1eee3c Author: Karoly Balogh Date: Fri Dec 1 01:38:56 2023 +0100 regenerated msg*.inc files for the compiler after human68k merge M compiler/msgidx.inc M compiler/msgtxt.inc --- commit 5649ce150b66e35934033879931cbed15f911aa1 Author: Karoly Balogh Date: Fri Dec 1 01:45:23 2023 +0100 m68k: have the targets in alphabetical order in the help text M compiler/msg/errore.msg M compiler/msgtxt.inc --- commit f1e32bb187b6ffaffed39eb94e75d0b26be2c989 Author: Pierre Muller Date: Fri Dec 1 22:12:54 2023 +0100 Add human68k OS to list of supported OSes for m68k GNU assembler M compiler/m68k/ag68kgas.pas --- commit 34ae77bd3b0c157043dd666e65667cb2c7116039 Author: Pierre Muller Date: Fri Dec 1 22:51:03 2023 +0100 Improve GNU linker call for m68k-human68k target + Add '-b xfile' option + Add '-m human68kxfile' option + Add $GCSECTIONS and set GCSectionStr for GNU linker M compiler/systems/t_human68k.pas --- commit e1e9a6728f7601f9994be89374720edcf408826c Author: florian Date: Sat Dec 2 20:58:43 2023 +0100 * fix casing M compiler/msg/errord.msg M compiler/msg/errordu.msg M compiler/msg/errore.msg M compiler/msg/errorpt.msg M compiler/msg/errorptu.msg M compiler/msgtxt.inc --- commit 82f025e9e7505259228cd1b1a1b18e81c9806a82 Author: Jonas Maebe Date: Sat Dec 2 22:08:25 2023 +0100 trealconstnode.printnodedata: fix currency values getting written to stdout M compiler/ncon.pas --- commit 1f91fe4b11d06cba30801be7852cf0b0be7a3b21 Author: florian Date: Sun Dec 3 11:33:58 2023 +0100 * fix output position of deprecated hint for certain cases where it was wrong, resolves #40534 M compiler/pexpr.pas --- commit b81b818a7569b762f653584deba78bb0fca2a81d Author: Karoly Balogh Date: Sun Dec 3 11:35:21 2023 +0100 human68k: set default stack size to 16KiB M compiler/systems/i_human68k.pas --- commit 24fcd05e8cbc84c6cc8281c4914bd560a36fcbdc Author: Jonas Maebe Date: Mon Dec 4 22:49:27 2023 +0100 LLVM: only round currency values when storing them back to memory Resolves #40550 M compiler/llvm/hlcgllvm.pas M compiler/llvm/nllvmcnv.pas A tests/webtbs/tw40550.pp --- commit aa3f29eec8ef6cf9280699e260ee4f700e13588a Author: Jonas Maebe Date: Mon Dec 4 22:50:59 2023 +0100 LLVM: recognise Xcode-15 as LLVM codegen target M compiler/llvm/llvminfo.pas --- commit 49cb7b256476409924c581145a760b863b9e755d Author: Jonas Maebe Date: Wed Dec 6 22:53:26 2023 +0100 LLVM: use llvm.dbg.declare instead of llvm.dbg.addr for variable declarations Even though it's supposedly deprecated, clang also still uses it and without the declaration ranges of local variables are sometimes cut off M compiler/hlcgobj.pas M compiler/llvm/dbgllvm.pas M compiler/llvm/hlcgllvm.pas M compiler/ncgld.pas M rtl/inc/llvmintr.inc --- commit 5c090fce2ce9a099ad52ea4aadf7abbefdeb67f3 Author: J. Gareth "Curious Kit" Moreton Date: Mon Dec 11 17:59:57 2023 +0000 * Node dumps now output the convention if it's not pocall_default M compiler/psub.pas --- commit 3539b4a6f342a641418d0761942352c158128aae Author: florian Date: Sun Dec 17 18:32:40 2023 +0100 * do str(...) optimization only in level 3+ mode M compiler/ncal.pas --- commit 53e7006d56d7e111ba6629d0296806cd02e91f5f Author: Karoly Balogh Date: Sat Dec 23 13:48:46 2023 +0100 m68k: fix the assembler reader to bail out earlier on a failed parsing of a constant expression M compiler/m68k/ra68kmot.pas --- commit 790a58be52aa745633f5c23464a774d774200fa6 Author: Nikolay Nikolov Date: Sun Dec 24 12:18:15 2023 +0200 + added ld_int_wasi constant. Register the WASI internal linker. M compiler/systems.inc M compiler/systems/t_wasi.pas --- commit 78793878611786c74714f3ec66551cb9050b4077 Author: Nikolay Nikolov Date: Sun Dec 24 12:22:59 2023 +0200 * enable the WASM internal linker, in case the compiler is compiled with the ENABLE_WASM_INTERNAL_LINKER define M compiler/ppcwasm32.lpi M compiler/systems/i_wasi.pas --- commit 0f8ecb73e73c3a5ed9ba6ce7fce91e7d40c611a5 Author: Nikolay Nikolov Date: Sun Dec 24 12:30:56 2023 +0200 * override and implement TInternalLinkerWasi.InitSysInitUnitName M compiler/systems/t_wasi.pas --- commit 6bead20fc34cbb19d66c74047a3c23dd9d6d378f Author: Nikolay Nikolov Date: Sun Dec 24 12:35:50 2023 +0200 * set CObjData in the TWasmExeOutput constructor M compiler/ogwasm.pas --- commit 340499dd3a7b22bebf01644f857254d1dff2f814 Author: Nikolay Nikolov Date: Sun Dec 24 12:38:52 2023 +0200 * override GetCodeSize, GetDataSize and GetBssSize in TInternalLinkerWasi to avoid crash M compiler/systems/t_wasi.pas --- commit 54eb8de6581fa93531ac048f356261ef565d7a53 Author: Nikolay Nikolov Date: Sun Dec 24 12:42:29 2023 +0200 * write a WebAssembly header in TWasmExeOutput.writeData M compiler/ogwasm.pas --- commit 34445a912abc41bb8c95281e51388fd9ecb0f241 Author: Nikolay Nikolov Date: Sun Dec 24 12:45:18 2023 +0200 * implementation of TInternalLinkerWasi.DefaultLinkScript. Create a script that reads all the object files. M compiler/systems/t_wasi.pas --- commit 90e7b2be56ec428191cf6a68581840468b74a054 Author: Nikolay Nikolov Date: Sun Dec 24 14:12:53 2023 +0200 + added functions for reading the different types of Wasm object sections M compiler/ogwasm.pas --- commit 2626b85984b08a8e1a3d9da1ea07d72da43049d2 Author: Nikolay Nikolov Date: Sun Dec 24 14:30:06 2023 +0200 + introduced decode_wasm_basic_type function M compiler/wasm32/cpubase.pas --- commit a08c937bebbe84aa66173b7484caf0246817ef34 Author: Nikolay Nikolov Date: Sun Dec 24 14:57:16 2023 +0200 + Wasm internal linker, object reader: implemented parsing of the type section M compiler/ogwasm.pas --- commit 01dbc63735030485dccf5960470de6aa12e6d28a Author: Nikolay Nikolov Date: Sun Dec 24 15:04:22 2023 +0200 + input error message in case the type section size is unexpected/wrong M compiler/ogwasm.pas --- commit 3bc6340424b6c43a67a1879a4648f1542ecf1d29 Author: Nikolay Nikolov Date: Sun Dec 24 15:28:01 2023 +0200 - removed TODO comment M compiler/ogwasm.pas --- commit e6a3aa345000b3738ee681bbb516d6d1c0ac7e33 Author: Nikolay Nikolov Date: Sun Dec 24 15:52:32 2023 +0200 + import section duplicate check M compiler/ogwasm.pas --- commit 57aead9a1487bf0d0f60110780e5b73408bd23d8 Author: Nikolay Nikolov Date: Sun Dec 24 16:13:37 2023 +0200 + added const sets for the WebAssembly reference, numeric and vector types M compiler/wasm32/cpubase.pas --- commit e81b062e2d295ad64a692dde3cf6649282049d3e Author: Nikolay Nikolov Date: Sun Dec 24 16:35:13 2023 +0200 + WebAssembly object reader: implemented parsing of the import section M compiler/ogwasm.pas --- commit be56b641d708f31fb418f5d2f6133e3d97613f88 Author: Nikolay Nikolov Date: Sun Dec 24 16:51:23 2023 +0200 + function section duplicate check M compiler/ogwasm.pas --- commit c7880e7bd12117dda3958a7792e31e6145ae69ef Author: Nikolay Nikolov Date: Sun Dec 24 16:53:05 2023 +0200 + read the functions count from the functions section M compiler/ogwasm.pas --- commit f87a66f1e69891839a5e039a0b36084d21423761 Author: Nikolay Nikolov Date: Sun Dec 24 16:56:28 2023 +0200 + parse the rest of the function section M compiler/ogwasm.pas --- commit bcb7c069fbf2f13ab209b17384b854b3d9f6e2c2 Author: Nikolay Nikolov Date: Sun Dec 24 17:06:42 2023 +0200 + parse the data count section M compiler/ogwasm.pas --- commit 621699acca8f4f7683795ff8757c247fac6bc57a Author: Nikolay Nikolov Date: Tue Dec 26 11:43:49 2023 +0200 + introduced ReadUleb32 to avoid code repetition of the >high(uint32) checks M compiler/ogwasm.pas --- commit c9b407508aee0ac699f5cb6b4a73638776572eb2 Author: Nikolay Nikolov Date: Tue Dec 26 12:46:06 2023 +0200 * use ReadUleb32 in more places M compiler/ogwasm.pas --- commit 36fe4cf43d2945a7123f77bb602af6c4d94dbe97 Author: Nikolay Nikolov Date: Tue Dec 26 13:12:44 2023 +0200 * the ReadUleb, ReadUleb32 and ReadName methods moved to be local functions inside TWasmObjInput.ReadObjData.ReadSection M compiler/ogwasm.pas --- commit 01d97bea00960c131451ec6f58ee7593a36ab0e6 Author: Nikolay Nikolov Date: Tue Dec 26 13:13:42 2023 +0200 - rm commented out code M compiler/ogwasm.pas --- commit 16c18e845f04fca60341937bcb9117a40784053e Author: Nikolay Nikolov Date: Tue Dec 26 13:24:29 2023 +0200 - removed the TObjectReader parameter from ReadUleb, ReadUleb32 and ReadName M compiler/ogwasm.pas --- commit 8591f1218c9990918424536446c8751a0edbadae Author: Nikolay Nikolov Date: Tue Dec 26 13:40:26 2023 +0200 + added section bounds checking to the read function, used inside TWasmObjInput.ReadObjData.ReadSection M compiler/ogwasm.pas --- commit b2861bacddec80d8fb1a7f84eb30848a4668574f Author: Nikolay Nikolov Date: Tue Dec 26 13:42:07 2023 +0200 - removed the repeated section bounds check in the section parsing code, because now all reads go through the read function, which does section bounds checking on every read M compiler/ogwasm.pas --- commit 7d41f5eb92f5d837bd51a6434367122d7e329f67 Author: Nikolay Nikolov Date: Tue Dec 26 13:49:40 2023 +0200 + added code section duplicate check in wasm object reader M compiler/ogwasm.pas --- commit 2ae98a7363e1bef7c369eac8846d622a703b9d26 Author: Nikolay Nikolov Date: Tue Dec 26 13:57:55 2023 +0200 + read the code entries count from the code section M compiler/ogwasm.pas --- commit 5a5abe2419afd2f124f821f76c9229f9a7de1a9f Author: Nikolay Nikolov Date: Tue Dec 26 14:32:34 2023 +0200 + started parsing of custom sections - known custom sections are dispatched to a specialized parsing function for each of them, while unknown custom sections (currently the ones, not produced by FPC) produce an error M compiler/ogwasm.pas --- commit 8802c7d489d067ec1ba67b497fa29571701263d9 Author: Nikolay Nikolov Date: Tue Dec 26 14:42:51 2023 +0200 + parse and check the version of the 'linking' section M compiler/ogwasm.pas --- commit 9063c3c0ed0bd09880b9e6689934b5bf070c85c7 Author: Nikolay Nikolov Date: Tue Dec 26 15:06:03 2023 +0200 + parse the linking custom section by splitting it into subsections and call subfunctions (dummy for now) for each subsection M compiler/ogwasm.pas --- commit e7f6da4cb09fcfa957cad8bf160a8a22d05ddac5 Author: Nikolay Nikolov Date: Tue Dec 26 15:07:42 2023 +0200 * the 'linking' section is a section, not a subsection. Fix error messages. M compiler/ogwasm.pas --- commit 8a7743b566bffc2bc27033cb208fee09a9a7223b Author: Nikolay Nikolov Date: Tue Dec 26 16:07:34 2023 +0200 * set FReader and InputFileName in the beginning of TWasmObjInput.ReadObjData M compiler/ogwasm.pas --- commit 3121ee136700feef1f966195c5913f4ed8ba4e0e Author: Nikolay Nikolov Date: Tue Dec 26 16:24:05 2023 +0200 + parse the WASM_SEGMENT_INFO subsection M compiler/ogwasm.pas --- commit e3c5d016e0c1f139711edbec8123d9e6b830a5e3 Author: Nikolay Nikolov Date: Tue Dec 26 16:26:37 2023 +0200 + check for duplicated WASM_SEGMENT_INFO subsections M compiler/ogwasm.pas --- commit 6f7c1b5b4e67c8ab7e59321c457ac6d2fdc55069 Author: Nikolay Nikolov Date: Tue Dec 26 16:32:30 2023 +0200 + added DataSegments dynarray of record, that will store data segment info M compiler/ogwasm.pas --- commit 10b201c50699cba4a8a2a553f77bf5531dd6516c Author: Nikolay Nikolov Date: Tue Dec 26 16:39:29 2023 +0200 + check for duplicated data sections M compiler/ogwasm.pas --- commit e4600f5e3843028ea8c08772860d931a7f57dcd0 Author: Nikolay Nikolov Date: Tue Dec 26 16:44:34 2023 +0200 + read the data count from the data section. Set size of the DataSegments array, if the data count section hasn't been encountered. Compare the count with the value from the data count section, in case the data count section has been encountered, and issue an error, if they differ. M compiler/ogwasm.pas --- commit 818b6e698305326f1d4e5d3b2538a1504d05a7bb Author: Nikolay Nikolov Date: Tue Dec 26 16:47:10 2023 +0200 * check that the data count section preceeds the data section and report an error otherwise M compiler/ogwasm.pas --- commit bbb564437d88a8843f1769ce773c79c6ae0ed3c3 Author: Nikolay Nikolov Date: Tue Dec 26 17:42:01 2023 +0200 + parse the data section in the wasm object reader M compiler/ogwasm.pas --- commit e754937ad3a5b4dc97336d476db90141c64c71cb Author: Nikolay Nikolov Date: Tue Dec 26 20:19:58 2023 +0200 + verify the segment count when parsing the WASM_SEGMENT_INFO subsection * moved local vars to avoid bug M compiler/ogwasm.pas --- commit 2ab16a5a8f0374692494351da9bb6b3d54d995fe Author: Nikolay Nikolov Date: Tue Dec 26 20:21:25 2023 +0200 - removed debug writeln M compiler/ogwasm.pas --- commit 50f76a2ffb54c6825f5c1e81816e4e0ae4e77363 Author: Nikolay Nikolov Date: Tue Dec 26 20:22:47 2023 +0200 * moved another local var to avoid bug M compiler/ogwasm.pas --- commit 56fe6cadc8a6ff57658a3c6cb3dae4b6c83c54c5 Author: Nikolay Nikolov Date: Tue Dec 26 20:24:52 2023 +0200 * fill the data in the DataSegments array when parsing the WASM_SEGMENT_INFO subsection M compiler/ogwasm.pas --- commit 23fa8c80b6a1c0892be85eac8e0e73b758621855 Author: Nikolay Nikolov Date: Tue Dec 26 20:38:58 2023 +0200 + read the section content in the wasm object reader M compiler/ogwasm.pas --- commit 8606f13b243891ad0a468fc4d70b6d655f491120 Author: Nikolay Nikolov Date: Tue Dec 26 20:41:40 2023 +0200 + check for memory index other than 0 in the wasm object reader and report an error, since that is not supported M compiler/ogwasm.pas --- commit fc7ed302e7c804143223502510288ffe4697d03e Author: Nikolay Nikolov Date: Tue Dec 26 20:42:46 2023 +0200 + check and report an error if a passive data segment is encountered by the wasm object reader M compiler/ogwasm.pas --- commit b641687da22a1d868cf4ed0ac05f4c1514e2c9af Author: Nikolay Nikolov Date: Tue Dec 26 20:46:25 2023 +0200 * attempt to avoid warning, treated as error, causing CI failure M compiler/ogwasm.pas --- commit 272db1b872f59e6a8b5a1f0a2106a77e01dbb318 Author: Nikolay Nikolov Date: Wed Dec 27 10:31:24 2023 +0200 + symbol table subsection duplicate check M compiler/ogwasm.pas --- commit c6e054dbb94b811cb91bea2f6c75d5ba672bf74c Author: Nikolay Nikolov Date: Wed Dec 27 10:59:02 2023 +0200 + implemented parsing of the symbol table in the wasm object reader M compiler/ogwasm.pas --- commit 121e793c37ad31d488da53a7c1ae67e81414362a Author: Nikolay Nikolov Date: Wed Dec 27 11:52:17 2023 +0200 + wasm object reader: store the symbol table in a dynamic array, so it can be processed later M compiler/ogwasm.pas --- commit e569863a1a8efcd537e440e92ef16da80cebbe22 Author: Nikolay Nikolov Date: Wed Dec 27 13:01:49 2023 +0200 + check bounds for SymIndex of SYMTAB_DATA symbols M compiler/ogwasm.pas --- commit ee4d77b119cefa866eba5786f34fda261f37bac7 Author: Nikolay Nikolov Date: Wed Dec 27 13:14:27 2023 +0200 + create data symbols in the wasm object reader M compiler/ogwasm.pas --- commit ced7e40c43b3b40ce4bfe37e28b4a8c78d82c041 Author: Nikolay Nikolov Date: Wed Dec 27 13:36:18 2023 +0200 + support local binding when reading data symbols in the internal wasm object reader M compiler/ogwasm.pas --- commit a0df7c27afd1247988ec3aa3755d0e47b62e03d8 Author: Nikolay Nikolov Date: Wed Dec 27 14:42:01 2023 +0200 + wasm obj reader: store the parsed import data from the import section in local arrays and structures M compiler/ogwasm.pas --- commit efc4ab792820526df0f7c448323ed09622f5394c Author: Nikolay Nikolov Date: Wed Dec 27 14:47:45 2023 +0200 + store in the FuncTypes array the func types, parsed in the function section M compiler/ogwasm.pas --- commit a6d4374f1078ec113f57fa4bbf74f47418bb0c4d Author: Nikolay Nikolov Date: Wed Dec 27 14:52:37 2023 +0200 + wasm object reader: range check the symbol indices of SYMTAB_FUNCTION entries M compiler/ogwasm.pas --- commit c293d0b7299101e93228925ad239f2472c316c02 Author: Nikolay Nikolov Date: Wed Dec 27 15:14:21 2023 +0200 + partially implemented the creation of symbols for SYMTAB_FUNCTION entries M compiler/ogwasm.pas --- commit 4ba064d8942f2fbba8b447951c1ba0bf163572ec Author: Nikolay Nikolov Date: Wed Dec 27 15:15:54 2023 +0200 + include mod name in symbols M compiler/ogwasm.pas --- commit 6597f02ebce8d1db39cf44bd6a1a6763532561f9 Author: J. Gareth "Curious Kit" Moreton Date: Wed Dec 27 18:56:42 2023 +0000 * The "Val" intrinsic is now simplified for string constants akin to a pure function. M compiler/ncal.pas M compiler/ninl.pas --- commit d25d094d579adceea87cbe96bf0fd64a111eded6 Author: J. Gareth "Curious Kit" Moreton Date: Wed Dec 27 18:58:02 2023 +0000 * Fixed bug where a call node's intrinsic code wasn't copied over during "DoGetCopy" M compiler/ncal.pas --- commit 83f383e0041161d8193e392b2c200cfb0d120eb2 Author: J. Gareth "Curious Kit" Moreton Date: Wed Dec 27 20:07:10 2023 +0000 * Fixed bug where the original index of a call para wasn't copied over during "DoGetCopy" M compiler/ncal.pas --- commit 3d5a100f7969531e54198bb3721de2f00738d3a8 Author: Nikolay Nikolov Date: Thu Dec 28 12:42:48 2023 +0200 + wasm object reader: implemented parsing of the global section M compiler/ogwasm.pas --- commit 87a3bfe99d2504740152fd6cd662c35239429c58 Author: Nikolay Nikolov Date: Thu Dec 28 13:25:44 2023 +0200 + fully implemented reading the code section M compiler/ogwasm.pas --- commit 4b179ce4fa92d06dc0a4bc44efa58e3665834e3d Author: Nikolay Nikolov Date: Thu Dec 28 14:14:30 2023 +0200 + check the code entries count in the wasm object reader M compiler/ogwasm.pas --- commit 4b9e1ab30a5921fa7daa7dc991e044f59cf48313 Author: Nikolay Nikolov Date: Thu Dec 28 14:29:59 2023 +0200 + wasm object reader: create code sections and symbols M compiler/ogwasm.pas --- commit 24972d986167814ccd7d02a4b7da3798463296e5 Author: Nikolay Nikolov Date: Thu Dec 28 14:50:51 2023 +0200 + parse the export table in the wasm internal object reader M compiler/ogwasm.pas --- commit eeae32669e88af0ae699b0a9bf41551cd9f7759f Author: Nikolay Nikolov Date: Thu Dec 28 14:54:06 2023 +0200 + add oso_keep flag to the code sections that contain an export M compiler/ogwasm.pas --- commit 605740fd0ad213bc577e3439a6e65c0d478e14d3 Author: Nikolay Nikolov Date: Thu Dec 28 15:17:59 2023 +0200 + create exe sections in the wasi internal linker script M compiler/systems/t_wasi.pas --- commit 791328ccb551ce8c79956271d535eaf6beb9c569 Author: Nikolay Nikolov Date: Thu Dec 28 15:18:47 2023 +0200 + auto add oso_data and oso_sparse_data when creating a .bss segment on the wasm target M compiler/ogbase.pas --- commit 026781b9a36d1afbdf06c0213bf87d8d8e03dbd6 Author: Nikolay Nikolov Date: Thu Dec 28 15:27:53 2023 +0200 * set MaxMemPos in the wasm internal linker M compiler/ogwasm.pas --- commit 7f30a8765152d85371074c1648cf22a844d612f9 Author: Nikolay Nikolov Date: Thu Dec 28 15:53:45 2023 +0200 + started implementing the reading of relocation sections in the wasm object reader M compiler/ogwasm.pas --- commit 881ca2c52f58c11d44de6ef4f8feb8bee18cb258 Author: Nikolay Nikolov Date: Thu Dec 28 16:02:27 2023 +0200 + implemented parsing of the relocation section M compiler/ogwasm.pas --- commit a1bdf11d993f03f0d2c4d0f3955b5d9435ee1e38 Author: Nikolay Nikolov Date: Thu Dec 28 16:09:03 2023 +0200 + check for supported relocation types, report an error if an unsupported type is found M compiler/ogwasm.pas --- commit 649438efa63c3534d61cfdcb8481ba41729c85ad Author: Nikolay Nikolov Date: Thu Dec 28 16:35:11 2023 +0200 + keep track of section indexes. Save the code and data section indexes. M compiler/ogwasm.pas --- commit 82c52ed12780f83701c05e26d8144a357e3c6131 Author: Nikolay Nikolov Date: Thu Dec 28 16:37:58 2023 +0200 * disallow (for now) relocations for sections other than the code and data sections M compiler/ogwasm.pas --- commit 268a148d3a6e3722781532ba093e539f72453261 Author: Nikolay Nikolov Date: Thu Dec 28 16:47:00 2023 +0200 + store the parsed relocation table in an array M compiler/ogwasm.pas --- commit bc798695fe74403d2d3e1f5b38ebad4e46c24211 Author: Nikolay Nikolov Date: Thu Dec 28 20:07:24 2023 +0200 + find the code and data segment of each relocation M compiler/ogwasm.pas --- commit aa296af787968ba25e586b6af2f22f63a842768b Author: Nikolay Nikolov Date: Thu Dec 28 20:51:35 2023 +0200 + create relocation objects for R_WASM_FUNCTION_INDEX_LEB relocations in the wasm object reader M compiler/ogwasm.pas --- commit c605da6ab31e678a9f8e23da7b89b4420ade58d8 Author: Nikolay Nikolov Date: Thu Dec 28 20:57:04 2023 +0200 + create relocation objects for R_WASM_TABLE_INDEX_SLEB relocations in the wasm object reader M compiler/ogwasm.pas --- commit 118e093c974d3b3407976d602a93192f668e815c Author: Nikolay Nikolov Date: Thu Dec 28 20:59:32 2023 +0200 + create relocation objects for R_WASM_TABLE_INDEX_I32 relocations in the wasm object reader M compiler/ogwasm.pas --- commit 3e14d47b92df79b31acba350d748a465b2cd9989 Author: Nikolay Nikolov Date: Thu Dec 28 21:04:13 2023 +0200 + create relocation objects for R_WASM_MEMORY_ADDR_LEB relocations in the wasm object reader M compiler/ogwasm.pas --- commit bd606c6b77d18fed794725aa5f8365dede23e882 Author: Nikolay Nikolov Date: Thu Dec 28 21:07:41 2023 +0200 + create relocation objects for R_WASM_MEMORY_ADDR_SLEB relocations in the wasm object reader M compiler/ogwasm.pas --- commit 35f2fb1e8d77df3b8e894b6ab5481aae51106c92 Author: Nikolay Nikolov Date: Thu Dec 28 21:11:26 2023 +0200 * fix warning M compiler/ogwasm.pas --- commit ae93f8de918b71ad9ceda00f1e05b7554aed4cb7 Author: Nikolay Nikolov Date: Thu Dec 28 21:15:59 2023 +0200 + create relocation objects for R_WASM_MEMORY_ADDR_I32 relocations in the wasm object reader M compiler/ogwasm.pas --- commit 73895d3cbca2ccc3a93516495837a002e6bb7f41 Author: Nikolay Nikolov Date: Thu Dec 28 21:23:08 2023 +0200 + create relocation objects for R_WASM_TYPE_INDEX_LEB relocations in the wasm object reader M compiler/ogbase.pas M compiler/ogwasm.pas --- commit d6c3c74b468f443deb81d9782c781eeb00a1c63a Author: Nikolay Nikolov Date: Thu Dec 28 21:26:12 2023 +0200 + create relocation objects for R_WASM_FUNCTION_OFFSET_I32 relocations in the wasm object reader M compiler/ogwasm.pas --- commit b5b7cd54eb4acf37cd3d4108df73f8a54986e96e Author: Sven/Sarah Barth Date: Fri Dec 29 20:24:53 2023 +0100 * fix typo in comment M compiler/procdefutil.pas --- commit ab5c5a7e9a20520ae472b30df8b321571317d705 Author: Sven/Sarah Barth Date: Fri Dec 29 20:26:45 2023 +0100 * also keep track of captured def (necessary when functions are captured) M compiler/ncal.pas M compiler/nld.pas M compiler/procdefutil.pas M compiler/procinfo.pas M compiler/symdef.pas --- commit 787454d5b2e8c6f8e7c909fcd1a423ed33404977 Author: Sven/Sarah Barth Date: Fri Dec 29 20:53:21 2023 +0100 * correctly handle managed function results when converting a global or nested function to a function reference + added test M compiler/procdefutil.pas A tests/test/tfuncref54.pp --- commit ca0323d4ca7519d49c9b8c5fcc39feb6b6bdacac Author: Sven/Sarah Barth Date: Fri Dec 29 20:53:57 2023 +0100 * the adjusted nested function needs to access the parent function for the capturer M compiler/procdefutil.pas --- commit 1606d4e28d1809086629c44f4a6cc190417ed9f3 Author: Sven/Sarah Barth Date: Fri Dec 29 21:52:28 2023 +0100 * only walk the node tree if there are indeed captured symbols to convert M compiler/procdefutil.pas --- commit b00454bb0ec8aaf70496b3f441de0547f7f71cf0 Author: Sven/Sarah Barth Date: Sat Dec 30 13:55:15 2023 +0100 * ensure that nested functions that are assigned to function pointers are considered as captured as well M compiler/pexpr.pas --- commit 1853d1ddd8916104f4087533ba3a861f55fac9fc Author: Sven/Sarah Barth Date: Sat Dec 30 14:45:41 2023 +0100 * keep track which nested function definition the new method has been converted from M compiler/procdefutil.pas M compiler/symdef.pas --- commit ad61db2ff592ee455738b159dc415970e76adca1 Author: Sven/Sarah Barth Date: Sat Dec 30 14:47:38 2023 +0100 * allow a nested function that calls itself can be converted to a function reference + added test M compiler/procdefutil.pas A tests/test/tfuncref55.pp --- commit 569b35dfc4add6006eeb47c7b03815eac6797ad9 Author: Jonas Maebe Date: Sat Dec 30 14:54:47 2023 +0100 LLVM: enforce line information for invoke instructions Like with call instructions, when generating debug information LLVM requires line information for invoke instructions that may be inline M compiler/llvm/dbgllvm.pas --- commit 7266981c6c55c521ac70f06dc2c287fbba16725c Author: Nikolay Nikolov Date: Sun Dec 31 15:39:54 2023 +0200 + Extracted the func list maintenance functionality from the WebAssembly object writer to a new TWasmFuncTypeTable class. This will allow for it to be reused in the WebAssembly exe writer as well. M compiler/ogwasm.pas --- commit eb046b07d07fec12b144ebe3fa00b586c6c169b6 Author: Nikolay Nikolov Date: Sun Dec 31 15:49:26 2023 +0200 * TWasmFuncTypeTable.AddFuncType renamed .AddOrGetFuncType M compiler/ogwasm.pas --- commit 7887f4670039897c66ca0f3d904714121e25b98c Author: Pierre Muller Date: Sun Dec 31 15:50:05 2023 +0100 Try to compute correct page size for wlib call M compiler/link.pas --- commit 0be3fe9ab4b9ccc01ed2bb88b679123bdff2f340 Author: Nikolay Nikolov Date: Sun Dec 31 15:52:27 2023 +0200 - removed TWasmObjData.AddFuncType, instead call directly [F]FuncTypes.AddOrGetFuncType M compiler/ogwasm.pas M compiler/wasm32/aasmcpu.pas --- commit e695edff98f7092adc79ff2a21795941b1593b52 Author: Nikolay Nikolov Date: Sun Dec 31 15:54:52 2023 +0200 + initialize TWasmObjData.FFuncTypes in TWasmObjData's constructor M compiler/ogwasm.pas --- commit f30a41359d8be3766d6617dcd9363f04da73fd23 Author: Nikolay Nikolov Date: Sun Dec 31 16:50:00 2023 +0200 + added a TWasmFuncTypeTable instance to TWasmExeOutput M compiler/ogwasm.pas --- commit f83223c8b2b44437e4b0f1ed5b5eb89268219420 Author: Nikolay Nikolov Date: Sun Dec 31 20:28:44 2023 +0200 * SymbolTable.ObjSym type changed from TObjSymbol to TWasmObjSymbol M compiler/ogwasm.pas --- commit b88b8efbcec52425337044a8ea652d1d738cb6de Author: Nikolay Nikolov Date: Sun Dec 31 20:39:01 2023 +0200 + WebAssembly object reader: create symbols for imports that have the WASM_SYM_EXPLICIT_NAME flag set. Save the import module and name info inside a new field TWasmObjSymbol.LinkingData. M compiler/ogwasm.pas --- commit 541bd66a6ce4d57737709ce9076adb389d172a8e Author: Nikolay Nikolov Date: Sun Dec 31 21:04:04 2023 +0200 + implemented TWasmExeOutput.GenerateLibraryImports M compiler/ogwasm.pas --- commit 880eb3658ae80f73662773ca45ad51806a6b9832 Author: Nikolay Nikolov Date: Sun Dec 31 21:27:21 2023 +0200 + process the module imports and write them to the map file in TWasmExeOutput.AfterUnusedSectionRemoval M compiler/ogwasm.pas --- commit 4f4beb6225f8c4e907ad0068dc7e35dc1306406b Author: Nikolay Nikolov Date: Sun Dec 31 21:40:34 2023 +0200 + store the functype in TWasmObjSymbolLinkingData M compiler/ogwasm.pas --- commit 52f0ec579ed810035db0886b266fecb1934038d2 Author: Nikolay Nikolov Date: Sun Dec 31 21:49:35 2023 +0200 + added TWasmFuncType.ToString implementation M compiler/wasm32/cpubase.pas --- commit da8ccd64efd0c6763e414939bb2420c2fe66c660 Author: Nikolay Nikolov Date: Sun Dec 31 21:50:18 2023 +0200 + also write the functype of imported functions in the linker map file M compiler/ogwasm.pas --- commit 16c4e0300cf3dd04411b72bb0547e8f80ad72575 Author: Nikolay Nikolov Date: Sun Dec 31 22:17:51 2023 +0200 + WebAssembly internal linker, exe writer: keep track of exe import functions. Add and fill TWasmObjSymbolLinkingData.ExeFunctionIndex M compiler/ogwasm.pas --- commit b2f31c4112e69e75e29c29f4472a2730547c6004 Author: Nikolay Nikolov Date: Sun Dec 31 22:27:05 2023 +0200 + added a section array to the wasm exe writer M compiler/ogwasm.pas --- commit c342a5f47373ab522ed67ba1f4e95f9a208dc83f Author: Nikolay Nikolov Date: Sun Dec 31 22:28:53 2023 +0200 * converted some helper methods from TWasmObjOutput to global functions, so they can be reused in the exe writer M compiler/ogwasm.pas --- commit 7d6158d5f49b19dc80558318e974d70a6c7b9d32 Author: Nikolay Nikolov Date: Sun Dec 31 22:35:44 2023 +0200 + added and implemented TWasmExeOutput.WriteWasmSection M compiler/ogwasm.pas --- commit 5583781f4720cd90c579993352fd528649498163 Author: Nikolay Nikolov Date: Sun Dec 31 22:36:45 2023 +0200 + initialize TWasmExeOutput.FWasmSections M compiler/ogwasm.pas --- commit a387accf810bc6c32d07cfe2e9fd7a131cf8e5d0 Author: Nikolay Nikolov Date: Sun Dec 31 22:39:35 2023 +0200 * WriteWasmBasicType and WriteWasmResultType converted to global functions to allow reuse in the exe writer M compiler/ogwasm.pas --- commit 3c4a1087f33a319b48b99ab6256c48e33f7eda25 Author: Nikolay Nikolov Date: Sun Dec 31 22:43:44 2023 +0200 * writing of the type wasm object section extracted to a method TWasmFuncTypeTable.WriteTo, so it can be reused in the exe writer M compiler/ogwasm.pas --- commit 2c72b62a0e153f1888e19c988631d0275b0f34f7 Author: Nikolay Nikolov Date: Sun Dec 31 22:47:07 2023 +0200 + generate and write the Type section in the WebAssembly internal exe writer M compiler/ogwasm.pas --- commit d9a67bb16d321cb6ccdae1d1f3132afa8c0d3bbc Author: Nikolay Nikolov Date: Sun Dec 31 22:52:03 2023 +0200 + generate the import section in the wasm exe writer M compiler/ogwasm.pas --- commit ac0c187b56accbcc5f8a72ed9bcabf1fe340f100 Author: Nikolay Nikolov Date: Sun Dec 31 23:29:33 2023 +0200 + WebAssembly exe writer: write the code section M compiler/ogwasm.pas --- commit 946fc370e93ae5e7245ddad0171d006248bc9366 Author: Nikolay Nikolov Date: Sun Dec 31 23:32:51 2023 +0200 * set TWasmObjSection.MainFuncSymbol in the wasm object reader M compiler/ogwasm.pas --- commit f5dbd38b7eea68cdcc714330eba4e7fb28c95f5b Author: Nikolay Nikolov Date: Sun Dec 31 23:39:26 2023 +0200 * extracted the import preparation to a separate method TWasmExeOutput.PrepareImports M compiler/ogwasm.pas --- commit 88a42c3ee0c2c0c53acdb99e2972ab24ecc9faac Author: Nikolay Nikolov Date: Sun Dec 31 23:50:53 2023 +0200 + write the type indexes correctly M compiler/ogwasm.pas --- commit 507e9eb20aa8129472e348398258bded6c5eb4ba Author: Nikolay Nikolov Date: Mon Jan 1 00:15:27 2024 +0200 + added check for the ExeFunctionIndex inside WriteCodeSegments M compiler/ogwasm.pas --- commit f4f6a16796a4b3fbbecfcbe9f77d62f6ecc9e54a Author: Nikolay Nikolov Date: Mon Jan 1 00:39:14 2024 +0200 + fill the memory section in the wasm exe writer M compiler/ogwasm.pas --- commit 1c1dbaf77645efb1c0e6599d0cc3b6d354646f5f Author: Nikolay Nikolov Date: Mon Jan 1 01:05:49 2024 +0200 + partial implementation of RELOC_FUNCTION_INDEX_LEB relocations in the wasm internal linker M compiler/ogwasm.pas --- commit 409de5ac96692fea0314aefe5a9c880ab8983599 Author: Nikolay Nikolov Date: Mon Jan 1 13:13:48 2024 +0200 + write the import function indexes in the linker map file M compiler/ogwasm.pas --- commit 7747e1f6c8b51cb9c7d04e3a581663d25e1e99bf Author: Nikolay Nikolov Date: Mon Jan 1 13:20:28 2024 +0200 + wasm internal linker: write the functions, defined in the current module in the linker map file M compiler/ogwasm.pas --- commit e1d56a99445063bfeb640a3c6e0c41688076b65e Author: Nikolay Nikolov Date: Mon Jan 1 13:35:23 2024 +0200 * wasm internal linker: use the main symbol (without WASM_SYM_EXPLICIT_NAME, i.e. not an alias) to define code section names in the wasm object reader. For example, the section for the INITHEAP function is now called: .text.n_SYSTEM_$$_INITHEAP instead of .text.n__FPC_InitHeap (which is based on an explicit alias for the function - '_FPC_InitHeap') M compiler/ogwasm.pas --- commit c453bac7adfca20397628a8e981c9e92281bfa04 Author: Nikolay Nikolov Date: Mon Jan 1 13:42:24 2024 +0200 + report an error in case a wasm object file has a code section, without a main symbol M compiler/ogwasm.pas --- commit cf79ca16b49445df2332539777dd879f6aad5b36 Author: Nikolay Nikolov Date: Mon Jan 1 13:44:36 2024 +0200 * only set MainFuncSymbol of code sections to the main (non-alias) symbol M compiler/ogwasm.pas --- commit 50986967f52041db50ec176d31342fcb3df7b305 Author: Nikolay Nikolov Date: Mon Jan 1 14:01:43 2024 +0200 + wasm internal linker: fill ExeFunctionIndex of alias code symbols as well M compiler/ogwasm.pas --- commit 5845bb90951932e8a6863acc0bdda42d3342e434 Author: Nikolay Nikolov Date: Mon Jan 1 14:03:03 2024 +0200 * produce an internal error, instead of a warning in case of RELOC_FUNCTION_INDEX_LEB pointing to a function with missing ExeFunctionIndex M compiler/ogwasm.pas --- commit 0b3238bcd37b605701e958099ddf6cd7e4772cbd Author: Nikolay Nikolov Date: Mon Jan 1 14:04:29 2024 +0200 * refactor: invert if condition and else statement (reducing the nesting level), because then terminates the function. No functional changes. M compiler/ogwasm.pas --- commit 69ce966691078a4b344d6691798916b52476ec46 Author: Nikolay Nikolov Date: Mon Jan 1 14:35:10 2024 +0200 + implemented RELOC_TYPE_INDEX_LEB relocations in the wasm internal linker M compiler/ogwasm.pas --- commit dc4689ba1bf6dbdd5d6cbdb2e5bccaa849b3346e Author: Nikolay Nikolov Date: Mon Jan 1 14:44:44 2024 +0200 * wasm internal linker: start the data section at offset 0, as WebAssembly is a Harvard architecture. M compiler/ogwasm.pas --- commit b361b41a86c1385540e4f85d43263ec4d0716ce9 Author: Nikolay Nikolov Date: Mon Jan 1 14:56:33 2024 +0200 + webassembly internal linker: create separate exe sections for .rodata and .bss M compiler/ogwasm.pas M compiler/systems/t_wasi.pas --- commit 1e89579766d31975cd605c3f551e58ae6f512c23 Author: Nikolay Nikolov Date: Mon Jan 1 15:32:28 2024 +0200 + WASI internal linker: implemented GetCodeSize, GetDataSize and GetBssSize. M compiler/systems/t_wasi.pas --- commit 12d7d271d6648061fd0c5ced3769578047b0f024 Author: Nikolay Nikolov Date: Mon Jan 1 15:58:17 2024 +0200 + write the data section in the wasm internal linker exe writer M compiler/ogwasm.pas --- commit 1b2d29ea1a6c28a8828c2dd4acf81054f177db42 Author: Nikolay Nikolov Date: Mon Jan 1 16:13:11 2024 +0200 + implemented R_WASM_MEMORY_ADDR_I32 relocations in the wasm internal linker M compiler/ogwasm.pas --- commit 7a228bccfc85f23b97ef2d38620463364e24993c Author: Nikolay Nikolov Date: Mon Jan 1 16:41:03 2024 +0200 + implement R_WASM_TABLE_INDEX_I32 relocations in the wasm internal linker M compiler/ogwasm.pas --- commit 5771245d74a7115ec8a8744c6c91506d40904285 Author: Nikolay Nikolov Date: Mon Jan 1 16:56:53 2024 +0200 + create the Table and Elem sections in the wasm exe writer M compiler/ogwasm.pas --- commit b440f57739efb5d68f18adaf6d71bf0aa126a8b7 Author: Nikolay Nikolov Date: Mon Jan 1 17:04:35 2024 +0200 + implemented R_WASM_MEMORY_ADDR_LEB relocations in the wasm internal linker M compiler/ogwasm.pas --- commit 4208fc79c702c8c571a8824a7d606774cadf98b8 Author: Nikolay Nikolov Date: Mon Jan 1 17:08:36 2024 +0200 + implemented R_WASM_MEMORY_ADDR_SLEB and R_WASM_TABLE_INDEX_SLEB relocations in the wasm internal linker M compiler/ogwasm.pas --- commit e6a68b28b6de64dbbf0cf9eb8f859891308f9fb3 Author: Nikolay Nikolov Date: Mon Jan 1 17:12:07 2024 +0200 * wasm internal linker: produce an error if an R_WASM_SECTION_OFFSET_I32 or an R_WASM_TAG_INDEX_LEB relocations is encountered - these aren't implemented, and are not required for 'hello, world', so will be done later. M compiler/ogwasm.pas --- commit 880d0333b0b5804ed0e58b71c29447402ae3bad4 Author: Nikolay Nikolov Date: Mon Jan 1 17:25:56 2024 +0200 + wasm internal object reader: process SYMTAB_GLOBAL import entries M compiler/ogwasm.pas --- commit 408e388af3e48f51925fa2502a3b21a23478418e Author: Nikolay Nikolov Date: Mon Jan 1 17:36:52 2024 +0200 + wasm internal linker: internally define the '__stack_pointer' global symbol M compiler/ogwasm.pas --- commit 9ee13f2937e57b63c014a3764d96606e8218eb1e Author: Nikolay Nikolov Date: Mon Jan 1 17:40:31 2024 +0200 + also define non-imported SYMTAB_GLOBAL symbols in the wasm internal object reader M compiler/ogwasm.pas --- commit 167c7bc5656cb7012290bb4d2e683e9f554dab27 Author: Nikolay Nikolov Date: Mon Jan 1 17:46:51 2024 +0200 + create relocations for R_WASM_GLOBAL_INDEX_LEB entires in the wasm object reader M compiler/ogwasm.pas --- commit 2eae62a6e89673af2a083e3f7500c91393ee3f1b Author: Nikolay Nikolov Date: Mon Jan 1 17:54:59 2024 +0200 * define the __stack_pointer symbol in a different way, so it doesn't crash during linking M compiler/ogwasm.pas M compiler/systems/t_wasi.pas --- commit a4121d2201bd3bee71d7425f75f8ae29dc3cf92e Author: Sven/Sarah Barth Date: Mon Jan 1 17:59:53 2024 +0100 * use SizeInt instead of PtrInt for the stack area size (this both matches the declaration in TypInfo as well as enough on 16-bit targets like i8086) M compiler/ncgrtti.pas --- commit ef796906e9faba606b8a6280c1dc97a88846c71d Author: Nikolay Nikolov Date: Mon Jan 1 18:03:02 2024 +0200 + wasm internal obj reader: add globals to a '.wasm_globals' object section M compiler/ogwasm.pas M compiler/systems/t_wasi.pas --- commit cd93050d7e071642ccfce2410d5b8a12161937d4 Author: Nikolay Nikolov Date: Mon Jan 1 18:10:20 2024 +0200 * set the size of AT_WASM_GLOBAL symbols to 1 M compiler/ogwasm.pas --- commit bbeb98aeefa8d22dad0bcd1ee62c09b91ff205a4 Author: Nikolay Nikolov Date: Mon Jan 1 19:06:24 2024 +0200 + wasm internal linker: put all wasm global symbols in separate sections, called .wasm_globals.n_XXX. This allows section-based smartlinking to work on global symbols. M compiler/ogwasm.pas M compiler/systems/t_wasi.pas --- commit 27be091c443b47d9d8a57f21c508fbd678d887f4 Author: florian Date: Mon Jan 1 19:31:04 2024 +0100 * more clean variable initialization M compiler/x86/aoptx86.pas --- commit f48282d7b34e2d9d276c9e6c2e5ad81dd7a88509 Author: Nikolay Nikolov Date: Mon Jan 1 20:09:04 2024 +0200 + implemented R_WASM_GLOBAL_INDEX_LEB relocations in the wasm internal linker M compiler/ogwasm.pas --- commit d03963afe9ecd26a7b1cd149ad0ce9a07490aab9 Author: Nikolay Nikolov Date: Mon Jan 1 21:11:28 2024 +0200 + generate the global section in the wasm internal linker exe writer M compiler/ogwasm.pas --- commit c4a77a832ffda91ba094b260656a19a826df9806 Author: Nikolay Nikolov Date: Mon Jan 1 21:20:37 2024 +0200 + write export section in the wasm internal linker exe writer, only the memory is exported for now M compiler/ogwasm.pas --- commit ec206cf4905cdee0764333d3c5ba7fa3adacf095 Author: Nikolay Nikolov Date: Mon Jan 1 22:05:03 2024 +0200 + wasm internal linker: write the exported functions to the export section in the exe writer M compiler/ogwasm.pas --- commit eaf9a9f1b986c1d2ccbb84972f1ffb3303bfff84 Author: Nikolay Nikolov Date: Mon Jan 1 22:14:39 2024 +0200 * fixed bug in the application of RELOC_GLOBAL_INDEX_LEB fixups in the wasm internal exe writer M compiler/ogwasm.pas --- commit baa81d5275a9cf1137339738fdfe8becf2af779a Author: Nikolay Nikolov Date: Mon Jan 1 22:32:48 2024 +0200 + allocate stack and set the initial value for the stack pointer in the wasm internal exe writer M compiler/ogwasm.pas --- commit 5eb5fdabadb5d025613443b09f4b5cafab1cdf9d Author: Nikolay Nikolov Date: Mon Jan 1 22:38:03 2024 +0200 * start the data at offset 1024 instead of 0, just like the LLVM linker M compiler/ogwasm.pas --- commit c49ac16a195a306d0a60c289658150c4ac24561b Author: Nikolay Nikolov Date: Mon Jan 1 22:54:16 2024 +0200 * wasm internal linker: start the .text section at mempos 0 M compiler/ogwasm.pas --- commit dd1565c667e5bbb60975ea887c7380297286a151 Author: Nikolay Nikolov Date: Mon Jan 1 23:09:54 2024 +0200 * wasm internal exe writer: set mempos for code sections to the offset within the code section. This does not affect the .wasm binary generation, only the linker map file. M compiler/ogwasm.pas --- commit 93d38629aa446397d36112cfe853cf00d013e854 Author: Nikolay Nikolov Date: Mon Jan 1 23:51:35 2024 +0200 + added check for whether R_WASM_TABLE_INDEX_I32 relocations always point to a function symbol in the wasm internal object reader M compiler/ogwasm.pas --- commit 952f4bae17dc5a12142ddb7ba7009aee1d7bc604 Author: Pierre Muller Date: Tue Jan 2 14:16:38 2024 +0100 Fix wrong explicit typecast of srsym variable (caught by -CR option) M compiler/scanner.pas --- commit d83004dee1cc329b640e68e075240354eaef97ad Author: Pierre Muller Date: Tue Jan 2 14:31:17 2024 +0100 Add emulation_opt settings for all four mips CPUs M compiler/systems/t_linux.pas --- commit 5fe4ab49bc3c0d58d48ca793677a2ce72c8f85f4 Author: Nikolay Nikolov Date: Tue Jan 2 17:58:01 2024 +0200 + fill the correct minimal number of memory pages required in the wasm internal linker M compiler/ogwasm.pas --- commit 3c08ad4af5be43950c86eeefca448cea9f1c0dae Author: Nikolay Nikolov Date: Tue Jan 2 18:38:22 2024 +0200 + increased the default stack size of the WASI platform from 64 KB to 8 MB (like in i386-linux) M compiler/systems/i_wasi.pas --- commit 9a983632f93361100fdb50361f86337760cfacfe Author: Nikolay Nikolov Date: Tue Jan 2 20:10:43 2024 +0200 + read debug sections in the wasm internal object reader M compiler/ogwasm.pas --- commit ff4744e0ed1c64879a672e58849875b6189f895a Author: Nikolay Nikolov Date: Tue Jan 2 20:19:51 2024 +0200 * ignore relocation sections for custom sections for now (will be done later), so that we can proceed with the debug info generation in a later phase M compiler/ogwasm.pas --- commit 3724e00169d4780e538a585eb91712512819c35e Author: Nikolay Nikolov Date: Tue Jan 2 20:25:54 2024 +0200 + wasm object reader: allow other sections to be created before the first code section M compiler/ogwasm.pas --- commit 995309c20901f2c0e92ebb1ac967c73b00902445 Author: Nikolay Nikolov Date: Tue Jan 2 20:33:55 2024 +0200 + add the debug sections in the WASI internal linker script file M compiler/systems/t_wasi.pas --- commit cd9ed54d35fc4573b4adafde00979b15473749e5 Author: Charles Averill Date: Tue Jan 2 21:16:45 2024 -0600 Add string constant values to stringconstn nodes in parse tree output M compiler/ncon.pas --- commit 81471859075f0835a88bf09bc3d49df5b6fe6c7e Author: Jonas Maebe Date: Tue Jan 2 21:55:18 2024 +0100 LLVM: fix missing line debug info for some invokes in specialised functions Required when the code can be inlined. Fixes compilation with debug info of system.messaging.pp M compiler/llvm/dbgllvm.pas --- commit 0104edce45a3671d32109db527a2064514336485 Author: Jonas Maebe Date: Wed Jan 3 21:40:41 2024 +0100 Extended RTTI: optimise fetching VMT index M compiler/ncgrtti.pas --- commit f86a9bd5c026c7a10a165a8225bcf83e17c47b25 Author: Jonas Maebe Date: Wed Jan 3 21:41:03 2024 +0100 Extended RTTI: fix use of wrong def for the methods table Fixes LLVM compilation M compiler/ncgvmt.pas --- commit 40cbda6e7e30dc29ddd7bbeeb9f50325c42a8cdb Author: Sven/Sarah Barth Date: Wed Jan 3 21:57:09 2024 +0100 * increase PPU version due to Extended RTTI related changes M compiler/ppu.pas --- commit 9a1083c98eef9645ea5c5313496deb321c73ca1f Author: Sven/Sarah Barth Date: Wed Jan 3 22:03:03 2024 +0100 * for some reason my ppu.pas had a version of 18, instead of 20... so now the correct version m( M compiler/ppu.pas --- commit bb2e2f83e9087ecbd5f5f652c877e694e00660ae Author: Charles Averill Date: Thu Jan 4 10:16:06 2024 -0600 Add struct field names to subscriptn nodes in parse tree output M compiler/nmem.pas --- commit 543b341203f415a4886c1452015ca4c70d4556da Author: Nikolay Nikolov Date: Thu Jan 4 15:59:00 2024 +0200 + write debug sections in the wasm internal exe writer M compiler/ogwasm.pas --- commit ada576e559748a528e2f663345cb20f2c517fbd5 Author: Nikolay Nikolov Date: Sat Jan 6 18:47:04 2024 +0200 + wasm internal object reader: pass a TWasmCustomDebugSectionType parameter to ReadDebugSection M compiler/ogwasm.pas --- commit 6ab2cd3ce994399872036947cc4c0543818874c8 Author: Nikolay Nikolov Date: Sat Jan 6 18:51:22 2024 +0200 + wasm internal object reader: also read the '.debug_frame' and '.debug_str' sections M compiler/ogwasm.pas --- commit dfdc4a4d78d0584a1a9d2a69681a52581be4eea5 Author: Nikolay Nikolov Date: Sat Jan 6 19:07:28 2024 +0200 + wasm internal object reader: record section indices for debug sections. Check for duplicated debug sections. M compiler/ogwasm.pas --- commit 39c3d5d035a49280859339b4814a27cfc50ec97f Author: Nikolay Nikolov Date: Sat Jan 6 19:30:14 2024 +0200 + wasm internal object reader: support relocations for debug sections M compiler/ogwasm.pas --- commit 4933d739388bd958c3e3ad2bc6d11f44b7bb0738 Author: Nikolay Nikolov Date: Sat Jan 6 20:06:54 2024 +0200 + support R_WASM_SECTION_OFFSET_I32 relocations in the wasm internal object reader M compiler/ogwasm.pas --- commit a2a85dc7af9390d1fddd43880a544492f9849cdb Author: Nikolay Nikolov Date: Sat Jan 6 20:14:40 2024 +0200 * wasm internal object reader: validation of the RelocIndex range moved to a single place - in ReadRelocationSection M compiler/ogwasm.pas --- commit d87a6c89d46d8eabad17c67f4d0f8c987f78e3a0 Author: Nikolay Nikolov Date: Sat Jan 6 20:18:14 2024 +0200 * wasm internal object reader: removed the warnings in case of missing symbol (this will now create an internal error, instead) M compiler/ogwasm.pas --- commit 00d8d53c4e4804eb3722f114eda489e94b4e0495 Author: Nikolay Nikolov Date: Sat Jan 6 20:22:47 2024 +0200 * refactor: changed the type RelocationTable.RelocType to avoid type casts. No functional changes. M compiler/ogwasm.pas --- commit baf9681684c1aabddc3b06c7d994e3f9a9b2acb1 Author: Nikolay Nikolov Date: Sat Jan 6 20:26:27 2024 +0200 * refactor: changed the type of SymbolTable.SymKind to TWasmSymbolType, to avoid type casts. No functional changes. M compiler/ogwasm.pas --- commit 3071ae231ae0bfcd22494ff07164e2f8b821e6ad Author: Nikolay Nikolov Date: Sat Jan 6 20:30:20 2024 +0200 + wasm internal object reader: validate that relocations that should point to a SYMTAB_FUNCTION entry, actually point to such entry M compiler/ogwasm.pas --- commit f3401c3f5393ec512d2ec14b8f70e453bd7c9b3b Author: Nikolay Nikolov Date: Sat Jan 6 20:51:17 2024 +0200 * fix warning M compiler/ogwasm.pas --- commit b35c1182441e95912f2930684a419421c8da9e65 Author: Nikolay Nikolov Date: Sat Jan 6 20:54:04 2024 +0200 + wasm internal object reader: added range check to the reader of the SymKind field M compiler/ogwasm.pas --- commit dc16426790e06df8a08c9af64d6bfe6df5d51c63 Author: Nikolay Nikolov Date: Sat Jan 6 20:57:23 2024 +0200 + wasm internal object reader: check that relocations that should point to a SYMTAB_DATA symbol, actually point to such symbol M compiler/ogwasm.pas --- commit 30c8930c30c68ccad17d87f364718b0f94ea843d Author: Nikolay Nikolov Date: Sat Jan 6 21:00:14 2024 +0200 * fix warning M compiler/ogwasm.pas --- commit 1061965ea597e8ae4c7fb6ce04f88887a62d247e Author: Nikolay Nikolov Date: Sat Jan 6 21:03:02 2024 +0200 + wasm internal object reader: check that R_WASM_GLOBAL_INDEX_LEB point to a SYMTAB_GLOBAL symbol M compiler/ogwasm.pas --- commit baee5b9fd4b1217b7facb2f7814eb5df55671ecc Author: Nikolay Nikolov Date: Sat Jan 6 21:12:22 2024 +0200 * wasm internal linker: perform R_WASM_SECTION_OFFSET_I32 relocations M compiler/ogwasm.pas --- commit e3b6d70f93e2f7831897296d218f32247f13adc7 Author: Nikolay Nikolov Date: Sat Jan 6 21:16:31 2024 +0200 * wasm internal linker: set mempos of debug sections to 0 M compiler/ogwasm.pas --- commit b679f8bc06f52a3e00d282582703beaf0acb0b98 Author: Nikolay Nikolov Date: Sat Jan 6 21:39:31 2024 +0200 - wasm internal object reader: removed redundant check for R_WASM_TABLE_INDEX_I32 pointing to a SYMTAB_FUNCTION entry (we now do this check earlier) M compiler/ogwasm.pas --- commit 3fddae4a40d3ed8e2cba9e5256715b14d9a97040 Author: Nikolay Nikolov Date: Sat Jan 6 21:55:20 2024 +0200 + wasm internal linker: implemented R_WASM_FUNCTION_OFFSET_I32 relocations M compiler/ogwasm.pas --- commit 4b2a924ea038f4304e05a4ecd3ed2dff703e44dd Author: Nikolay Nikolov Date: Sat Jan 6 22:05:35 2024 +0200 * fix warning M compiler/ogwasm.pas --- commit aac37e31795e3dffabe1cb3745e99d6b75d79f8f Author: Nikolay Nikolov Date: Sat Jan 6 22:10:34 2024 +0200 * fix warning M compiler/ogwasm.pas --- commit 49395f2b00b01e65331ba4ce11749df8291cb26f Author: Nikolay Nikolov Date: Sat Jan 6 23:21:37 2024 +0200 + WASI internal linker: add all object sections, starting with '.bss' to the .bss section M compiler/systems/t_wasi.pas --- commit 749688b3b0938d0c59b31d58adf5e64ec276c179 Author: Nikolay Nikolov Date: Sat Jan 6 23:24:26 2024 +0200 + WASI internal linker: also add .debug_frame and .debug_str sections to the output binary M compiler/systems/t_wasi.pas --- commit b8db469c48dbce4cd9128ab2843435839145d623 Author: Nikolay Nikolov Date: Sat Jan 6 23:26:14 2024 +0200 + WASI internal linker: simplify linker script generation for the .text, .rodata, .data and .bss sections via the use of ScriptAddGenericSections M compiler/systems/t_wasi.pas --- commit 6a9376cb9e3802c9e7efb8f09bcde88829e3942e Author: Nikolay Nikolov Date: Sat Jan 6 23:53:15 2024 +0200 * wasm internal linker: fixed the relocation of imported function symbol aliases M compiler/ogwasm.pas --- commit 7f3ed9e85c45f126b1aea6e69481ce973e8bdf7e Author: Nikolay Nikolov Date: Sun Jan 7 00:11:59 2024 +0200 * wasm internal linker: skip the element section when reading object files. This fixes linking with object modules, produced by the external assembler. M compiler/ogwasm.pas --- commit c527437594d7cba7bf028ae69ba0e2058ffeff8f Author: Nikolay Nikolov Date: Sun Jan 7 01:06:04 2024 +0200 + wasm internal object reader: parse the tag section M compiler/ogwasm.pas --- commit 55002d19056049236f7c61d984657b54b778325c Author: Nikolay Nikolov Date: Sun Jan 7 01:15:13 2024 +0200 + wasm internal object reader: read tag imports M compiler/ogwasm.pas --- commit 2de0bcb8d0fc180b1e1b85769ef55b58b5f50b06 Author: Nikolay Nikolov Date: Sun Jan 7 01:23:05 2024 +0200 + wasm internal object reader: store the tags from the tag section in the TagTypes array M compiler/ogwasm.pas --- commit 79d739baa60261b18826b202799b82d71fa1f294 Author: Nikolay Nikolov Date: Sun Jan 7 01:25:48 2024 +0200 + wasm internal object reader: bounds check the tag type index against the types table M compiler/ogwasm.pas --- commit 02b7cc0e56f8a597df74b821f5413d00a3dd7f3e Author: Nikolay Nikolov Date: Sun Jan 7 01:29:10 2024 +0200 + wasm internal object reader: read tags from the export section M compiler/ogwasm.pas --- commit 09accffd2878899c633c8a65155789a84c68b703 Author: Nikolay Nikolov Date: Sun Jan 7 01:33:00 2024 +0200 + wasm internal object reader: range check event symbols against the tag index space (imports + tag section) M compiler/ogwasm.pas --- commit 962b36a6e843c3d2d7d0e42cd7d9b03cf8db8b44 Author: Nikolay Nikolov Date: Sun Jan 7 01:42:12 2024 +0200 + wasm internal object reader: create symbols for SYMTAB_EVENT entries in the symbol table M compiler/ogwasm.pas --- commit 3121f3f8a08ff1fbca9d2d3c7416faf3d7cc1523 Author: Nikolay Nikolov Date: Sun Jan 7 01:43:47 2024 +0200 * wasm internal object reader: validate that R_WASM_TAG_INDEX_LEB relocations point to a SYMTAB_EVENT symbol M compiler/ogwasm.pas --- commit 07677f421412915db1e5453d8b483d2fc8306e42 Author: Nikolay Nikolov Date: Sun Jan 7 01:45:27 2024 +0200 * wasm internal object reader: convert R_WASM_TAG_INDEX_LEB relocations to relocation objects M compiler/ogwasm.pas --- commit 1d48cd7eba33c5059cf840c42073c3a0b624ead9 Author: Nikolay Nikolov Date: Sun Jan 7 01:50:16 2024 +0200 * wasm internal linker: treat exception symbols as AB_COMMON M compiler/ogwasm.pas --- commit 59c88f4c7927cfbe4b9e4515bc6a2ddf08dfabaf Author: Nikolay Nikolov Date: Sun Jan 7 01:56:34 2024 +0200 + WASI internal linker: added the .wasm_tags exe section to the linker script M compiler/systems/t_wasi.pas --- commit 6b47a03cc97643fdbdf30dad9fb20e7e21ea6d91 Author: Nikolay Nikolov Date: Sun Jan 7 02:08:32 2024 +0200 * wasm internal object reader: handle tag symbol flags properly (support weak and local symbols) M compiler/ogwasm.pas --- commit 033a2ae2e77427bfeb6d20b76c2e762490b446c3 Author: Nikolay Nikolov Date: Sun Jan 7 02:12:49 2024 +0200 * wasm internal linker: set mempos of the .wasm_tags (and .wasm_globals) section to 0 M compiler/ogwasm.pas --- commit 4084da63abcbfcab5ffe1fa83bb2b50f445ad6ef Author: Nikolay Nikolov Date: Sun Jan 7 02:35:35 2024 +0200 + wasm internal linker: create the tag section (if not empty) M compiler/ogwasm.pas --- commit cd72a8910e3d0430bcca3d02b783b366cd0a78e0 Author: Nikolay Nikolov Date: Sun Jan 7 02:39:57 2024 +0200 + wasm internal linker: implemented RELOC_TAG_INDEX_LEB relocations M compiler/ogwasm.pas --- commit 93365f7e38e8c2fb63dda8e50a570b654560191a Author: Nikolay Nikolov Date: Sun Jan 7 02:41:53 2024 +0200 * wasm internal linker: produce an internal error on unknown relocations M compiler/ogwasm.pas --- commit 9681378d37b4c5653f586785dce888ea03f74ab2 Author: Nikolay Nikolov Date: Sun Jan 7 03:17:07 2024 +0200 + enable the WASI internal linker M compiler/systems/i_wasi.pas --- commit e3f4bad1646c9b16fdd672707c0145fdaa356d38 Author: Nikolay Nikolov Date: Sun Jan 7 03:29:32 2024 +0200 * fixed internal linker crash if no tags are defined (i.e. no WASM native exceptions used) M compiler/ogwasm.pas --- commit 60e77de115c2ad9fd823ba9684f1b991f8ac3b39 Author: Jonas Maebe Date: Sun Jan 7 15:23:15 2024 +0100 LLVM: remove flags used to support older LLVM versions M compiler/llvm/agllvm.pas M compiler/llvm/hlcgllvm.pas M compiler/llvm/llvminfo.pas --- commit 7163a893e9ea8e98731da28347a61854965deb74 Author: Sven/Sarah Barth Date: Sun Jan 7 16:02:59 2024 +0100 * search using the real package name instead of the uppercased one so that an as-is cased package will be found as well M compiler/fpcp.pas --- commit dbf6527508b6de8799239fa025fe74221b91d829 Author: florian Date: Sun Jan 7 17:32:50 2024 +0100 * factor out pointer_dec M compiler/ptype.pas --- commit f7bfa0e426c6dd8d5ea9adb7fd042d5e33634b16 Author: florian Date: Sun Jan 7 17:51:35 2024 +0100 * range checking is already performed in pass_typecheck M compiler/arm/narmcon.pas --- commit 170c05592b56e987c2d72c660f066c349ccc85e8 Author: Sven/Sarah Barth Date: Sun Jan 7 18:04:44 2024 +0100 * ensure that the legacy method table has the correct alignment on platforms that require it (e.g. SPARC64) M compiler/ncgvmt.pas M rtl/inc/objpas.inc M rtl/objpas/typinfo.pp --- commit 82ac4299540a0cec37c545787ebf0dc4c1fe303b Author: Michaël Van Canneyt Date: Sun Jan 7 20:19:34 2024 +0100 * Fix missing escape for dollar sign M compiler/msg/errore.msg --- commit fbcd90f2860903ed0bd7fcac0fe51f7202156a14 Author: Nikolay Nikolov Date: Mon Jan 8 01:18:06 2024 +0200 + generate DWARF debug info for WebAssembly locals M compiler/dbgdwarf.pas --- commit 3c57eb42f91348c5f066f70d7f7700b843dfbeda Author: Karoly Balogh Date: Mon Jan 8 13:53:02 2024 +0100 do not display the changing assembler note, if the internal and the external assemblers are the same, or there's no internal assembler defined M compiler/options.pas --- commit db137d0528f1228abdf90068aac290359cb4009c Author: Karoly Balogh Date: Mon Jan 8 13:54:55 2024 +0100 tabs to spaces cosmetics, no functional change M compiler/options.pas --- commit 020ca55e257c3b3f354211dbeb9f992730578d99 Author: Karoly Balogh Date: Mon Jan 8 15:06:38 2024 +0100 m68k: add more cases, where TST instructions can beoptimized away, because the previous instruction already sets all the required flags M compiler/m68k/aoptcpu.pas --- commit 88ffc9e22822e13511a7de1eff2d6723505f51fa Author: Karoly Balogh Date: Tue Jan 9 03:03:19 2024 +0100 m68k: refactored the optimizer to avoid direct asml management where possible, and use standard functions instead M compiler/m68k/aoptcpu.pas --- commit 19fe377455f4ef904b4f71034fc714f51bab1b1c Author: Karoly Balogh Date: Tue Jan 9 10:57:11 2024 +0100 m68k: fix tw40182 test M compiler/m68k/n68kadd.pas --- commit a8b4c0772c18bc98b934815aedb0256fad88f1d3 Author: Nikolay Nikolov Date: Wed Jan 10 02:33:47 2024 +0200 * fixed bug that caused 'c in ['a'..'z']' to fail on the WebAssembly target, when code is compiled with {$packset 1} M compiler/ncgset.pas A tests/test/tset8.pp --- commit 637c34571e50d78cc1c9368f0ee44128f06a2bc3 Author: Pierre Muller Date: Wed Jan 10 23:24:24 2024 +0100 Avoid range check error in AddNormalStringDef M compiler/dbgdwarf.pas --- commit 74625648cfd30f1244ca56410a0d5a5a87982c83 Author: J. Gareth "Curious Kit" Moreton Date: Thu Jan 11 04:59:08 2024 +0000 * Vectors of string constants are now simplified into ordinal constants M compiler/nmem.pas --- commit 4c330f2799c68105aeacaeb442365ad6f8da8da6 Author: Pierre Muller Date: Fri Jan 12 16:55:54 2024 +0100 Issue internal error in def type is errordef M compiler/symtype.pas --- commit 1fecb46c52c98e1d55ec875987770738237ee1ae Author: Nikolay Nikolov Date: Fri Jan 12 21:17:04 2024 +0200 - removed the ENABLE_WASM_INTERNAL_LINKER define from the .lpi file M compiler/ppcwasm32.lpi --- commit a9316b1953b31f452d32f6d6fb4a52ea81a05104 Author: Nikolay Nikolov Date: Sun Jan 14 00:21:40 2024 +0200 - removed the DEBUG_WASM_GOTO define from the .lpi file M compiler/ppcwasm32.lpi --- commit 01246e4d30d7933b6e08b1ce2bcad9121352304c Author: J. Gareth "Curious Kit" Moreton Date: Sun Jan 14 02:53:21 2024 +0000 * Fixed issue where Val shortcutting would not compile under 32-bit systems M compiler/ncal.pas --- commit 5f42443db3ff3a04b64361597c650fee9849cba6 Author: florian Date: Sun Jan 14 18:58:08 2024 +0100 * several issues with the in_val_x optimization fixed M compiler/ncal.pas --- commit 1ffef6ed41fb47c1e7dac5a0fc2120c3ce96e303 Author: Sven/Sarah Barth Date: Mon Jan 15 22:22:38 2024 +0100 * print the whole symbol name for hint messages M compiler/symsym.pas --- commit f65e4f23853f38d6e39221e9d70abb9867c07052 Author: Nikolay Nikolov Date: Tue Jan 16 08:12:40 2024 +0200 * fixed bug in the handling of WebAssembly goto M compiler/wasm32/cpupi.pas --- commit 4867d48e99731b11af3d405c621d1f2e945ba95e Author: florian Date: Tue Jan 16 23:24:37 2024 +0100 + support for .debug_loc and .debuc_loclist sections M compiler/aasmbase.pas M compiler/aasmdata.pas M compiler/aggas.pas M compiler/ogbase.pas M compiler/ogcoff.pas M compiler/ogelf.pas M compiler/ogrel.pas M compiler/ogwasm.pas M compiler/omfbase.pas M compiler/powerpc/agppcmpw.pas M compiler/x86/agx86int.pas M compiler/x86/agx86nsm.pas M compiler/z80/agsdasz80.pas M compiler/z80/agz80vasm.pas --- commit 03fc5d23235c1b6b7184b9278aae7ebc4546c2c1 Author: Nikolay Nikolov Date: Wed Jan 17 08:32:10 2024 +0200 + added a zero/unitialized/unknown value to TWasmBasicType: wbt_Unknown M compiler/wasm32/agwat.pas M compiler/wasm32/cpubase.pas M compiler/wasm32/itcpugas.pas --- commit 04a077707c334705b9ca639642a2db03b6b154a8 Author: Nikolay Nikolov Date: Wed Jan 17 09:43:51 2024 +0200 * fix warning M compiler/wasm32/cpubase.pas --- commit 42f447257dee02eae4fa1aa194f0bfd387004858 Author: Nikolay Nikolov Date: Wed Jan 17 11:21:48 2024 +0200 + introduced TWasmValueStack for tracking the state of the WebAssembly stack. Not used, yet, but will be in the future. M compiler/wasm32/aasmcpu.pas --- commit 9648463eb544afcb9f6d65c17682ee05a4cc6c1f Author: Pierre Muller Date: Wed Jan 17 20:23:41 2024 +0100 Add MaybeSwap for coffsectionrec records (needed for cross-endian compilation) M compiler/ogcoff.pas --- commit 7595dd3624f048163ca3b575333d0e0b86d14c92 Author: Pierre Muller Date: Thu Jan 18 09:56:32 2024 +0100 Also swap word/dword in case of cross-endian compilation M compiler/ogcoff.pas --- commit 79f6ee538dc8d81f876c7f32baaf594f5fc9d1cb Author: florian Date: Sun Jan 21 15:21:48 2024 +0100 * fix compilation on 32 bit hosts M compiler/nmem.pas --- commit 7bbd33bcd6fd57b01619449c2f5c9fdf217c2e02 Author: florian Date: Sun Jan 21 15:26:21 2024 +0100 * last commit was not complete, fixed M compiler/nmem.pas --- commit 3db060e47afd90db26f7b5cd8ae1584438169a23 Author: Pierre Muller Date: Sun Jan 21 21:41:27 2024 +0000 Use writeUInt32LE/writeUInt16LE method to write multi-byte integer in importlib method in t_win unit (as all supported CPUs are little endian) M compiler/systems/t_win.pas --- commit fadf43a33b4bf3c5cd4d73f086d8de0c9c02aa6c Author: Nikolay Nikolov Date: Mon Jan 22 10:14:43 2024 +0200 + added TWasmControlStack and frame. Not used, yet. Will be used in the future for WebAssembly stack tracking and validation. M compiler/wasm32/aasmcpu.pas --- commit 6aa49038a5b9a2316e609b3bccee9bc6acca4e2b Author: Nikolay Nikolov Date: Mon Jan 22 11:02:32 2024 +0200 * inverted the indices of TWasmValueStack, so that item 0 is top of stack M compiler/wasm32/aasmcpu.pas --- commit 47c21fd1bc4700da1e233cc1c8ede88773105057 Author: Sven/Sarah Barth Date: Mon Jan 22 19:40:48 2024 +0100 * fix #40593: don't check for a static method when assigning a methodpointer to a function reference + added test M compiler/defcmp.pas A tests/webtbs/tw40593.pp --- commit feb79e0068b27c9c22358fcf6ce84282e9390b3b Author: Sven/Sarah Barth Date: Mon Jan 22 22:22:03 2024 +0100 - the setter for tloadnode.procdef is not used, so remove it so that that tloadnode.setprocdef can be extended M compiler/nld.pas --- commit 981ec64666491aacab8ec00d0f631ac371f31812 Author: Sven/Sarah Barth Date: Mon Jan 22 22:25:18 2024 +0100 * fix #40594: when assigning a nested function to a function reference don't check for the nested procvars parameter, because nested functions can be treated like anonymous functions here + added test M compiler/htypechk.pas M compiler/nld.pas A tests/webtbs/tw40594.pp --- commit c4fc5fc916c4eca14831a70d75dda09df96778e8 Author: florian Date: Tue Jan 23 22:11:59 2024 +0100 * disable OptPass2Test and OptPass2CMP for now as it seems to result in buggy code M compiler/i386/aoptcpu.pas M compiler/x86_64/aoptcpu.pas --- commit 5605566e427158a4300941f4279b41000985fcdd Author: J. Gareth "Curious Kit" Moreton Date: Wed Jan 24 14:34:43 2024 +0000 * Added field to identify blocknodes that wrap entire subroutines M compiler/nbas.pas --- commit 8ae28b48463fab579e6194b76c238c5d7779e0ba Author: Pierre Muller Date: Thu Jan 25 10:13:21 2024 +0000 Fix writing of low qword of floatx80 real type into 10-byte array on big endian systems M compiler/entfile.pas --- commit 71ba76532b7bfd39f9f861cbb8f87ff949796ee8 Author: Pierre Muller Date: Thu Jan 25 10:17:11 2024 +0000 * Fix writing of 'comp' type depending on FPC_COMP_IS_INT64 macro. * Fix writing of floatx80 on systems with gaps due to alignment requirements. M compiler/assemble.pas --- commit 5eda6e027d305b1708b7f938745ee454a1e58342 Author: Pierre Muller Date: Thu Jan 25 11:00:28 2024 +0000 * Add internal_endian field to tppudumpfile class * Check that this new field is indeed set, once only, by header flags. * Use this flag to extract high and low parts of floatx80 record for soft floatx80 support. M compiler/utils/ppuutils/ppudump.pp --- commit 11b0b9dc57556caca09bf46bba722979ded5fcc5 Author: Pierre Muller Date: Thu Jan 25 11:04:42 2024 +0000 Use reverse_byte to write constant sets in cross-endian configuration M compiler/dbgdwarf.pas --- commit ca6fe96360edd68e1a9822a614c507fbf9681aee Author: Pierre Muller Date: Thu Jan 25 14:52:37 2024 +0100 Add writeInt8/writeUInt8 methods to fix some cross-endian generation issues M compiler/ogbase.pas --- commit 5c564ea940001ecad02db8b2dd9320ffa42a93b4 Author: Pierre Muller Date: Thu Jan 25 16:05:05 2024 +0100 Use writeint8/writeuint8 methods to avoid cross-endian issues M compiler/x86/aasmcpu.pas --- commit 1d1e070ad2fbf3c5b2cfbd41b307d59fc67e40c1 Author: Pierre Muller Date: Thu Jan 25 17:10:30 2024 +0100 Support cross-endian compilation for telfobjdata.writereloc method M compiler/ogelf.pas --- commit f3e03f048376a63ec50862c54579104b7685480e Author: Pierre Muller Date: Thu Jan 25 17:58:06 2024 +0100 Fix tabs M compiler/ogelf.pas --- commit b514e979bdf7fd53556ba1d58dd5915bb1308f53 Author: J. Gareth "Curious Kit" Moreton Date: Thu Jan 25 22:39:17 2024 +0000 * Fixed issue where OptPass2CMP and OptPass2TEST didn't drop out on labels etc. M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit e3b93b07c6a6968cbc0b7c8b1d22353faff60614 Author: Pierre Muller Date: Thu Jan 25 23:10:44 2024 +0100 * Fix writereloc for cross-endian compilation M compiler/assemble.pas --- commit 2e441609bebd024a9cb9d0eb2c3d6885f4f0b092 Author: J. Gareth "Curious Kit" Moreton Date: Fri Jan 26 08:42:56 2024 +0000 * Fixed issue where TryCmpCMovOpts produced bad code if the last MOV got moved. M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas --- commit 05d6e20accbf8ea92b1d17949a5d41d583887c6d Author: J. Gareth "Curious Kit" Moreton Date: Fri Jan 26 18:00:31 2024 +0000 * New Boolean "SetAndTest" utility function M compiler/aoptutils.pas --- commit 3e06242fd8302a9098a30cfe457357ee3a1927c0 Author: J. Gareth "Curious Kit" Moreton Date: Sat Jan 27 20:22:02 2024 +0000 * x86: New "STC/CLC; MOV" peephole optimisation M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit b32573d1ebb4c7a33708efe3a6e275bf2fdbd4a1 Author: florian Date: Sat Jan 27 22:05:31 2024 +0100 * inserting $result into the symtables should never trigger a duplicate symbol error, resolves #40608 M compiler/pparautl.pas A tests/webtbs/tw40608.pp --- commit 2044868c10fa1a330c98b21af704abf5a6631816 Author: Pierre Muller Date: Sat Jan 27 23:29:57 2024 +0100 Swap real constant in internal assembler M compiler/assemble.pas --- commit d06dd2b0ea1487fd0cc91c5d489c843a2152a375 Author: J. Gareth "Curious Kit" Moreton Date: Sat Jan 27 23:58:33 2024 +0000 * x86: New "Jcc; CLC/STC; .Lbl" optimisation M compiler/x86/aoptx86.pas --- commit bac4ca19e7298e0395e7d3d7e7fc370fce1fe769 Author: J. Gareth "Curious Kit" Moreton Date: Sun Jan 28 00:12:48 2024 +0000 * Fixed internal error 2022041701 number clash (LLVM changed to 2022041730) M compiler/llvm/dbgllvm.pas --- commit 698d432ccea80b6740fc9b7980c19d973b03ab0a Author: J. Gareth "Curious Kit" Moreton Date: Sun Jan 28 11:44:14 2024 +0000 * x86: Separated out Jcc; STC/CLC optimisation and added additional peephole optimisations M compiler/x86/aoptx86.pas --- commit de03a1b894799e2f9133cbbad05c3f6f46af1423 Author: J. Gareth "Curious Kit" Moreton Date: Sun Jan 28 14:32:26 2024 +0000 * x86: Additional STC/CLC; J(N)C deterministic jump optimisation M compiler/x86/aoptx86.pas --- commit 2055ef4e886888a361bc6fbdd90980a174d29d84 Author: J. Gareth "Curious Kit" Moreton Date: Sun Jan 28 21:03:42 2024 +0000 * x86: STC/CLC optimisations can now handle multiple Jcc instructions M compiler/x86/aoptx86.pas --- commit 62495c964abcfcc8f12038bd90db3f66a60c15c0 Author: J. Gareth "Curious Kit" Moreton Date: Mon Jan 29 01:11:06 2024 +0000 * x86: New "aoc_DoPass2JccOpts" option to catch branch and STC/CLC optimisations that only manifest in Pass 2 M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit 529b64790bb5637ccedb0d10926f9827c905c007 Author: Pierre Muller Date: Mon Jan 29 18:12:25 2024 +0100 Avoid 'false' warning: Local variable "gap_index" does not seem to be initialized on cycle with -O3 option M compiler/assemble.pas --- commit 277a3be9b06258b5b439b4ad363d98786985e8d1 Author: Michaël Van Canneyt Date: Tue Jan 30 09:51:52 2024 +0100 * DRY Refactoring: introduce discardppu M compiler/fppu.pas --- commit 97f159e4b2c861df559966142a50682130e8a1f2 Author: Michaël Van Canneyt Date: Tue Jan 30 12:18:59 2024 +0100 * Refactory: remove current_module use from top-level parsing M compiler/parser.pas M compiler/pmodules.pas --- commit 560d597c85da4521779cb2dde6d5ea344aaab412 Author: Michaël Van Canneyt Date: Tue Jan 30 14:11:28 2024 +0100 * Move implementation part to separate routine so we can split tasks later M compiler/pmodules.pas --- commit 122251f71d6bc2395be342a4f5b1df4353852991 Author: Michaël Van Canneyt Date: Tue Jan 30 14:16:24 2024 +0100 * Move interface parsing part to separate routine so we can split tasks later M compiler/pmodules.pas --- commit b45aee980f15f4df903989529bd8c178ca1647ed Author: Michaël Van Canneyt Date: Tue Jan 30 14:55:26 2024 +0100 * Split parsing from post-processing, code generation and linking M compiler/pmodules.pas --- commit 83b5047931866e5ea58811596b64a633dbed9480 Author: Michaël Van Canneyt Date: Tue Jan 30 15:08:02 2024 +0100 * Move program/library header parsing to separate routines M compiler/pmodules.pas --- commit 5b27fa93753a42dccf78082c99c580952f87d728 Author: Michaël Van Canneyt Date: Tue Jan 30 15:32:16 2024 +0100 * Remove commented variables M compiler/pmodules.pas --- commit 8fa3c57c1bb005d27664e66544a4005758f43dfe Author: Michaël Van Canneyt Date: Tue Jan 30 15:33:01 2024 +0100 * split module creation from parsing start M compiler/parser.pas --- commit ff3b4adc2773934710b014df680d96897948118d Author: florian Date: Tue Jan 30 22:55:42 2024 +0100 + more CPU and FPU flags added M compiler/i386/cpuinfo.pas M compiler/x86_64/cpuinfo.pas --- commit 506634f261efed31de36b3766393d1386fe2bdd4 Author: Nikolay Nikolov Date: Wed Jan 31 01:05:02 2024 +0200 * TWasmControlFrame changed to a record M compiler/wasm32/aasmcpu.pas --- commit 3f0853692c9397088fee4217a5d8466e3e24f6b4 Author: Nikolay Nikolov Date: Wed Jan 31 01:20:24 2024 +0200 + implemented methods in TWasmControlStack: Push, Pop, GetItems, SetItems M compiler/wasm32/aasmcpu.pas --- commit 178687531909624efa0328c8a2cd7ec87f5499e6 Author: Nikolay Nikolov Date: Wed Jan 31 01:52:05 2024 +0200 + implemented TWasmValueStack.GetCount + implemented TWasmControlStack.GetCount + implemented TWasmValidationStacks.PopVal M compiler/wasm32/aasmcpu.pas --- commit d575aa5240840b008186da794007e06097cd3850 Author: Nikolay Nikolov Date: Wed Jan 31 01:55:38 2024 +0200 + introduced TWasmBasicTypeList M compiler/wasm32/aasmcpu.pas --- commit 2d5c1d43cff48050beccc906049cfb7ebac83c6c Author: Nikolay Nikolov Date: Wed Jan 31 02:10:05 2024 +0200 + introduced TWasmValidationStacks.PopVal(expect) M compiler/wasm32/aasmcpu.pas --- commit 4d5479741d6a7165b1592abe890330207dc4795a Author: Nikolay Nikolov Date: Wed Jan 31 02:11:59 2024 +0200 + introduced TWasmValidationStacks.PushVals M compiler/wasm32/aasmcpu.pas --- commit 064adbf3f8aa7e1f7f1f85b31d2eeb8988a481ac Author: Nikolay Nikolov Date: Wed Jan 31 02:15:09 2024 +0200 + introduced TWasmValidationStacks.PopVals M compiler/wasm32/aasmcpu.pas --- commit 18c6e13f45298162520fe8d20f3397b1037c35dc Author: Nikolay Nikolov Date: Wed Jan 31 02:19:03 2024 +0200 * fixed warning M compiler/wasm32/aasmcpu.pas --- commit 4cc5cf4d0edcd8b18562af0d41b89b027b1bee74 Author: Nikolay Nikolov Date: Wed Jan 31 02:25:44 2024 +0200 + introduced TWasmValidationStacks.PushCtrl M compiler/wasm32/aasmcpu.pas --- commit 4cb97dcdb34f5912ff29019b5c9b5ffc20b90db6 Author: Nikolay Nikolov Date: Wed Jan 31 02:33:31 2024 +0200 * fixed warning M compiler/wasm32/aasmcpu.pas --- commit f3e667da42bc0994dc51aa92de55a70ca819ef09 Author: Nikolay Nikolov Date: Wed Jan 31 02:38:09 2024 +0200 + introduced TWasmValidationStacks.PopCtrl M compiler/wasm32/aasmcpu.pas --- commit 24315a7f28237e3dacaa2e5352220fc15f260764 Author: Nikolay Nikolov Date: Wed Jan 31 02:45:43 2024 +0200 + introduced TWasmValidationStacks.label_types M compiler/wasm32/aasmcpu.pas --- commit 5e0dcfb49b7a970ce61b26ec468b662904218236 Author: Nikolay Nikolov Date: Wed Jan 31 02:57:19 2024 +0200 + introduced TWasmValidationStacks.Unreachable M compiler/wasm32/aasmcpu.pas --- commit 4443e83b75b36946e8a35fd0dfebbb93c396c1fb Author: Michaël Van Canneyt Date: Wed Jan 31 13:47:17 2024 +0100 * replace/restore_scanner use var in state to make sure the correct scanner is freed M compiler/symcreat.pas --- commit 93ae6261ccaef7c84096785c28d5f2569c1ec60e Author: Michaël Van Canneyt Date: Wed Jan 31 13:48:26 2024 +0100 * Make current_scanner a function/procedure to better control lifetime M compiler/scanner.pas --- commit 3ce07ef6fa90d13b7e6c965bfc489226575b548d Author: Michaël Van Canneyt Date: Wed Jan 31 13:49:13 2024 +0100 * use set_current_scanner, add mainscanner M compiler/fmodule.pas M compiler/globstat.pas --- commit a81715d6ea0651bad3436d09effcd4471e8f2abb Author: Michaël Van Canneyt Date: Wed Jan 31 13:52:15 2024 +0100 * Pass loaded from M compiler/fppu.pas --- commit d9317e5df522c6ff359c8650e7a2d542d306dd96 Author: Michaël Van Canneyt Date: Wed Jan 31 13:53:10 2024 +0100 * Remove use of current_module M compiler/parser.pas --- commit 7cd044eae742f33e905dc01ced9a8cb1e31f0adb Author: Michaël Van Canneyt Date: Wed Jan 31 13:54:37 2024 +0100 save/restore state when loading other modules. M compiler/pmodules.pas --- commit ae465fa8dc85ea69180527c3fc1e03b25ecab082 Author: florian Date: Wed Jan 31 22:32:31 2024 +0100 + introduce x86-64 microarchitecture levels for cpu and fpu flags M compiler/x86/agx86nsm.pas M compiler/x86_64/cpuinfo.pas --- commit e53620ebdb89140ee851e89d2f3fbdf9ca49a162 Author: Nikolay Nikolov Date: Thu Feb 1 01:20:15 2024 +0200 * fix warnings M compiler/wasm32/aasmcpu.pas --- commit 6f7481fd24bce9fb1d2481b5f7be3cbe11e0ce5e Author: Michaël Van Canneyt Date: Thu Feb 1 10:36:42 2024 +0100 * Remove freeold from set_current_scanner M compiler/fmodule.pas M compiler/globstat.pas M compiler/parser.pas M compiler/scanner.pas M compiler/symcreat.pas --- commit 1351746a46807cecd8064e873c41c615f9af6ec9 Author: Michaël Van Canneyt Date: Thu Feb 1 10:50:37 2024 +0100 * Make tglobalstat a class M compiler/fmodule.pas M compiler/globstat.pas M compiler/parser.pas M compiler/pmodules.pas --- commit 8aa9ac99a6a2796e77a5157aa45b327699eecd83 Author: Michaël Van Canneyt Date: Thu Feb 1 12:02:12 2024 +0100 * Remove loaded_from in tmodule. The same unit can be loaded from different places M compiler/browcol.pas M compiler/fmodule.pas M compiler/fppu.pas M compiler/pmodules.pas --- commit a5caf91f74d7eb8e4863d155887ae09f60e13c34 Author: Michaël Van Canneyt Date: Thu Feb 1 14:51:16 2024 +0100 * Split load_ppu for clarity M compiler/fppu.pas --- commit 881eb0fab5bea2ca1cc283d2aa76d75a1904458e Author: Michaël Van Canneyt Date: Thu Feb 1 15:05:10 2024 +0100 * Check whether call to deref(impl) is needed during re-resolve (indexes may be -1 if not yet built) M compiler/fppu.pas M compiler/symtable.pas --- commit 5298e25c8420f43587d174c6d549f688f514a04a Author: Michaël Van Canneyt Date: Thu Feb 1 16:39:40 2024 +0100 * Introduce task (Single main-level task at the moment, no change in behaviour). M compiler/compiler.pas A compiler/ctask.pas M compiler/finput.pas M compiler/fmodule.pas M compiler/fppu.pas M compiler/globals.pas M compiler/parser.pas M compiler/pmodules.pas M compiler/scandir.pas --- commit f8dbb09a46c4b48d6ed0db3656aa6474a1ef2ada Author: florian Date: Thu Feb 1 22:07:15 2024 +0100 * fixed some issues with the x86-64 instruction versions * use more of the constants M compiler/x86_64/cpuinfo.pas --- commit 27a2a042799566a069ae6d4772ff77405491e794 Author: Sven/Sarah Barth Date: Fri Feb 2 15:09:57 2024 +0100 * fix #40618: apply adjusted patch by Евгений Савин (@jack128a) so that a non-load case expression is loaded into a temp first when converting a single range branch into an if-clause + added test M compiler/nset.pas A tests/webtbs/tw40618.pp --- commit 2c527cfc01eb10f254fab67623eda3d8180b8fd4 Author: Sven/Sarah Barth Date: Fri Feb 2 16:23:43 2024 +0100 * fix typos in comment, no code changes M compiler/scandir.pas --- commit d44cae14f597ddd55b803ca1f8591e816a655de8 Author: florian Date: Fri Feb 2 22:00:22 2024 +0100 * decide more sophisticately if a temp. var is needed for fixing #40618 M compiler/nset.pas --- commit 4f82fade82a92bb32768602a1098388bebb3b2dc Author: florian Date: Sat Feb 3 22:19:07 2024 +0100 * extend LeaCallLeaRet2Jmp optimization to work on windows M compiler/x86/aoptx86.pas --- commit ac6dc582bed106bcdc44b5ebc16adfd17a6c67ba Author: florian Date: Sat Feb 3 22:40:54 2024 +0100 + also add x86-64 as cpu type (gcc compatibility) M compiler/x86/agx86nsm.pas M compiler/x86_64/cpuinfo.pas --- commit f80f1112d4faa565ac5a1266875bb9f22056f980 Author: florian Date: Mon Feb 5 23:18:07 2024 +0100 + Zen 4 M compiler/x86/agx86nsm.pas M compiler/x86_64/cpuinfo.pas --- commit d7581aa1eefbbe22851baf8e9f8db92e4f99d085 Author: Nikolay Nikolov Date: Mon Feb 5 23:29:44 2024 +0200 + implemented TWasmValidationStacks.Validate for many (but not all, yet) instructions M compiler/wasm32/aasmcpu.pas --- commit 28c4c58b345a72e85026f83d1e49b86a9ab18183 Author: Nikolay Nikolov Date: Mon Feb 5 23:35:45 2024 +0200 * fix warning M compiler/wasm32/aasmcpu.pas --- commit e4bd58d66abe436e1d660baeafcdea25c42c2c54 Author: J. Gareth "Curious Kit" Moreton Date: Tue Feb 6 17:24:24 2024 +0000 * x86: Replaced CPU features array with "cpu_x86_64_v1_flags" where possible M compiler/x86_64/cpuinfo.pas --- commit b4eabbe5ceef3ec4542f3654d7a8ee601200dc5a Author: J. Gareth "Curious Kit" Moreton Date: Tue Feb 6 17:29:29 2024 +0000 * x86: Fixed CPU feature flags for AMD Jaguar and Piledriver M compiler/x86_64/cpuinfo.pas --- commit d7a486f225448fbaec7e31208a5ce66de71d8a62 Author: florian Date: Tue Feb 6 22:09:29 2024 +0100 * comment fixed, hint by Maxim Ganetsky M compiler/x86/agx86nsm.pas --- commit 462c201ce6a4229e562a351da130491d53eddfc9 Author: Michaël Van Canneyt Date: Wed Feb 7 17:11:47 2024 +0100 * Introduce m_processed M compiler/ctask.pas M compiler/finput.pas M compiler/parser.pas M compiler/scanner.pas --- commit c98e160c197b9cc53c41ab131ee8bf5a80164e5b Author: Michaël Van Canneyt Date: Wed Feb 7 17:22:09 2024 +0100 * Introduce state variables, used to construct list of used units M compiler/fmodule.pas --- commit 546de9f7e74d80800d8c0641ab5865965c9bf87a Author: Michaël Van Canneyt Date: Wed Feb 7 17:22:39 2024 +0100 * Return first waiting in usedunitsloaded M compiler/fmodule.pas --- commit 0bf0f26dd57a32756012e677279f53c7ce81a850 Author: Michaël Van Canneyt Date: Wed Feb 7 17:26:19 2024 +0100 * Introduce m_processed M compiler/ctask.pas M compiler/fppu.pas M compiler/pgenutil.pas M compiler/pmodules.pas --- commit 2ba04dbd137012def9d723e90cec51dae6788bee Author: Michaël Van Canneyt Date: Wed Feb 7 17:40:19 2024 +0100 * generate init_final table from actual uses clauses M compiler/jvm/njvmutil.pas M compiler/ngenutil.pas M compiler/pmodules.pas --- commit e073d5f7f79db76d758b96927c9287868a14227d Author: Nikolay Nikolov Date: Thu Feb 8 16:48:58 2024 +0200 + implemented support for the local.get, local.set and local.tee instructions in TWasmValidationStacks.Validate M compiler/wasm32/aasmcpu.pas --- commit 26855a29c8d0a726653f455704fd2917e89876e2 Author: Nikolay Nikolov Date: Thu Feb 8 16:54:33 2024 +0200 * fix warning M compiler/wasm32/aasmcpu.pas --- commit ddc2259e5eb53d48375865a4ff2a442472a2c042 Author: Sven/Sarah Barth Date: Fri Feb 9 17:14:29 2024 +0100 * protect against comparisons of nested types of generics and specializations M compiler/defcmp.pas --- commit ed8a05d6979982855e04383141350e0e2068d711 Author: Sven/Sarah Barth Date: Fri Feb 9 17:22:46 2024 +0100 * use iscurrentunit only when there isn't a suitable def that the moduleid of the symtables can be compared to M compiler/symtable.pas --- commit 43721f21c4f5da7f8b16745cc9ffbc49df070838 Author: Sven/Sarah Barth Date: Fri Feb 9 17:24:39 2024 +0100 * fix #40621: when checking for visibility of members then always use the genericdefs for specializations for correct scoping + added test M compiler/symtable.pas A tests/webtbf/tw40621.pp A tests/webtbf/uw40621.pp --- commit bc0d2293a1a89f2a352fafdb0924a30ede104322 Author: florian Date: Fri Feb 9 23:36:19 2024 +0100 * stricter type checking for set constants, resolves #40631 M compiler/ncnv.pas A tests/webtbf/tw40631a.pp A tests/webtbf/tw40631b.pp A tests/webtbf/tw40631c.pp --- commit 8a48d1bbbcc9a5084d93333460fcddcb7871f69e Author: florian Date: Sat Feb 10 22:14:34 2024 +0100 * clean up of arrayconstructor_to_set, the stringdef case didn't work for years and is not tested, so it probably is not supposed to be there at all M compiler/ncnv.pas --- commit 2575cbc439e7e7a047ef0eec5c5843988b3cdd0d Author: florian Date: Sun Feb 11 11:04:27 2024 +0100 * complain about turned off support of c style operators only in the parser, so error recovery is better M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/pexpr.pas M compiler/scanner.pas A tests/test/tcop1.pp A tests/test/tcop2.pp A tests/test/tcop3.pp A tests/test/tcop4.pp A tests/test/tcop5.pp --- commit 629c87efc8c8ca951d624c5ae392348a2a93e6a1 Author: J. Gareth "Curious Kit" Moreton Date: Mon Feb 12 10:14:16 2024 +0000 * x86-64: Typo fixed in FPU type string array M compiler/x86_64/cpuinfo.pas --- commit 53bf5dc6efa13c3b73e6645f4da47544898f1b0c Author: Pierre Muller Date: Mon Feb 12 10:39:18 2024 +0000 Avoid wrong typecast by adding check that p1 is an instuction before casting it to taicpu M compiler/arm/aoptcpu.pas --- commit 060a7185ab508b377b3d989768531e47e5187a71 Author: J. Gareth "Curious Kit" Moreton Date: Mon Feb 12 12:54:21 2024 +0000 * Framework for more complex block node simplification M compiler/nbas.pas --- commit eae74aaee07f8dc1ce1e2317bcfad967701ab218 Author: Pierre Muller Date: Mon Feb 12 14:03:02 2024 +0000 Follow sdas documentation for .ascii limitations by using only printable chars and .byte for others M compiler/z80/agsdasz80.pas --- commit 63e8633262df27bbf20f1c164f2a5a8f5a9e9360 Author: J. Gareth "Curious Kit" Moreton Date: Mon Feb 12 16:02:18 2024 +0000 * New block node optimisation that attempts to flatten nested blocks (makes labels and later optimisation more efficient). M compiler/nbas.pas --- commit 3ed5a4a022db3e68b6c84c0f749dfd9971c70f79 Author: florian Date: Mon Feb 12 23:25:35 2024 +0100 + when calling FPC_THROWFPUEXCEPTION in a sub routine, pi_do_call must be set, fixed for aarch64 M compiler/aarch64/ncpuadd.pas M compiler/aarch64/ncpuinl.pas M compiler/aarch64/ncpumat.pas --- commit a71cc7158570729c256fc7573b7d556ceada1843 Author: florian Date: Tue Feb 13 17:19:58 2024 +0100 + function needs_check_for_fpu_exceptions to unify fpu exception handling M compiler/aarch64/ncpuadd.pas M compiler/aarch64/ncpuinl.pas M compiler/aarch64/ncpumat.pas M compiler/arm/cgcpu.pas M compiler/cgutils.pas M compiler/riscv/cgrv.pas --- commit c96ef4902bf78e208033b9226f2475bc97caef82 Author: Michaël Van Canneyt Date: Tue Feb 13 17:32:16 2024 +0100 * Handle finish state separately M compiler/ctask.pas M compiler/finput.pas M compiler/fmodule.pas M compiler/pmodules.pas --- commit fe62b3ace8c237d8bd1800beb5969e5cb540723f Author: Michaël Van Canneyt Date: Tue Feb 13 19:44:32 2024 +0100 * Introduce constwresourcestring - in unicode mode, resource strings are unicode strings, and must be streamed differently M compiler/aasmcnst.pas M compiler/cresstr.pas M compiler/dbgdwarf.pas M compiler/htypechk.pas M compiler/ncal.pas M compiler/ncgld.pas M compiler/ncon.pas M compiler/ngtcon.pas M compiler/nld.pas M compiler/pdecl.pas M compiler/pexpr.pas M compiler/ppu.pas M compiler/scanner.pas M compiler/symconst.pas M compiler/symdef.pas M compiler/symsym.pas --- commit 57f6ed804ea377783098a2ba25646fcc81c370db Author: florian Date: Wed Feb 14 23:03:48 2024 +0100 + set pi_do_call on xtensa as well if we check for fpu exceptions * cosmetics M compiler/xtensa/ncpuadd.pas M compiler/xtensa/ncpuinl.pas M rtl/xtensa/mathu.inc --- commit ac3425a14d1cf2fd82482cf0d1118b6d4ce39bef Author: J. Gareth "Curious Kit" Moreton Date: Thu Feb 15 00:16:13 2024 +0000 * Only perform the block flattening if "forinline" is true or under -O2 and above M compiler/nbas.pas --- commit 1ee9a39fe2dbd16979b0ae54c6f5ae79f56af8b5 Author: florian Date: Thu Feb 15 22:46:05 2024 +0100 + lazarus project for a loongarch64 compiler A compiler/ppcloongarch64.lpi --- commit 421d67556aae3632415b8d1d585a63be325ae0bb Author: florian Date: Thu Feb 15 22:47:16 2024 +0100 + set pi_do_call on loongarch64 as well if we check for fpu exceptions M compiler/loongarch64/ncpuadd.pas M compiler/loongarch64/ncpuinl.pas --- commit d9903e6e16852a5f4a21e4cd73fe1db2f71c65c1 Author: Sven/Sarah Barth Date: Fri Feb 16 15:26:17 2024 +0100 * fix #40634: correctly check visibility for child classes in case of a mixture of specializations and non-specializations + added test M compiler/symtable.pas A tests/webtbs/tw40634.pp A tests/webtbs/uw40634a.pp A tests/webtbs/uw40634b.pp --- commit e406cbd9c8143219c368fe15a1b80b1338f16c5f Author: J. Gareth "Curious Kit" Moreton Date: Fri Feb 16 18:07:08 2024 +0000 * x86: Minor efficiency gains in OptPass1CMP M compiler/x86/aoptx86.pas --- commit a736a4bba7c7151ad58edb776c51eca69e787cdd Author: florian Date: Fri Feb 16 22:48:01 2024 +0100 + set pi_do_call on RiscV as well if we check for fpu exceptions M compiler/riscv/nrvadd.pas M compiler/riscv/nrvinl.pas --- commit ae927b06896c08a1df957e44e18e4a1da2bfc01b Author: J. Gareth "Curious Kit" Moreton Date: Sat Feb 17 07:14:24 2024 +0000 * x86: Fixed "Cmp1Jl2Cmp0Jle" and "CmpJe2NegJo" optimisations being applied incorrectly if another jump follows M compiler/x86/aoptx86.pas --- commit 7a29d8f54d45907913381878f0ee1d06bb1000bb Author: Michaël Van Canneyt Date: Sat Feb 17 11:04:29 2024 +0100 * Fix compilation with DEBUG_NODE_XML M compiler/symsym.pas --- commit 1e0f6f9f6465cf23899c470dd6d27aac003cdf55 Author: J. Gareth "Curious Kit" Moreton Date: Sat Feb 17 15:05:40 2024 +0000 * x86: Fixed error in "LeaLea2Lea 1" optimisation not properly accounting for the first LEA instruction having a repeated register M compiler/x86/aoptx86.pas --- commit 81464433366a9557971399113c5a772f6639f650 Author: florian Date: Sat Feb 17 21:03:43 2024 +0100 + set pi_do_call on ARM as well if we check for fpu exceptions M compiler/arm/narmadd.pas M compiler/arm/narminl.pas --- commit 852aee489c39868fad7af9061eef8c2bdfe72c07 Author: Sven/Sarah Barth Date: Sun Feb 18 16:14:05 2024 +0100 * move the checks for strict private and protected into their own nested functions M compiler/symtable.pas --- commit 11200cfaf63413b745a7186718c42e90d9fc98df Author: Sven/Sarah Barth Date: Sun Feb 18 16:14:32 2024 +0100 * use check_strict_private and check_strict_protected in their respective non-strict checks to avoid code duplication M compiler/symtable.pas --- commit 1dbde8a79d846dad16169366a06a12dad949917c Author: Sven/Sarah Barth Date: Sun Feb 18 16:17:36 2024 +0100 - remove no longer required check as that is now handled by check_strict_private (not to mention that the check had been placed incorrectly anyway...) M compiler/symtable.pas --- commit ea102d792f2d757d78cb32c884fada058050b317 Author: Sven/Sarah Barth Date: Sun Feb 18 19:28:10 2024 +0100 * fix #40634 the 2nd: a (strict) protected symbol in a parent class of the owner is supposed to be visible + added test M compiler/symtable.pas A tests/webtbs/tw40634b.pp A tests/webtbs/uw40634c.pp --- commit 5e05630713d4bd9fb63ed493dcea80aa83027135 Author: Sven/Sarah Barth Date: Sun Feb 18 19:29:48 2024 +0100 * fix the internal error of #40639; however as the test code in question will only compile correctly with the next commit no test is added yet M compiler/pdecobj.pas --- commit 462d0eb07c1be2cad06675bad91e4acfece448e2 Author: Pierre Muller Date: Sun Feb 18 20:06:02 2024 +0000 Restrict use of A_MOVE to ufromsize and utosize = OS_INT. (contributed by Jinyang He) Fix issue #40648 M compiler/loongarch64/cgcpu.pas --- commit ccb1985953b0dc1af1ce31a48a12245e2f99fcf4 Author: Michaël Van Canneyt Date: Sun Feb 18 21:39:04 2024 +0100 * Fix latex error due to unescaped dollar M compiler/msg/errore.msg --- commit af482fde235da37ceec7c58bba42fdfa8c3d4be6 Author: florian Date: Sun Feb 18 23:08:21 2024 +0100 * generate specializations only of no error happened so far to prevent further (internal)errors, resolves #40646 M compiler/pmodules.pas A tests/webtbf/tw40646.pp --- commit 79ed0db6247eed326ea5193a073de03bc826f0c6 Author: Pierre Muller Date: Mon Feb 19 20:37:27 2024 +0100 Avoid warning about unintialized 'ba' variable M compiler/ogelf.pas --- commit 906571fa253d0571d779475a69ec3709d9e42f76 Author: florian Date: Mon Feb 19 20:40:56 2024 +0100 * improve pretty printing of symbols M compiler/pdecobj.pas M compiler/pgenutil.pas M compiler/symdef.pas M compiler/symtype.pas --- commit a512273976991cad7ad139a3c3ae49097704eb75 Author: Jonas Maebe Date: Mon Feb 19 21:25:46 2024 +0100 WPO: handle classes defined in localsymtables Can happen since the support for anonymous methods M compiler/optvirt.pas --- commit 728fb7c58c0851de7ce64e7208d16081cb96ef45 Author: Pierre Muller Date: Mon Feb 19 22:12:46 2024 +0100 Set ba variable upfront to avoid warning treated as error M compiler/ogelf.pas --- commit a75e453c3081f6ba4318bca58806a1be48c924d7 Author: florian Date: Mon Feb 19 22:22:12 2024 +0100 + thlcgobj.location_force_mem now supports LOC_JUMP as well, resolves #40650 M compiler/hlcgobj.pas A tests/webtbs/tw40650.pp --- commit bf57750436afbfbfb6d0ce08245b5bea0242af21 Author: florian Date: Mon Feb 19 22:27:06 2024 +0100 * cosmetics M compiler/ogelf.pas --- commit 42c9eb4096ebaa8bd165e8cbdf55277939f418b8 Author: Michaël Van Canneyt Date: Tue Feb 20 10:28:34 2024 +0100 * Add Logging of tasks under define M compiler/ctask.pas M compiler/fmodule.pas --- commit 6ac14de9864d08c047b77aadde576778d3803349 Author: Michaël Van Canneyt Date: Tue Feb 20 10:34:32 2024 +0100 * Properly handle finish state M compiler/ctask.pas M compiler/fmodule.pas M compiler/pbase.pas M compiler/pgenutil.pas M compiler/pmodules.pas --- commit 64e7dcbc8129b40cc0e1b18122248e7eac4ffe8f Author: Michaël Van Canneyt Date: Tue Feb 20 10:37:46 2024 +0100 * Log continue result M compiler/ctask.pas --- commit bccc0b195e3727c26db7b18e340896cea6ba82d9 Author: florian Date: Tue Feb 20 23:13:31 2024 +0100 * allow type = type ... ; syntax only for previously declared types, avoids also internal error for #40566 M compiler/pdecl.pas M compiler/ptype.pas M rtl/inc/systemh.inc R085 tests/webtbs/tw25077.pp tests/webtbf/tw25077.pp A tests/webtbf/tw40566a.pp A tests/webtbf/tw40566b.pp --- commit 5c890b59e3d68fa8aaa90f826e3cc2fd105d5c94 Author: Sven/Sarah Barth Date: Tue Feb 20 23:51:29 2024 +0100 * fix #40655: apply changes to packrecords, packenum and setalloc using the recordpending*() functions so that they are applied correctly in case of them being used directly after a {$POP}{$PUSH} sequence + added test M compiler/scandir.pas M compiler/switches.pas A tests/webtbs/tw40655.pp --- commit 4e8b1cb97ace5bdfce5bc6db5d7b340456d0494d Author: Michaël Van Canneyt Date: Wed Feb 21 11:32:22 2024 +0100 * Fixed signature of insert_init_final_table M compiler/aarch64/naarch64util.pas M compiler/arm/narmutil.pas M compiler/xtensa/ncpuutil.pas --- commit 91946b78d52af2f88709756ddd130f3b9a2ae851 Author: Michaël Van Canneyt Date: Wed Feb 21 12:20:41 2024 +0100 * Fix xtensa compilation M compiler/pmodules.pas M compiler/xtensa/ncpuutil.pas --- commit 9cc30829faae560f603a19065591176650a0babe Author: Michaël Van Canneyt Date: Wed Feb 21 14:59:40 2024 +0100 * Restore messages state M compiler/globstat.pas --- commit b8bf295cd18560aade6743aec14d308b1f09b096 Author: florian Date: Wed Feb 21 22:01:44 2024 +0100 * patch by Rika: Fold repetitive scandir.pas cases, resolves #40660 M compiler/scandir.pas --- commit 3cf7890352fe2febc337c886d51ceb8129f3a92b Author: florian Date: Thu Feb 22 22:32:57 2024 +0100 * don't throw an internalerror in case of an illegal assignment to an open array, resolves #40662 M compiler/nld.pas A tests/webtbf/tw40662.pp --- commit a2939e4187f2bb18e00270d44d2977dfc86650b9 Author: Michaël Van Canneyt Date: Fri Feb 23 14:29:13 2024 +0100 * Force VMT at first position in system.tobject M compiler/pdecobj.pas --- commit 3447512e2941ed5504b3308e407a30011262bc90 Author: Sven/Sarah Barth Date: Fri Feb 23 15:26:51 2024 +0100 * ensure that "type SomeName = type reference" is still allowed when function references are disabled + added test M compiler/ptype.pas A tests/tbs/tb0709.pp --- commit 37c3e86c7fb4ae0c78f63a70310b06b7ce0e39c3 Author: Pierre Muller Date: Fri Feb 23 15:39:27 2024 +0000 Also reset check_valid_var after calling var_para_allowed M compiler/htypechk.pas --- commit e7f9626592d82d098c554806cdc5466535cb4d8d Author: Pierre Muller Date: Fri Feb 23 15:40:35 2024 +0000 Be sure not to add a symbol with empty name as an alias for function return variable M compiler/pparautl.pas --- commit 7c5847bc70613f8a06bb4249e020bd259fef8c13 Author: J. Gareth "Curious Kit" Moreton Date: Fri Feb 23 18:06:14 2024 +0000 * x86: "StcClcSet(c)2Mov" optimisation now checks to see if the destination register is in use M compiler/x86/aoptx86.pas --- commit 37ed03667fab8f0a6c2c4fd97b8bb879b6d787cf Author: florian Date: Fri Feb 23 21:50:29 2024 +0100 * fixed fpu_x86_64_v4_flags M compiler/x86_64/cpuinfo.pas --- commit 2dcb15f88f6a7dbda19922411b12800bb7d27464 Author: Nikolay Nikolov Date: Sat Feb 24 10:49:15 2024 +0200 + support a_call_indirect in TWasmValidationStacks.Validate M compiler/wasm32/aasmcpu.pas --- commit 587af1c78eaac3dd94bea5850f1a6397728f9057 Author: florian Date: Sat Feb 24 21:54:11 2024 +0100 * icelake is x86-64-v4 M compiler/x86_64/cpuinfo.pas --- commit 21cc89f1e337f55ddb48cae69c819de70f526e85 Author: Nikolay Nikolov Date: Sun Feb 25 04:11:11 2024 +0200 + added a second TWasmFuncType parameter to the CALL WebAssembly instruction. It is not part of the WebAssembly syntax and binary encoding, but it helps WebAssembly stack tracking and validation. M compiler/wasm32/aasmcpu.pas M compiler/wasm32/agllvmmc.pas M compiler/wasm32/hlcgcpu.pas --- commit 81d98f5ae246a64c8ca7ee47aeba1552f13c97d3 Author: Nikolay Nikolov Date: Sun Feb 25 04:51:14 2024 +0200 + support the CALL instruction in TWasmValidationStacks.Validate M compiler/wasm32/aasmcpu.pas --- commit 26a2ae92adc88bef97bfb9c05adf8ae53f470bbf Author: Nikolay Nikolov Date: Sun Feb 25 07:15:18 2024 +0200 + introduced TAsmData.RefAsmSymbolByClass - similar to RefAsmSymbol, but allows to create a subclass of TAsmSymbol even in the case of external symbol. M compiler/aasmdata.pas --- commit b367d7c905b476245094bb06bac226b4024e0bbf Author: Nikolay Nikolov Date: Sun Feb 25 07:18:22 2024 +0200 + introduced TAsmData.WeakRefAsmSymbolByClass M compiler/aasmdata.pas --- commit f4b9d51aff032689bd9525366201b188b235f0b9 Author: Nikolay Nikolov Date: Sun Feb 25 07:29:51 2024 +0200 + introduced TWasmGlobalAsmSymbol subclass of TAsmSymbol. Use it for all AT_WASM_GLOBAL symbols. This allows in the future to add extra data to the TWasmGlobalAsmSymbol, such as the WebAssembly global type, which will aid in WebAssembly validation and stack tracking. M compiler/wasm32/aasmcpu.pas M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasminl.pas --- commit ab65c9889b567e6083596f60fedf5c4246d9e308 Author: Nikolay Nikolov Date: Sun Feb 25 08:54:32 2024 +0200 + added the WasmBasicType to TWasmGlobalAsmSymbol. This will help WebAssembly validation and stack tracking. M compiler/wasm32/aasmcpu.pas M compiler/wasm32/hlcgcpu.pas M compiler/wasm32/nwasminl.pas --- commit 91284ba543ef8cb265d1a80cb005f7afa63e0498 Author: Michaël Van Canneyt Date: Sun Feb 25 10:38:25 2024 +0100 * Create and correctly typed variable for fieldsym instead of using typecasts M compiler/ncgrtti.pas --- commit 472f9be9a6ad0046b97b8d1b1ec9a59c5cf4f926 Author: Nikolay Nikolov Date: Sun Feb 25 11:37:51 2024 +0200 + support the global.get and global.set instructions in TWasmValidationStacks.Validate M compiler/wasm32/aasmcpu.pas --- commit 13f58fe3432a0605a046d37b1b1a32d4dcd79737 Author: Nikolay Nikolov Date: Sun Feb 25 13:08:37 2024 +0200 + support if,block,loop,else,end_if,end_block,end_loop in TWasmValidationStacks.Validate M compiler/wasm32/aasmcpu.pas --- commit 0ae014a98f254bbbdc2387d45ea061c553cd74e3 Author: Nikolay Nikolov Date: Sun Feb 25 13:52:34 2024 +0200 + support the BR and BR_IF instructions in TWasmValidationStacks.Validate M compiler/wasm32/aasmcpu.pas --- commit fb821b8c9b45626ac54b26b7a87a5bf176bc6b73 Author: Michaël Van Canneyt Date: Sun Feb 25 19:57:23 2024 +0100 * Allow use of attributes on fields and properties in records and classes M compiler/pdecobj.pas M compiler/pmodules.pas M compiler/ptype.pas M compiler/symdef.pas --- commit cad21584e5f2383d2f66318d9ef0bd3dfc783ac9 Author: florian Date: Sun Feb 25 22:52:14 2024 +0100 + Skylake-X M compiler/x86/agx86nsm.pas M compiler/x86_64/cpuinfo.pas --- commit f2d739b93af80dcba155ca836196e626369fb0be Author: Nikolay Nikolov Date: Mon Feb 26 12:05:51 2024 +0200 + perform WebAssembly validation, if the compiler is compiled with the DEBUG_WASM_VALIDATION defined M compiler/wasm32/aasmcpu.pas M compiler/wasm32/cpupi.pas --- commit 1966ce7c1c94595bf4c7e9c8db6c3c34098a8f17 Author: florian Date: Mon Feb 26 22:41:55 2024 +0100 + Skylake-X for i386 M compiler/i386/cpuinfo.pas M compiler/x86/agx86nsm.pas M tests/webtbs/tw15415.pp --- commit 9da276b352d8d942d6967b8c4867d149b9ac944d Author: Nikolay Nikolov Date: Tue Feb 27 11:59:17 2024 +0200 * fixed bug in thlcgwasm.a_op_reg_reg_reg_checkoverflow that used to generate code that fails WebAssembly validation M compiler/wasm32/hlcgcpu.pas --- commit 6a28ac53da5123900e10c8c157f8daad01479f53 Author: Nikolay Nikolov Date: Tue Feb 27 12:54:56 2024 +0200 + support the native exception instructions in TWasmValidationStacks.Validate M compiler/wasm32/aasmcpu.pas --- commit f9b98092c4c709e605d4d5100cc1a14fff785253 Author: florian Date: Tue Feb 27 22:36:44 2024 +0100 * stack checking is actually 'S' M compiler/scandir.pas --- commit f77b9fa4efffc8983eb392f7ced90b47451cd30b Author: J. Gareth "Curious Kit" Moreton Date: Wed Feb 28 00:11:32 2024 +0000 * arm/a64: Fixed bug where shifter operand was not preserved in AND/CMP -> TST optimisation M compiler/armgen/aoptarm.pas --- commit 4769ed948ac11a609bda4c3d489f3b15c1adbace Author: Michaël Van Canneyt Date: Wed Feb 28 11:48:43 2024 +0100 * Add codeaddress to extended RTTI for static methods M compiler/ncgrtti.pas M rtl/objpas/typinfo.pp --- commit 2c9870f85ab1d9f90f06563d94bf15e32f7b7b55 Author: Michaël Van Canneyt Date: Thu Feb 29 10:22:19 2024 +0100 * Attributes must be assigned only to elements before the first colon M compiler/pdecobj.pas M compiler/pdecvar.pas M compiler/ptype.pas --- commit 1bba83cebbc3a6584a2727cc0d4320bd8ea774af Author: J. Gareth "Curious Kit" Moreton Date: Thu Feb 29 22:15:13 2024 +0000 * Flags specific to TVecNode have been moved to their own field M compiler/htypechk.pas M compiler/i386/n386mem.pas M compiler/ncgmem.pas M compiler/nmem.pas M compiler/node.pas M compiler/pexpr.pas M compiler/pstatmnt.pas --- commit 5ea60b97b1551ff26cf0876caff335c988c3fbce Author: J. Gareth "Curious Kit" Moreton Date: Fri Mar 1 00:09:14 2024 +0000 * Clarity over blocknode and VMT flags. nf_usercode_entry doesn't need to be cascaded in "firstpass" as TBlockNode.Simplify already does this M compiler/node.pas M compiler/pass_1.pas --- commit b804fc5164ecb8c5640da684456c248905dca9b5 Author: J. Gareth "Curious Kit" Moreton Date: Fri Mar 1 02:33:18 2024 +0000 * Flags specific to TAddNode have been moved to their own field M compiler/i8086/n8086add.pas M compiler/nadd.pas M compiler/ncgadd.pas M compiler/node.pas M compiler/nutils.pas M compiler/optcse.pas M compiler/pexpr.pas M compiler/ppcgen/ngppcadd.pas M compiler/wasm32/nwasmadd.pas M compiler/x86/nx86add.pas --- commit c21a0f065463d346c9f8e1e982d280da644d6425 Author: J. Gareth "Curious Kit" Moreton Date: Fri Mar 1 02:52:43 2024 +0000 * Flags specific to TModDivNode have been moved to their own field M compiler/nmat.pas M compiler/node.pas M compiler/pexpr.pas --- commit 0e5da37533baf174b7451e64a1f6ef7b3e982761 Author: J. Gareth "Curious Kit" Moreton Date: Fri Mar 1 04:37:56 2024 +0000 * Flags specific to TAsmNode have been moved to their own field M compiler/nbas.pas M compiler/ncgbas.pas M compiler/node.pas M compiler/pstatmnt.pas --- commit ecc16278f087d7266fa3eed85ae6ad24d727f7e6 Author: J. Gareth "Curious Kit" Moreton Date: Fri Mar 1 23:14:40 2024 +0000 * Flags specific to TAssignmentNode have been moved to their own field M compiler/nadd.pas M compiler/ncal.pas M compiler/ncgld.pas M compiler/nld.pas M compiler/node.pas M compiler/nopt.pas --- commit 179fc5848b01d230a25349d614bfc5487f740284 Author: J. Gareth "Curious Kit" Moreton Date: Fri Mar 1 23:36:00 2024 +0000 * Flags specific to TArrayConstructorNode have been moved to their own field M compiler/jvm/njvmcnv.pas M compiler/ncal.pas M compiler/ncgld.pas M compiler/ninl.pas M compiler/nld.pas M compiler/node.pas M compiler/nopt.pas M compiler/pexpr.pas --- commit 4736cc2360d401731a9fa615b3020a60e2f35c77 Author: J. Gareth "Curious Kit" Moreton Date: Sat Mar 2 00:32:59 2024 +0000 * Flags specific to TDerefNode have been moved to their own field M compiler/i8086/n8086mem.pas M compiler/ncgmem.pas M compiler/ncnv.pas M compiler/nmem.pas M compiler/node.pas M compiler/pinline.pas --- commit dba69917a9664913f85bf54386c1a59aa32c09cb Author: J. Gareth "Curious Kit" Moreton Date: Sat Mar 2 00:54:32 2024 +0000 * Flags specific to TInlineNode have been moved to their own field M compiler/ninl.pas M compiler/node.pas --- commit 1ab46c909af6280b56ef3888a4b3e39754b756c7 Author: J. Gareth "Curious Kit" Moreton Date: Sat Mar 2 01:57:07 2024 +0000 * Reduced the number of expensive calls to "GetUserCode" in DFA M compiler/psub.pas --- commit 05f0ceeb26fd3a32c375af1f536525859ef53d5d Author: Michaël Van Canneyt Date: Sat Mar 2 14:15:22 2024 +0100 * Atributes for class/record methods M compiler/ncgrtti.pas M compiler/pdecobj.pas M compiler/ptype.pas M rtl/objpas/typinfo.pp --- commit 4103b3d180a332f4e7905aa72b48fb23103e3ae4 Author: florian Date: Sat Mar 2 21:29:09 2024 +0100 * formatting M compiler/nadd.pas M compiler/nbas.pas M compiler/ncnv.pas M compiler/ninl.pas M compiler/nld.pas M compiler/nmat.pas M compiler/nmem.pas M compiler/optcse.pas M compiler/pstatmnt.pas --- commit 64141c8bddfbb818fe0083220649ff794a9a4639 Author: florian Date: Sat Mar 2 21:30:18 2024 +0100 * increase ppu long version as the format changed M compiler/ppu.pas --- commit 2b7df4237b210644c13fdd56932dfdee62474cab Author: J. Gareth "Curious Kit" Moreton Date: Sun Mar 3 01:39:28 2024 +0000 * nf_pass1_done, nf_error, nf_processing and nf_do_not_execute have been moved to a new "transientflags" node field that isn't stored in PPU files M compiler/aarch64/ncpuadd.pas M compiler/hlcgobj.pas M compiler/nadd.pas M compiler/nbas.pas M compiler/ncal.pas M compiler/ncgutil.pas M compiler/nflw.pas M compiler/node.pas M compiler/nutils.pas M compiler/optconstprop.pas M compiler/optcse.pas M compiler/optdfa.pas M compiler/optloop.pas M compiler/pass_1.pas M compiler/pass_2.pas M compiler/ppu.pas M compiler/x86/nx86add.pas M compiler/x86/nx86inl.pas --- commit bcf320a76ea108831342ce607126ce8c57bebf9d Author: florian Date: Sun Mar 3 22:49:28 2024 +0100 * patch by Rika: Don’t pretend optinfo^.index can be aword(−1), resolves #40405 M compiler/optbase.pas M compiler/optdeadstore.pas M compiler/optdfa.pas --- commit 1dbcba47967b4e3b23476c9289018707f12a1325 Author: J. Gareth "Curious Kit" Moreton Date: Sun Mar 3 23:52:47 2024 +0000 * arm/a64: Bug fix where instructions optimised into "mov r0,r0" could leave registers undefined in some circumstances M compiler/armgen/aoptarm.pas --- commit 325d29307f1ad7b476de9f1578bd73f471abd427 Author: Michaël Van Canneyt Date: Mon Mar 4 17:11:39 2024 +0100 * Indentation and casing changes M compiler/fmodule.pas M compiler/ngenutil.pas M compiler/symtable.pas --- commit a15dfba97115ccde1cda3ad516a2bb64cbee3fa4 Author: Michaël Van Canneyt Date: Mon Mar 4 17:32:08 2024 +0100 * Fix compilation M compiler/avr/navrutil.pas --- commit bf2a3566fa7e4c9ff400c9ded3cd83a61e4b6e3a Author: florian Date: Mon Mar 4 22:43:56 2024 +0100 * patch by Sergey Larin: Compile dynarr := nil (and, preferably, SetLength(dynarr, 0)) as fpc_dynarray_clear, resolves #40309 M compiler/ninl.pas --- commit a907eb49c9c2961818bf610105c87c45cdec67cc Author: J. Gareth "Curious Kit" Moreton Date: Tue Mar 5 07:24:26 2024 +0000 * a64: Several secondary peephole optimizations that clean up CSEL instructions M compiler/aarch64/aoptcpu.pas --- commit 1f2203c304dce7d446d067a138a59f50dd0e3d97 Author: florian Date: Tue Mar 5 22:09:06 2024 +0100 * fix compilation with 3.2.2 rtl M compiler/fmodule.pas --- commit 59c77a48b5d4533ab71b5baddfa203186f39b0c2 Author: florian Date: Tue Mar 5 22:10:56 2024 +0100 * transform -x-1 into not(x), resolves #40313 M compiler/nadd.pas A tests/tbs/tb0711.pp --- commit 0fb4fca957e02129140e8303f85a75f8f2b87572 Author: florian Date: Tue Mar 5 22:23:39 2024 +0100 * fix building of llvm compiler after node flag refactoring M compiler/llvm/nllvmbas.pas --- commit 9db42f5e67f25cab39013bd51b0967df70fa108f Author: Pierre Muller Date: Wed Mar 6 14:16:08 2024 +0000 Fix post_load_or_compile tppumodule method for SHORT_ON_FILE_HANDLES code by adding from_module parameter Fixes compilation of text mode IDE for go32v2 target. M compiler/ctask.pas M compiler/fppu.pas --- commit cc552c081501670addab1f8c70fdad49a42b0571 Author: Pierre Muller Date: Wed Mar 6 14:34:53 2024 +0000 Fix compilation with -dEXTDEBUG M compiler/pmodules.pas --- commit 821f3e326fb00a4c75ff000852a5152b7dab918d Author: Pierre Muller Date: Wed Mar 6 14:40:22 2024 +0000 Fix compilation with -dDEBUG_DEVIRT M compiler/pmodules.pas --- commit 76687a04e526f0e93ecd3acb819225080254f54d Author: Michaël Van Canneyt Date: Wed Mar 6 17:08:52 2024 +0100 * Fix TW22160B1 M compiler/ctask.pas M compiler/fmodule.pas --- commit 2e6c3b060d2bc9d5eb14741b0f1f486a323cbff3 Author: Michaël Van Canneyt Date: Wed Mar 6 21:55:47 2024 +0100 * Initialize firstwaiting, after remark by Pierre M compiler/fmodule.pas --- commit f41025f5dd7d1b7fb4367f0aceac021a7a1f8478 Author: florian Date: Wed Mar 6 22:56:06 2024 +0100 * optimize also -(x+1) and -(1+x) into not(x) M compiler/nmat.pas M tests/tbs/tb0711.pp --- commit b2bc020fd7044c950fc707a16206aec2ec40033c Author: Michaël Van Canneyt Date: Thu Mar 7 10:26:12 2024 +0100 * Handle rename of module during parsing, rebuild hash list. Fixes broken test tb0406.pas M compiler/ctask.pas --- commit 22de07446dc3b14f4dab989709912a20e7cc7110 Author: Michaël Van Canneyt Date: Thu Mar 7 16:12:24 2024 +0100 * Fix tgeneric91, need to postpone some additional generic procedures M compiler/fmodule.pas M compiler/pgenutil.pas M compiler/pmodules.pas --- commit a7fe49f38fd3378f24f326b91c90b460d98a4150 Author: J. Gareth "Curious Kit" Moreton Date: Thu Mar 7 18:22:30 2024 +0000 * x86: CMOVcc/Jcc pairs are now changed to MOV/Jcc if the register is not used if the jump doesn't branch M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86_64/aoptcpu.pas --- commit f4e955d04fb051456624d46e27a7f4648ab8840e Author: J. Gareth "Curious Kit" Moreton Date: Thu Mar 7 22:28:28 2024 +0000 * x86: Improvement to CMOVcc/Jcc optimisation that attempts to remove temporary registers storing constants M compiler/x86/aoptx86.pas --- commit 755d22123009817a35066fc465a6db94d6f7b8f1 Author: J. Gareth "Curious Kit" Moreton Date: Fri Mar 8 06:43:53 2024 +0000 * x86: Additional optimisation in OptPass2MOV to help with sub-optimal MOV/CMP/MOV triplets (and a minor refactor). M compiler/x86/aoptx86.pas --- commit 4c434ceb08fcfb00a2429559de39de58db0729c4 Author: Michaël Van Canneyt Date: Fri Mar 8 11:31:27 2024 +0100 * Only consume semicolon after uses clause when units have been connected. Fixes remaining failing tests M compiler/pmodules.pas --- commit 5086cf7e7236e2abd8d613e4871916f6c60cd28a Author: florian Date: Fri Mar 8 20:12:55 2024 +0100 * set packenum and setalloc to defined values when changing mode, resolves #40056 M compiler/scanner.pas A tests/webtbs/tw40056.pp --- commit 594d4cc4f9cfd6c535c20be43f8ccd570a4d23b2 Author: florian Date: Fri Mar 8 22:42:26 2024 +0100 * transform -1-x into not(x) M compiler/nadd.pas M tests/tbs/tb0711.pp --- commit e35403c3b8364f7efdc40ce0af00eefec0226e24 Author: florian Date: Sun Mar 10 10:47:24 2024 +0100 * optimize additions of empty sets away if possible, part of #40384 M compiler/nadd.pas --- commit 948766a37ad62ce222986c1ea3f474c39f4d41b7 Author: J. Gareth "Curious Kit" Moreton Date: Mon Mar 11 08:54:57 2024 +0000 * x86: New Op/TEST optimisation that rearranges register usage for the most efficient execution M compiler/x86/aoptx86.pas --- commit f88622a799cceca94f910ea70d606d10e91c53f5 Author: Pierre Muller Date: Mon Mar 11 10:27:36 2024 +0000 Be sure not to consume semicolon after _USES twice M compiler/pmodules.pas --- commit 4378319f874b31534ca92f3828aadecb463f7bb2 Author: J. Gareth "Curious Kit" Moreton Date: Tue Mar 12 02:28:18 2024 +0000 * Added missing "override" directive for XML node dump routine on TDerefNode M compiler/nmem.pas --- commit e1297e085928a274220a6d5d6da7d8e4f7a2dee2 Author: J. Gareth "Curious Kit" Moreton Date: Tue Mar 12 06:14:38 2024 +0000 * Adjustment to "(v>=x) and (v<=y)" so it also optimises its inverse: "(vy)" M compiler/nadd.pas --- commit 81b7b80749ce3f65fe899655de51362367b76f67 Author: J. Gareth "Curious Kit" Moreton Date: Wed Mar 13 07:47:50 2024 +0000 * Added support for 64-bit min/max intrinsics M compiler/aarch64/ncpuinl.pas M compiler/compinnr.pas M compiler/defutil.pas M compiler/ncginl.pas M compiler/nflw.pas M compiler/ninl.pas M compiler/optcse.pas --- commit 77c86cafd08020fed213b65882ea4fd3ed411650 Author: J. Gareth "Curious Kit" Moreton Date: Thu Mar 14 03:00:34 2024 +0000 * a64: Fixed bug where unsigned min/max inlines used a signed comparison M compiler/aarch64/ncpuinl.pas --- commit e4a0ce2fb5ad8b60b74d98cc92763302517516c1 Author: J. Gareth "Curious Kit" Moreton Date: Thu Mar 14 09:46:57 2024 +0000 * x86: Min/max intrinsic support M compiler/nflw.pas M compiler/x86/nx86inl.pas --- commit 11b341cc97b521fce9a74405eed2718cbc226e00 Author: J. Gareth "Curious Kit" Moreton Date: Thu Mar 14 13:39:28 2024 +0000 * x86: Added new OptPass1CMOVcc peephole optimisation routine to dust up min/max code M compiler/i386/aoptcpu.pas M compiler/x86/aoptx86.pas M compiler/x86/nx86inl.pas M compiler/x86_64/aoptcpu.pas --- commit ee1916e919ac94a84e35549a8448f61beaeec513 Author: J. Gareth "Curious Kit" Moreton Date: Thu Mar 14 15:30:25 2024 +0000 * i8086: Local variables unused in "second_AndOrXorShiftRot_assign" on i8086 are now not defined on this platform M compiler/x86/nx86inl.pas --- commit 2a46596eddd34d29d8d283a781c9e3f23e08c425 Author: florian Date: Thu Mar 14 23:14:26 2024 +0100 * overflow check abs(...) for x86 M compiler/x86/nx86inl.pas --- commit c79361c010621b76e379dfdd9a697f640aa70f85 Author: J. Gareth "Curious Kit" Moreton Date: Fri Mar 15 11:26:27 2024 +0000 * Min/max intrinsics now simplify deterministic results M compiler/ninl.pas --- commit c3b8b51cb5907c92fbd303d42e6c81e0f86afe91 Author: florian Date: Sat Mar 16 21:54:12 2024 +0100 * more overflow checking for abs(...) M compiler/x86/nx86inl.pas --- commit 316e127948efac638f6aa77b282ceb1b5c454372 Author: florian Date: Sun Mar 17 10:24:05 2024 +0100 * overflow checking for ti386inlinenode.second_abs_long M compiler/i386/n386inl.pas --- commit c52794f94396901717f439233f6d3facc6c44e61 Author: Michaël Van Canneyt Date: Tue Mar 19 09:56:08 2024 +0100 * Fix build of nativent M compiler/compiler.pas M compiler/parser.pas --- commit 36b511f0572408c1976d1a7ad89dbaa3e76039e7 Author: Pierre Muller Date: Wed Mar 20 17:30:12 2024 +0000 FFix compilation of compiler with -dTest_Double_checksum M compiler/ppu.pas --- commit 06fc6f1e6bba325a60098343a3c950f225d0f495 Author: florian Date: Fri Mar 22 21:50:42 2024 +0100 * use destination location instead of a temp when constructing sets, resolves #40384 M compiler/nadd.pas --- commit 4100f750569162909dbcfae5d3be786ef2d10cb5 Author: florian Date: Sat Mar 23 21:02:15 2024 +0100 + optimize s:=s+[e] into include(s,e) M compiler/nadd.pas --- commit 99851f22f543106be3cdda8bde9aa54d62ade4c0 Author: J. Gareth "Curious Kit" Moreton Date: Sat Mar 23 22:14:10 2024 +0000 * a64: New B -> RET peephole optimisation M compiler/aarch64/aoptcpu.pas --- commit b7322ae4c399b69dc11cf82aa76b96944cffde82 Author: florian Date: Sat Mar 23 22:24:55 2024 +0100 * write correct type name in error message M compiler/pstatmnt.pas --- commit dd858f37aaae04757051ef92f915503935d1c779 Author: ccrause Date: Sun Mar 24 11:37:15 2024 +0200 Ensure register to be eliminated is de-allocated before applying optimization LdsMov2Lds. M compiler/avr/aoptcpu.pas --- commit 1fccfd3ee1e48878337a4bf30351b4ae43b927c4 Author: florian Date: Sun Mar 24 12:36:02 2024 +0100 * AArch64: avoid false overflow error in case of -2^63+0 M compiler/aarch64/cgcpu.pas M tests/tbs/tb0712.pp --- commit 20f9b82543a0414c51c6cf1d57591ecb7d0bc67e Author: florian Date: Sun Mar 24 12:46:44 2024 +0100 * AArch64: overflow checking for abs * tabs adapted: also abs(longint) must overflow check on 64 bit platforms M compiler/aarch64/ncpuinl.pas M tests/test/units/system/tabs.pp --- commit 12176d36839702ab84473655e663bf641f3c8d24 Author: florian Date: Sun Mar 24 23:03:05 2024 +0100 * avoid to generate bts/r with memory operand + thlcgx86.a_bit_set_reg_reg M compiler/x86/hlcgx86.pas M compiler/x86/nx86inl.pas --- commit ac150e58c81540661ec65cc9dad7926362806b15 Author: florian Date: Mon Mar 25 00:01:24 2024 +0100 * thlcgobj.a_load_regconst_subsetref_intern uses a_bit_set_reg_reg if applicable M compiler/hlcgobj.pas --- commit 9056ab80257b71fb8bcdf90be2f71e2fbbf912b9 Author: Pierre Muller Date: Mon Mar 25 14:28:35 2024 +0000 Fix generation of i8086 CPU code, as BTR/BTS instructions require at least 386 CPU M compiler/x86/hlcgx86.pas --- commit 7c609ee7c400fc257842d9b0742a8066070d2271 Author: florian Date: Mon Mar 25 22:33:30 2024 +0100 * proper fix for 9056ab80257b71fb8bcdf90be2f71e2fbbf912b9 M compiler/x86/hlcgx86.pas --- commit c68ddc5360cf4e1c7a543cfba9e469f21a434ec3 Author: Pierre Muller Date: Mon Mar 25 23:47:11 2024 +0100 Add $EMUL also for sparc CPU GNU linker call on solaris OS M compiler/systems/t_sunos.pas --- commit afea558fbe80b4b5688c38b85a622329df4b91eb Author: Pierre Muller Date: Mon Mar 25 23:48:09 2024 +0100 Add -32/-64 for sparc GNU assembler calls M compiler/sparcgen/cpugas.pas --- commit 8971103a00e24b1f15333afa0e37c5db5415152b Author: florian Date: Tue Mar 26 14:46:01 2024 +0100 * use bit_set_reg_reg also to clear single bits in thlcgobj.a_load_regconst_subsetref_intern M compiler/hlcgobj.pas --- commit 564597a573d450d22cdf649e58e1e0cdcbaa0117 Author: Michaël Van Canneyt Date: Tue Mar 26 16:06:13 2024 +0100 * Fix access violation: module can be reset while loading dependent units. Fixes issue #40705 M compiler/ctask.pas M compiler/fppu.pas M compiler/pmodules.pas --- commit fb3c4ff75be75c367f4f4d505563475ef7accdb5 Author: florian Date: Tue Mar 26 23:53:46 2024 +0100 * avoid CMPs with constants outside the range of signed 32 bit values M compiler/x86/nx86inl.pas --- commit 15398549a4db924a196c5b1405ab532a0e1f67f4 Author: florian Date: Tue Mar 26 23:55:47 2024 +0100 * fix simplication of max(double,double) with both values being constants M compiler/ninl.pas --- commit fea8050457728571c56dec8a1b651c0f45ea80ab Author: florian Date: Wed Mar 27 00:04:46 2024 +0100 * fix i386 building after fb3c4ff75be75c367f4f4d505563475ef7accdb5 M compiler/x86/nx86inl.pas --- commit 2641f65bb7cdd494eb8459daf45bc4f5b1e1e965 Author: florian Date: Thu Mar 28 15:07:35 2024 +0100 * compilation with -dEXTDEBUG fixed M compiler/pass_1.pas --- commit f0cc07fe68989577370032c06d9ab21c49158779 Author: florian Date: Thu Mar 28 15:07:47 2024 +0100 + 8086: overflow checking for abs() M compiler/i8086/n8086inl.pas --- commit 0efd3afb8c5e338a7d8c569fe834ed0a1acbd2f7 Author: florian Date: Thu Mar 28 15:56:52 2024 +0100 + arm: internal abs() + arm: overflow checking for abs(...) M compiler/arm/narminl.pas M compiler/options.pas --- commit 56d84c92833e87124fb24fe9f04a7a31a511997b Author: florian Date: Thu Mar 28 18:31:38 2024 +0100 * compilation fixed M compiler/arm/narminl.pas M compiler/options.pas --- commit 8132ccd42bdc21fd45a37e0e31742238b8085889 Author: florian Date: Fri Mar 29 15:30:18 2024 +0100 + generic implementation of abs() M compiler/ncginl.pas --- commit c87213085f5d1206bc0497aac77dea261d3be571 Author: florian Date: Fri Mar 29 20:06:23 2024 +0100 * overflow checking for generic abs() * fix overflow checking on arm for 64 bit signed numbers * arm uses generic abs() M compiler/arm/cgcpu.pas M compiler/arm/narminl.pas M compiler/ncginl.pas --- commit 13e7f947ea8e1a03774318542f30a626b2795856 Author: florian Date: Fri Mar 29 20:30:57 2024 +0100 * all CPUs use now internal abs() so overflow checking is possible + added overflow checking to generic abs() M compiler/ncginl.pas M compiler/options.pas --- commit a8d496ade781502600a6bf75d509a202a8bd38a5 Author: florian Date: Fri Mar 29 20:54:52 2024 +0100 * i386 uses generic x86 abs(long/int64) code now M compiler/i386/n386inl.pas M compiler/x86/nx86inl.pas --- commit 240739e71dc7f5b47073725d5981bcf757b8bed6 Author: florian Date: Fri Mar 29 21:44:23 2024 +0100 * compilation on 64 bit targets fixed M compiler/ncginl.pas --- commit a90691435bbca123be9a9ce39c76bbccb7e70fcc Author: florian Date: Sat Mar 30 20:29:48 2024 +0100 + abs(long/int64): overflow checking for xtensa implemented M compiler/xtensa/ncpuinl.pas --- commit bf1c674672a48c159fb936e3d20593b7a8c1b734 Author: florian Date: Sun Mar 31 22:10:58 2024 +0200 * don't remove align directives before case jump tables (they have the type alt_addr) M compiler/aoptobj.pas --- commit e88248d453bbaf80cc0e48440d397edb74dadca5 Author: florian Date: Sun Mar 31 22:33:22 2024 +0200 + comment to explain last commit M compiler/aoptobj.pas --- commit 7c3ab69c5076e762120051d4717b9ada1f945b4f Author: Michael Ring Date: Mon Apr 1 22:54:21 2024 +0200 Fixed missing section for Raspberry Pi Pico M compiler/systems/t_embed.pas --- commit 3b8fcfc6ebcc03cb56958b7286f3bf5e7fa4c8d0 Author: florian Date: Mon Apr 1 23:24:20 2024 +0200 * fix min/max intrinsics on x86_64 for non constant/reference/register locations, resolves #40721 M compiler/x86/nx86inl.pas --- commit b00e9543a72263cd8542b4d138c850f08f78499f Author: florian Date: Tue Apr 2 16:41:38 2024 +0200 * sparc: overflow support for 64 bit operations M compiler/sparc/cgcpu.pas M compiler/sparcgen/cpubase.pas --- commit e7716dc05f4099a6488d4e8b25c6e89685b67896 Author: florian Date: Tue Apr 2 19:01:42 2024 +0200 + avr: overflow checking for abs, together with the other recent abs-related commits, resolves #40694 M compiler/avr/navrinl.pas --- commit 8cdb3deebd6ca62a0fc5a543f62656202c8ca30e Author: florian Date: Wed Apr 3 22:03:30 2024 +0200 * another fix for min/max intrinsics on x86_64 for non constant/reference/register locations, resolves #40724 M compiler/x86/nx86inl.pas --- commit 8511b0fc7b82a9fc2919c9e8ba2c84f61190e225 Author: Pierre Muller Date: Wed Apr 3 23:17:55 2024 +0200 Increase default stack size to 8Mb for i386 and sparc solaris systems M compiler/systems/i_sunos.pas --- commit f56587bddd2c7b983e9ead0a55dd74b4f8fef43a Author: Pierre Muller Date: Wed Apr 3 23:41:50 2024 +0200 Use correct check for unsigned size in a_op64_{const/reg}_reg_reg_checkoverflow methods M compiler/sparc/cgcpu.pas --- commit 9ee1821622f500efa9268ad130aeee8b08eecd3d Author: J. Gareth "Curious Kit" Moreton Date: Thu Apr 4 01:51:15 2024 +0100 * arm / a64: Extended the AND; CMP -> ANDS family of optimisations to catch BIC as well as AND M compiler/aarch64/aoptcpu.pas M compiler/arm/aoptcpu.pas M compiler/armgen/aoptarm.pas --- commit bba4edb6d0b921d0a36fb08f3809f8085d589578 Author: J. Gareth "Curious Kit" Moreton Date: Fri Apr 5 02:19:48 2024 +0100 * a64: ARMv8.7 through ARMv8.9 have been added as AArch64 CPU types, along with support for the CSSC extension. M compiler/aarch64/agcpugas.pas M compiler/aarch64/cpuinfo.pas --- commit 1ba93085f73c8635dfa403a5b98f558dd4247a4f Author: J. Gareth "Curious Kit" Moreton Date: Fri Apr 5 02:31:24 2024 +0100 * a64: Added DOTPROD and PAUTH support flags to relevant instruction sets (v8.4+ and v8.3+ respectively) M compiler/aarch64/cpuinfo.pas --- commit 88ab9576b159dc778ac34423683e9ed432e90dbb Author: J. Gareth "Curious Kit" Moreton Date: Fri Apr 5 03:01:16 2024 +0100 * a64: Added "ABS" and "CTZ" mnemonics (CSSC instructions) M compiler/aarch64/a64att.inc M compiler/aarch64/a64atts.inc M compiler/aarch64/a64ins.dat M compiler/aarch64/a64op.inc --- commit 139f2dfe84cf07d03e461e50097a426cd88a0797 Author: florian Date: Sat Apr 6 23:31:37 2024 +0200 * fix internalerror 200502052 with certain min/max optimizations on x86-64, resolves #40730 M compiler/x86/nx86inl.pas --- commit 2e65a5d458f7fc677442414dfee4058a39dd9b72 Author: Nikolay Nikolov Date: Sun Apr 7 22:10:41 2024 +0300 + introduced cgbase.topcg2str and topcmp2str for converting TOpCg and TOpCmp to strings (useful for debug logging, etc) M compiler/cgbase.pas --- commit 80750f7591998694e5849184ed63c17b6ea0bbdc Author: florian Date: Sun Apr 7 22:48:42 2024 +0200 * second_abs: don't supply a separate 64 bit code path for high level cpu targets M compiler/ncginl.pas --- commit fd68d3bfbbf3ff8dd6f34287d18435578715883e Author: florian Date: Mon Apr 8 22:53:02 2024 +0200 * ensure that left and right have a result type set in tx86addnode.pass_1, resolves #40727 M compiler/x86/nx86add.pas A tests/webtbs/tw40727.pp --- commit 550397b98218b7b6b8e1def5bea34175c483c971 Author: Sven/Sarah Barth Date: Fri Apr 12 15:25:04 2024 +0200 * fix #40708: when creating the sub-arraydefs for comma separated arrays, ensure that the new sub array also has the generic related information set up correctly + added test M compiler/ptype.pas A tests/webtbs/tw40708.pp --- commit eaf24269bc7a77efbdbd0eb0458dcebb77e25dd3 Author: Sven/Sarah Barth Date: Fri Apr 12 16:00:22 2024 +0200 * check that the corresponding genericdef of the adjusted def is indeed valid M compiler/symtable.pas --- commit 0e9efd07efacd7d4184d5271f6450946e746dfee Author: Sven/Sarah Barth Date: Fri Apr 12 16:02:03 2024 +0200 * extend read_anon_type() so that it can take a genericdef as well M compiler/pdecl.pas M compiler/pdecvar.pas M compiler/ptype.pas --- commit 7a1ef994b4579a63d4b5cfd9228da6a5ce543d1e Author: Sven/Sarah Barth Date: Fri Apr 12 16:03:13 2024 +0200 * fix #40721: correctly set up the generic defs when parsing fields, especially important when dealing with anonymous fields + added tests M compiler/pdecvar.pas A tests/webtbs/tw40712a.pp A tests/webtbs/tw40712b.pp --- commit e76c5d96d8446fbbd6c338bc38dea54a95b0f12f Author: Sven/Sarah Barth Date: Fri Apr 12 16:13:31 2024 +0200 * Fix #40716: only add helpers if the type doesn't belong to the current object/class/record hierarchy + added test M compiler/symdef.pas A tests/webtbs/tw40716.pp --- commit b0d61558e38f7e9ceb3918dbbaab13bc49496320 Author: Sven/Sarah Barth Date: Fri Apr 12 17:16:26 2024 +0200 * fix #40725: pass along whole array constructor to the Insert() so that it's converted with the correct checks + added test M compiler/nadd.pas A tests/webtbf/tw40725.pp --- commit 13fc4075f5a3ab3129f41f8812f0a7448bb2d4f6 Author: florian Date: Fri Apr 12 21:40:04 2024 +0200 + propagate pointer constants M compiler/optconstprop.pas --- commit 1222456c13c21eaa8074279ce737b7e4992160fa Author: florian Date: Sat Apr 13 22:28:54 2024 +0200 * allow [] for constant set constraints, resolves #37020 M compiler/pgenutil.pas A tests/webtbs/tw37020.pp --- commit 5c46b5116d5e75e4ef12a7ac325a331ace605b0b Author: florian Date: Sat Apr 13 22:50:57 2024 +0200 + also fold nil nodes when used as pointer constants M compiler/nadd.pas --- commit 0aa851b7f77dc9a0c4cbe808f6af11b4f8fbd56a Author: florian Date: Sun Apr 14 10:00:20 2024 +0200 * run constant propagation multiple times if needed and if slow optimizations are turned on M compiler/optconstprop.pas --- commit b3c1f294ba4b69f2d3bee53730c86af204e456b9 Author: florian Date: Sun Apr 14 10:34:37 2024 +0200 + propagate also widechar/pointer constants M compiler/optconstprop.pas --- commit 2e9556f2eb28769f913c9b8edb19f58938fa9abd Author: florian Date: Mon Apr 15 22:52:32 2024 +0200 + fold also constant pointer operations on nil nodes M compiler/nadd.pas --- commit 48eeaf00a4f9beb8313ebbf396f402aec9ef9ca5 Author: florian Date: Mon Apr 15 23:02:28 2024 +0200 + fold also divisons involving pointer constants (those nodes are internally generated only) M compiler/nmat.pas --- commit f29ff58ab97e2dc4ab553f9d683a63fcb5d81c01 Author: florian Date: Tue Apr 16 23:11:16 2024 +0200 + get_int_value M compiler/i8086/n8086add.pas M compiler/nadd.pas M compiler/nmat.pas M compiler/nutils.pas --- commit a4240a0c62243e757f56e3f13f19d7257ddf9333 Author: Pierre Muller Date: Wed Apr 17 07:52:05 2024 +0000 Fix compilation of i8086/n8086add.pas unit after introduction of get_int_value function M compiler/i8086/n8086add.pas --- commit e601156b8c379fce44d8c92e956b73d40806fcd6 Author: J. Gareth "Curious Kit" Moreton Date: Wed Apr 17 20:16:22 2024 +0100 * x86-64: Bug fix where RIP-relative references were made absolute in minmax optimisations by mistake. M compiler/x86/nx86inl.pas --- commit e130557d9fce5ae426c040a72786012bfce407a1 Author: florian Date: Wed Apr 17 23:29:13 2024 +0200 * optimize x < length(arr) and x >= length(arr) as proposed in #40292 M compiler/nadd.pas A tests/webtbs/tw40292.pp --- commit 2f9ed0576ec93815ae07a0571c3e3ee799b5dd8e Author: florian Date: Thu Apr 18 23:07:40 2024 +0200 * optimize x = length(...) also if the operands are swapped M compiler/nadd.pas M tests/webtbs/tw40292.pp --- commit e412f6be55f9ba2b45c020a240ed467cce5ac28f Author: florian Date: Fri Apr 19 23:43:05 2024 +0200 + in on an empty set is always false, resolves #40745 M compiler/nset.pas A tests/webtbs/tw40745.pp --- commit 902c93f3c3c213fd0600db49371e64e1f214766b Author: florian Date: Sat Apr 20 22:05:18 2024 +0200 * do not limit the number of interfaces per class, resolves #40268 M compiler/nobj.pas A tests/webtbs/tw40258.pp --- commit 9409ec634186e7453346e17e55d4f3c4c657295a Author: florian Date: Sun Apr 21 11:04:42 2024 +0200 * workaround unsupported -march=...+pauth for some assembler/clang versions M compiler/aarch64/agcpugas.pas --- commit c3a3cfe80fa1cff78441a38392700f034a70a3ac Author: florian Date: Sun Apr 21 19:26:01 2024 +0200 * avoid range check error in TVMTBuilder.intf_optimize_vtbls by early bailing out if a class has no interfaces M compiler/nobj.pas --- commit 2e86cdb6209f56939ae97f8d0e9516e4b81abcf6 Author: florian Date: Mon Apr 22 22:25:10 2024 +0200 * allow swapping of operands for three operand instructions if they are commutative M compiler/x86/nx86add.pas --- commit 17b7782929e4288a4dd67f644500347ec12ef6d5 Author: J. Gareth "Curious Kit" Moreton Date: Wed Apr 24 06:13:58 2024 +0100 * i386: Fixed issue where the peephole optimizer entered an infinite loop when building for CPUs older than Pentium II M compiler/x86/aoptx86.pas --- commit 2d1fba1fa15eda788f6d133aaca8804d4d28ab3d Author: florian Date: Wed Apr 24 22:50:04 2024 +0200 * disable (type ...), it did never work and there are not test, resolves #40562 M compiler/pdecsub.pas A tests/webtbf/tw40562.pp --- commit 61397d40ae0c43083844e850d87c60ba74b34d28 Author: Sven/Sarah Barth Date: Wed Apr 24 23:10:47 2024 +0200 * ensure that Insert() of a single element into a dynamic array is typechecked in a way that the user is notified of errors + added test M compiler/ninl.pas A tests/tbf/tb0298.pp --- commit 7f03fb696693a06f919965fffd2ad169cb60ee17 Author: Sven/Sarah Barth Date: Wed Apr 24 23:12:49 2024 +0200 * revert the changes from b0d61558e38f7e9ceb3918dbbaab13bc49496320, as 61397d40ae0c43083844e850d87c60ba74b34d28 fixes it more correctly M compiler/nadd.pas --- commit 51f5726343727453333843f8c3093e34bbbad678 Author: florian Date: Thu Apr 25 22:11:45 2024 +0200 * (hopefully) more consistent message when the compiler is stopped during showing the help screen, resolves #39455 M compiler/compiler.pas M compiler/msg/errore.msg M compiler/msgidx.inc M compiler/msgtxt.inc M compiler/ncal.pas --- commit ab66440e76ad5133aeedc48923df2b84285c6b51 Author: florian Date: Thu Apr 25 22:47:17 2024 +0200 * accidently committed debug statement removed M compiler/ncal.pas --- commit fc6d6c123d5b76c26f8b0d6b984111ac7017d71b Author: florian Date: Thu Apr 25 22:50:38 2024 +0200 * more debug statments removed M compiler/ncal.pas --- commit 1de3aba4e3ad86ed2dc533a0042aa696c0805293 Author: florian Date: Fri Apr 26 22:54:27 2024 +0200 * few types fixed M compiler/jvm/njvminl.pas M compiler/x86_64/cpupara.pas --- commit 5a9d4d44faf1c8042d112e87bf3c60812d025cb7 Author: J. Gareth "Curious Kit" Moreton Date: Sat Apr 27 00:57:31 2024 +0100 * Calling "internalstatements" now sets the "bnf_strippable" flag on the result M compiler/nbas.pas M compiler/psub.pas --- commit 7b0578dc173f3eb5029ed3dfef964dab2c6a83bf Author: florian Date: Sun Apr 28 22:38:00 2024 +0200 * cleanup tnodeutils.InsertThreadvars as suggested in #40538, resolves #40538 M compiler/ngenutil.pas --- commit 346962beaaa5e896c155680f220a57a2eee2e6fc Author: florian Date: Tue Apr 30 23:16:08 2024 +0200 * compiler part of #35433 M compiler/aoptobj.pas M compiler/x86/cgx86.pas --- commit f6a0da71fcd83a32037b6129fbd1f923804f58dc Author: Pierre Muller Date: Thu May 2 09:36:27 2024 +0000 Do not set USEINLINE macro if DISABLE_INLINE macro is set M compiler/fpcdefs.inc --- commit b6da7a799a116154240ff0f11d94397fabaabc09 Author: florian Date: Thu May 2 22:46:49 2024 +0200 * regenerated M compiler/x86/cx86mminnr.inc --- commit 6cc391dfa13640cb6297e84de772cc06343beb01 Author: J. Gareth "Curious Kit" Moreton Date: Thu May 2 23:46:20 2024 +0100 * x86: Improved "Test2Bt" peephole optimisation M compiler/x86/aoptx86.pas --- commit b828529b24e149ed4129cbbf89b34d95f068b8de Author: J. Gareth "Curious Kit" Moreton Date: Fri May 3 10:24:54 2024 +0100 * Block nodes are now marked as strippable when created from "begin" statements M compiler/pstatmnt.pas --- commit edc1c79cbb2925e9f0d1b929d8da01348eeedc35 Author: J. Gareth "Curious Kit" Moreton Date: Fri May 3 13:32:01 2024 +0100 * Bug fix where copied block nodes didn't inherit the original's flags M compiler/nbas.pas --- commit e60a7d01a45353fe263b3b5fc55e8904fdb00d69 Author: J. Gareth "Curious Kit" Moreton Date: Sat May 4 01:27:46 2024 +0100 * Inc/Dec nodes converted to Add/Sub now remove the "nf_modify" flag from the destination so constant propagation works more efficiently. M compiler/ninl.pas --- commit a478a33c3262087cc9fe277372760244f1e558d7 Author: Michaël Van Canneyt Date: Sat May 4 09:18:05 2024 +0200 * Correct location of new error message M compiler/msg/errore.msg --- commit 1e9e533e6c27e8665aba11cdf6542798295025a7 Author: Michaël Van Canneyt Date: Sat May 4 15:15:41 2024 +0200 * Replace object with record where possible M compiler/fpcdefs.inc M compiler/nbas.pas M compiler/symbase.pas M compiler/symtype.pas --- commit e7145f5f7c677cc55f3e9208d08640db49a75e0b Author: J. Gareth "Curious Kit" Moreton Date: Sat May 4 15:17:44 2024 +0100 * Blocks of statements are now pruned (within reason) if a raise, exit, break, continue or goto node is found M compiler/nbas.pas --- commit 312cf246adc4dcfa1a9aef3968e203660f94df40 Author: Michaël Van Canneyt Date: Sat May 4 15:56:02 2024 +0200 * Fix creating thunk class when inherited interfaces are used M compiler/pmodules.pas M compiler/symconst.pas M compiler/symcreat.pas M compiler/symdef.pas --- commit 3302dae600c38211c87ed5f2f3ec05755cda05aa Author: Michaël Van Canneyt Date: Sat May 4 15:57:04 2024 +0200 * hlgcodegen needed when creating module info (fixes AV) M compiler/wasm32/nwasmutil.pas --- commit a888a141a2bdb99afdb4a0e9e83fc69613c796d6 Author: Michaël Van Canneyt Date: Sat May 4 16:58:04 2024 +0200 * remove do_compile, clearer flow when loading ppu/pas files M compiler/fmodule.pas M compiler/fppu.pas --- commit 02704f85a925475c71663e5db5ddf1700c00ceef Author: Michaël Van Canneyt Date: Mon May 6 15:49:06 2024 +0200 * Wasm: generator for invoke helper now handles overloaded methods in interfaces M compiler/symcreat.pas --- commit a04d2b59f643d3fd329129fc373835a8261694a3 Author: Michaël Van Canneyt Date: Mon May 6 16:56:29 2024 +0200 * Emit better error when not able to load auto units M compiler/pmodules.pas --- commit 70d2f81e5eceec3ac7ecfd0c188bb1a8adca6284 Author: florian Date: Mon May 6 22:46:21 2024 +0200 + store pic references in registers if possible M compiler/optcse.pas --- commit 04631040b8a4eff865e06031d0b83e7b464c1480 Author: florian Date: Mon May 6 23:12:36 2024 +0200 + do do_consttovar optimization on i386 as well M compiler/i386/cpuinfo.pas --- commit bfe5733624f4e7c0a929ed684628b88908d6f72b Author: Sven/Sarah Barth Date: Mon May 6 23:19:53 2024 +0200 * allow sp_generic_dummysym for procsyms even if there are no generic overloads M compiler/symsym.pas --- commit 485b31de21583caf6165581588015e130425d445 Author: Sven/Sarah Barth Date: Mon May 6 23:20:48 2024 +0200 * fix #40764: declare procsyms of a class/object also as sp_generic_dummysym if a symbol in a parent class has it set so that the parser will treat it as a potential generic + added test M compiler/pdecsub.pas A tests/webtbs/tw40764.pp A tests/webtbs/uw40764a.pp A tests/webtbs/uw40764b.pp --- commit 9b1861a1049aa0a646bbb2edbaa6280711bc31ab Author: florian Date: Tue May 7 22:40:13 2024 +0200 + enable cs_opt_consts on arm as well M compiler/arm/cpuinfo.pas --- commit 5e00358f13ebdb36f70332431b8cbff7f6b04c0b Author: florian Date: Wed May 8 23:12:54 2024 +0200 + cs_opt_consts for sparc M compiler/optcse.pas M compiler/sparc/cpuinfo.pas ================================================================ (inactive) Revisions in this set ccb169b0f1b3214c6b09b3bd89492e2ce0626fa1,6dd0a1c0784f1fded1ff03cd1f967cd08d1c31d4,f4d9082028cac807d4580fdc73e0bc1490abcb43,7bb9638094c2fd4dd8f91c5f55463033db3b4b9c,8fa80295d0c9adb867aed5b018c1094ded82aef3 commit ccb169b0f1b3214c6b09b3bd89492e2ce0626fa1 Author: svenbarth Date: Sat Nov 2 12:36:30 2019 +0000 * correctly handle PE COMDAT sections: like for the Comdat groups in ELF files the unused symbols need to be converted to externals so that relocations are handled correctly git-svn-id: trunk@43359 - M compiler/ogbase.pas --- commit 6dd0a1c0784f1fded1ff03cd1f967cd08d1c31d4 Author: florian Date: Fri Jan 14 22:55:49 2022 +0100 * year of copyright updated to 2022 M compiler/msg/errorct.msg M compiler/msg/errord.msg M compiler/msg/errorda.msg M compiler/msg/errordu.msg M compiler/msg/errore.msg M compiler/msg/errores.msg M compiler/msg/errorf.msg M compiler/msg/errorfi.msg M compiler/msg/errorhe.msg M compiler/msg/errorheu.msg M compiler/msg/errorid.msg M compiler/msg/erroriu.msg M compiler/msg/errorn.msg M compiler/msg/errorpl.msg M compiler/msg/errorpli.msg M compiler/msg/errorpt.msg M compiler/msg/errorptu.msg M compiler/msg/errorr.msg M compiler/msg/errorru.msg M compiler/msg/errorues.msg M compiler/msgtxt.inc --- commit f4d9082028cac807d4580fdc73e0bc1490abcb43 Author: florian Date: Mon Jan 9 22:53:23 2023 +0100 * copyright for 2023 updated M compiler/msg/errorct.msg M compiler/msg/errord.msg M compiler/msg/errorda.msg M compiler/msg/errordu.msg M compiler/msg/errore.msg M compiler/msg/errores.msg M compiler/msg/errorf.msg M compiler/msg/errorfi.msg M compiler/msg/errorhe.msg M compiler/msg/errorheu.msg M compiler/msg/errorid.msg M compiler/msg/erroriu.msg M compiler/msg/errorn.msg M compiler/msg/errorpl.msg M compiler/msg/errorpli.msg M compiler/msg/errorpt.msg M compiler/msg/errorptu.msg M compiler/msg/errorr.msg M compiler/msg/errorru.msg M compiler/msg/errorues.msg M compiler/msgtxt.inc --- commit 7bb9638094c2fd4dd8f91c5f55463033db3b4b9c Author: florian Date: Sun Jan 7 17:58:52 2024 +0100 * copyright year updated M compiler/msg/errorct.msg M compiler/msg/errord.msg M compiler/msg/errorda.msg M compiler/msg/errordu.msg M compiler/msg/errore.msg M compiler/msg/errores.msg M compiler/msg/errorf.msg M compiler/msg/errorfi.msg M compiler/msg/errorhe.msg M compiler/msg/errorheu.msg M compiler/msg/errorid.msg M compiler/msg/erroriu.msg M compiler/msg/errorn.msg M compiler/msg/errorpl.msg M compiler/msg/errorpli.msg M compiler/msg/errorpt.msg M compiler/msg/errorptu.msg M compiler/msg/errorr.msg M compiler/msg/errorru.msg M compiler/msg/errorues.msg M compiler/msgtxt.inc --- commit 8fa80295d0c9adb867aed5b018c1094ded82aef3 Author: Pierre Muller Date: Wed Apr 3 14:56:51 2024 +0000 Avoid running cleanppulogs and ppulogs rules in parallel M compiler/Makefile M compiler/Makefile.fpc M packages/Makefile M packages/Makefile.fpc M utils/Makefile M utils/Makefile.fpc ---