Commit Graph

61280 Commits

Author SHA1 Message Date
pierre
0055023394 Also set __stkptr inside cprt0.as and dllprt0.as startup assembly sources
git-svn-id: trunk@48223 -
2021-01-19 22:30:59 +00:00
pierre
83a1f5fbc3 Also set __stkptr inside cprt0.as startup assembly source
git-svn-id: trunk@48222 -
2021-01-19 22:28:37 +00:00
florian
85afaf5289 * patch by J. Gareth Moreton: Unitialized result variable fix on non-x86 debug builds, resolves #38371
git-svn-id: trunk@48221 -
2021-01-19 21:04:41 +00:00
Mattias Gaertner
b460f87fd4 fcl-passrc: fixed checking statement after except-on
git-svn-id: trunk@48211 -
2021-01-19 19:08:26 +00:00
yury
30587299ea * TRegIniFile: When accessing a section do not change/close the current open key.
* TRegIniFile should work properly with the XML registry. The tregistry2 test should work on any platform.

git-svn-id: trunk@48210 -
2021-01-19 17:38:36 +00:00
yury
5d69ba2cd8 * TXmlRegistry: When a key name starts with \ or / it means the absolute path to the key is specified. So ignore the currently selected key when an absolute key is requested.
git-svn-id: trunk@48209 -
2021-01-19 17:30:11 +00:00
yury
050a342101 * Reverted r41816 to allow TXmlRegistry.DeleteKey() delete the key and all its children. It is Delphi compatible. Windows implementation of TRegistry.DeleteKey() was fixed accordingly.
git-svn-id: trunk@48208 -
2021-01-19 17:25:56 +00:00
yury
ffff24593d * To be Delphi compatible TRegistry.DeleteKey() must delete the specified key and all its child keys.
git-svn-id: trunk@48207 -
2021-01-19 17:21:18 +00:00
yury
2c196ee8a9 * TRegistryIniFile: Fixed uninitialized Result in ValueExists(). Implemented SectionExists().
git-svn-id: trunk@48206 -
2021-01-19 17:13:44 +00:00
yury
9fd0f94d7c * tregistry2 test: Delete reg.xml and the app config dir.
git-svn-id: trunk@48205 -
2021-01-19 17:10:55 +00:00
yury
a29bfe5505 * Moved the tregistry2.pp test from packages to tests in order it to be run by daily test runs. tregistry2 has been failing for years and nobody has noticed this.
git-svn-id: trunk@48204 -
2021-01-19 16:52:43 +00:00
yury
4bf19e9d92 * Extended the tregistry2 test.
git-svn-id: trunk@48203 -
2021-01-19 16:40:45 +00:00
Mattias Gaertner
25fd38b2da pastojs: fixed o as intftype, when o is nil
git-svn-id: trunk@48188 -
2021-01-19 09:42:56 +00:00
pierre
dc799a9d49 Fix clearing of single type register variable in initialize_regvars method for ARM cpu (with -Ooregvar)
git-svn-id: trunk@48186 -
2021-01-18 23:29:24 +00:00
florian
16f201292c + remove try ... finally statements if the finally block is empty
git-svn-id: trunk@48174 -
2021-01-18 21:29:52 +00:00
michael
92c3aedac4 * Fix typo
git-svn-id: trunk@48171 -
2021-01-18 15:30:19 +00:00
michael
005448f305 * Some restructuring by Andrey, add fallback link
git-svn-id: trunk@48170 -
2021-01-18 15:27:58 +00:00
michael
38b6bb7385 * Patch from Andrey Sobol to improve inheritance tree
git-svn-id: trunk@48169 -
2021-01-18 13:23:52 +00:00
florian
d4ad618a70 * similiar fix to r48167 for OptPass1SXTH
git-svn-id: trunk@48168 -
2021-01-17 19:01:14 +00:00
florian
14ddc59edb * arm*: fix SxtbAndImm2Sxtb (now SxtbAndImm2Uxtb) optimization as proposed by Pierre and Gareth
git-svn-id: trunk@48167 -
2021-01-17 10:12:55 +00:00
florian
ecc3ce64ea * x86: some fixes to enable 8 and 16 bit operations
git-svn-id: trunk@48166 -
2021-01-16 22:46:25 +00:00
michael
4c22d66aac * Fix compilation
git-svn-id: trunk@48165 -
2021-01-16 16:55:48 +00:00
florian
8618a3b21f * 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 -
2021-01-16 15:38:29 +00:00
michael
b30d54b064 * Patches from Andrey Sobol, more control over warnings, improve class tree and resolving
git-svn-id: trunk@48163 -
2021-01-16 15:05:44 +00:00
florian
707bce74d7 * patch by J. Gareth Moreton: refactor OptPass2Jcc, resolves #38343
git-svn-id: trunk@48162 -
2021-01-15 21:24:44 +00:00
pierre
50a13b4df4 Function GetDefaultLibGCCDir adapted to case of Defaults not assigned (required for fpcmkcfg utility) reported by Andrew Kurushin
git-svn-id: trunk@48157 -
2021-01-14 22:59:16 +00:00
florian
9003114a8f + support R_X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX
git-svn-id: trunk@48156 -
2021-01-14 21:36:12 +00:00
Mattias Gaertner
c21e777c85 pastojs: fixed freeing temp intf var if nil
git-svn-id: trunk@48155 -
2021-01-14 12:30:57 +00:00
florian
4e61867ce1 * modified (use IsManagedType to check if a for loop can be used for copying) patch by Bart Broersma to fix IncreaseCapacity of TQueue, resolves #38306
git-svn-id: trunk@48154 -
2021-01-13 21:24:50 +00:00
pierre
1fa5edd34e Try to avoid use of native libgcc directory when cross-compiling.
Add FSourceCPU, FSourceOS, FCompilerDate FFullCompilerVersion fields to TCustomDefaults class.
  Set these new fields by also parsing FPC -iDWSPSO output.
  Use these fields to try to correctly guess if native gcc should be used to
  try to find libgcc directory, or only $BINUTILSPREFIX prepended gcc.

