// unit DynHashArray // this code at line 173 should be in J+ mode, it is a assignable typed const. const {$push}{J+} ItemMemManager: TDynHashArrayItemMemManager = nil; {$pop}
There were some recent changes that went into FPC fixes regarding cocoa.Yes, this problem prevents me using latest fixes. Thank you.
Some of them did introduce changes that are not (yet) compatible with Lazarus.
It should be ENabled to achieve proper result. The declaration writes it as nil, afterwards it needs to be assigned......
Writable constant doesn’t make any senses. FPC should disable it by default, at least on ObjFPC mode.
It should be ENabled to achieve proper result. The declaration writes it as nil, afterwards it needs to be assigned......That’s why it should be a var, not a const. I thought you knew.
So it is precisely the other way around. I thought you knew.....
wrong again. It is actually a singleton after assignment. The same happens with e.g. the memorymanager entrypoints in system.pas.It should be ENabled to achieve proper result. The declaration writes it as nil, afterwards it needs to be assigned......That’s why it should be a var, not a const. I thought you knew.
So it is precisely the other way around. I thought you knew.....
wrong again. It is actually a singleton after assignment. The same happens with e.g. the memorymanager entrypoints in system.pas.When I said writable constant doesn’t make senses, I was talking about the semantic. A constant shouldn’t be allowed to be changed once it contains a value. If you need to change the value later then it should be a variable, not a constant. Hence, writeable const in Pascal is semantically wrong.
A var would be way to much scope (although it is a great deal a notational issue, const is more correct here.)Why var and const have different scope?
If you use latest fpcupdeluxe, just drop the:Those will go to the next official release, right?
FPC patch into "patchfpc" directory.
Lazarus patch into "patchlazarus" directory.
If you use latest fpcupdeluxe, just drop the:Nope, it still fails. Here’s the error messages:
FPC patch into "patchfpc" directory.
Lazarus patch into "patchlazarus" directory.
Rebuild FPC and Lazarus.
fpcupdeluxe: info: Lazarus: WARNING: found modified files.
fpcupdeluxe: info: LazarusNativeInstaller (GetModule: Lazarus): Lazarus is at revision: 62558
fpcupdeluxe: WARNING: LazarusNativeInstaller (GetModule: Lazarus): Going to patch Lazarus sources !!
fpcupdeluxe: info: Lazarus native builder: Detected source version Lazarus: 2.0.7
fpcupdeluxe: info: Lazarus native builder: Using FPC compiler with version: 3.2.0
fpcupdeluxe: Start of compile error summary.
<home>/Programs/freepascal/lazarus/components/lazutils/dynhasharray.pp(173,5) Error: (4032) Can't assign values to const variable
fpcupdeluxe: Start of compile error summary.
<home>/Programs/freepascal/lazarus/components/lazutils/dynhasharray.pp(945,28) Error: (4032) Can't assign values to const variable
fpcupdeluxe: Start of compile error summary.
dynhasharray.pp(948) Fatal: (10026) There were 2 errors compiling module, stopping
<home>/Programs/freepascal/lazarus/components/lazutils/dynhasharray.pp(945,28) Error: (4032) Can't assign values to const variable
fpcupdeluxe: Start of compile error summary.
Fatal: (1018) Compilation aborted
dynhasharray.pp(948) Fatal: (10026) There were 2 errors compiling module, stopping
fpcupdeluxe: Start of compile error summary.
Error: <home>/Programs/freepascal/fpc/bin/x86_64-darwin/ppcx64 returned an error exitcode
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: LazarusNativeInstaller (BuildModuleCustom: Lazbuild): make returned error code #512
fpcupdeluxe: Done !!
I left this error open, due to the discussing you had with Thaddy.
You can solve. And report this as a bugger towards the Lazarus team.
fpcupdeluxe: info: FPCNativeInstaller (GetModule: FPC): FPC is at revision: 44080
fpcupdeluxe: WARNING: FPCNativeInstaller (GetModule: FPC): Going to patch FPC sources !!
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patching with <home>/Programs/freepascal/patchfpc/fpc_cocoa_fixes_3_2.patch failed.
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patch output: patching file packages/cocoaint/fpmake.pp
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patching with <home>/Programs/freepascal/patchfpc/fpcpatch_all_makesearchpath_fixes_3_2.patch failed.
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patch output: patching file Makefile
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patching with <home>/Programs/freepascal/patchfpc/fpcpatch_darwin_makepackages_fixes_3_2.patch failed.
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patch output: patching file packages/Makefile
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patching with <home>/Programs/freepascal/patchfpc/fpcpatch_dragonfly_fixes_3_2.patch failed.
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patch output: patching file rtl/dragonfly/Makefile
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patching with <home>/Programs/freepascal/patchfpc/fpcpatch_freebsd_fixes_3_2.patch failed.
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patch output: patching file rtl/bsd/ostypes.inc
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patching with <home>/Programs/freepascal/patchfpc/fpcpatch_linux_linker_fixes_3_2.patch failed.
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: FPCNativeInstaller (GetModule: FPC): FPC patch output: patching file compiler/systems/t_linux.pas
fpcupdeluxe: info: FPC native builder: Detected source version FPC: 3.2.0
fpcupdeluxe: info: FPC native builder: Using FPC bootstrap compiler with version: 3.0.4
fpcupdeluxe: info: Lazarus: WARNING: found modified files.
fpcupdeluxe: info: LazarusNativeInstaller (GetModule: Lazarus): Lazarus is at revision: 62558
fpcupdeluxe: WARNING: LazarusNativeInstaller (GetModule: Lazarus): Going to patch Lazarus sources !!
fpcupdeluxe: info: Lazarus native builder: Detected source version Lazarus: 2.0.7
fpcupdeluxe: info: Lazarus native builder: Using FPC compiler with version: 3.2.0
fpcupdeluxe: Start of compile error summary.
<home>/Programs/freepascal/lazarus/components/lazutils/dynhasharray.pp(173,5) Error: (4032) Can't assign values to const variable
fpcupdeluxe: Start of compile error summary.
<home>/Programs/freepascal/lazarus/components/lazutils/dynhasharray.pp(945,28) Error: (4032) Can't assign values to const variable
fpcupdeluxe: Start of compile error summary.
dynhasharray.pp(948) Fatal: (10026) There were 2 errors compiling module, stopping
<home>/Programs/freepascal/lazarus/components/lazutils/dynhasharray.pp(945,28) Error: (4032) Can't assign values to const variable
fpcupdeluxe: Start of compile error summary.
Fatal: (1018) Compilation aborted
dynhasharray.pp(948) Fatal: (10026) There were 2 errors compiling module, stopping
fpcupdeluxe: Start of compile error summary.
Error: <home>/Programs/freepascal/fpc/bin/x86_64-darwin/ppcx64 returned an error exitcode
fpcupdeluxe: Start of compile error summary.
fpcupdeluxe: ERROR: LazarusNativeInstaller (BuildModuleCustom: Lazbuild): make returned error code #512
fpcupdeluxe: Done !!