git-svn-id: trunk@48152 -
2021-01-13 10:07:37 +00:00
florian
344aadebb9 * avoid widening of shl operations, this is not necessary for them either
git-svn-id: trunk@48150 -
2021-01-12 21:45:38 +00:00
pierre
4fd1c9ec42 Correct check of stringtype inside use_tag_prefix function
git-svn-id: trunk@48140 -
2021-01-11 22:17:09 +00:00
Mattias Gaertner
000de377b9 fcl-passrc: fixed compile with pas2js
git-svn-id: trunk@48139 -
2021-01-11 22:05:20 +00:00
Mattias Gaertner
2833bf6710 fcl-passrc: fixed mem leak
git-svn-id: trunk@48138 -
2021-01-11 22:04:22 +00:00
Mattias Gaertner
05d916a652 pastojs: clean up
git-svn-id: trunk@48137 -
2021-01-11 22:03:40 +00:00
florian
a286ad9d77 * 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 -
2021-01-11 21:47:32 +00:00
Mattias Gaertner
22864b47e4 pastojs: record complex only for records with class vars
git-svn-id: trunk@48131 -
2021-01-10 22:56:39 +00:00
Jonas Maebe
5c2303a76b * add parameter cleanup nodes to the call cleanup block (mantis #38316)
git-svn-id: trunk@48130 -
2021-01-10 15:47:27 +00:00
pierre
b7c519de81 Add check for bug fix in bug report 38339
git-svn-id: trunk@48129 -
2021-01-10 14:43:22 +00:00
Jonas Maebe
b1a1e6c510 + test for mantis #38337, already fixed
git-svn-id: trunk@48127 -
2021-01-10 14:09:22 +00:00
svenbarth
217e9ac5a5 * regenerate msg*.inc files
git-svn-id: trunk@48126 -
2021-01-10 10:55:26 +00:00
svenbarth
469959d9b5 * clear up message that a global generic references a static symbol a bit
git-svn-id: trunk@48125 -
2021-01-10 10:55:18 +00:00
florian
eb81b981cd * patch by J. Gareth Moreton to fix MovzxCmp2CmpMovzx, resolves #38339
git-svn-id: trunk@48124 -
2021-01-10 10:23:40 +00:00
florian
227bd3e904 * simplified code for JccAdd2SetccAdd optimization
git-svn-id: trunk@48122 -
2021-01-09 18:21:49 +00:00
svenbarth
efe6b32638 + add declaration of FpSchedGetAffinity when the Linux target is compiled with FPC_USE_LIBC
git-svn-id: trunk@48121 -
2021-01-09 15:58:18 +00:00
svenbarth
359bb64aed * if the Linux target is compiled with FPC_USE_LIBC the initialization of TLS is not required (according to one comment by Florian), so disable all related code in that case (as for example the syscall numbers are not available then)
git-svn-id: trunk@48120 -
2021-01-09 15:58:13 +00:00
Mattias Gaertner
c99a97cc55 pastojs: started library
git-svn-id: trunk@48119 -
2021-01-09 13:57:13 +00:00
Mattias Gaertner
3b0df17bd1 fcl-passrc: resolver: check library export function overload
git-svn-id: trunk@48118 -
2021-01-09 13:56:28 +00:00
florian
f42f62565b * patch by J. Gareth Moreton to resolve bug introduced in the first patch, resolves #38294
git-svn-id: trunk@48117 -
2021-01-08 22:29:24 +00:00
florian
4e9b42344e + AddLea2Lea optimization
* improved LeaLea2Lea

git-svn-id: trunk@48116 -
2021-01-08 22:22:56 +00:00