View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0037471 | FPC | Compiler | public | 2020-08-03 05:30 | 2020-08-04 22:52 |
Reporter | J. Gareth Moreton | Assigned To | Florian | ||
Priority | low | Severity | text | Reproducibility | N/A |
Status | resolved | Resolution | fixed | ||
Platform | Cross-platform | OS | Microsoft Windows | ||
Product Version | 3.3.1 | ||||
Fixed in Version | 3.3.1 | ||||
Summary | 0037471: [Patch] Internal Error number clash | ||||
Description | A few internal error numbers of the form 20180307## have multiple clashes. The attached patch ensures they are all unique. | ||||
Steps To Reproduce | Apply patch and confirm compilation is no different and specific internal error numbers no longer clash, | ||||
Additional Information | Unique internal error numbers are vital in isolating exactly where the compiler's internal state became unstable - clashing numbers adds an unnecessary element of confusion. The most important appearance of 2018030701 is in AllocRegBetween, a supporting function in the Peephole Optimizer - this instance of the number is retained, while the two clashes are changed. | ||||
Tags | compiler, internal error, patch | ||||
Fixed in Revision | 46234 | ||||
FPCOldBugId | |||||
FPCTarget | - | ||||
Attached Files |
|
|
IntErrorClashFix2.patch (1,527 bytes)
Index: compiler/x86/rax86int.pas =================================================================== --- compiler/x86/rax86int.pas (revision 45994) +++ compiler/x86/rax86int.pas (working copy) @@ -1142,7 +1142,7 @@ SetSegmentOverride(dest,segreg); end; else - internalerror(2018030701); + internalerror(2018030704); end; end; OPR_LOCAL: @@ -1223,7 +1223,7 @@ oper.opr.localsegment:=seg; end; else - internalerror(2018030703); + internalerror(2018030705); end; end; Index: compiler/z80/raz80asm.pas =================================================================== --- compiler/z80/raz80asm.pas (revision 45994) +++ compiler/z80/raz80asm.pas (working copy) @@ -862,7 +862,7 @@ dest.opr:=tmplocal; end; else - internalerror(2018030701); + internalerror(2018030711); end; end; OPR_LOCAL: @@ -900,11 +900,11 @@ OPR_LOCAL: Message(asmr_e_no_local_or_para_allowed); else - internalerror(2018030703); + internalerror(2018030713); end; end; else - internalerror(2018030702); + internalerror(2018030712); end; end; |
|
Thanks, applied. |
Date Modified | Username | Field | Change |
---|---|---|---|
2020-08-03 05:30 | J. Gareth Moreton | New Issue | |
2020-08-03 05:30 | J. Gareth Moreton | File Added: IntErrorClashFix2.patch | |
2020-08-03 05:31 | J. Gareth Moreton | Tag Attached: compiler | |
2020-08-03 05:31 | J. Gareth Moreton | Tag Attached: patch | |
2020-08-03 05:31 | J. Gareth Moreton | Tag Attached: internal error | |
2020-08-03 05:31 | J. Gareth Moreton | Priority | normal => low |
2020-08-03 05:31 | J. Gareth Moreton | Severity | minor => text |
2020-08-03 05:31 | J. Gareth Moreton | FPCTarget | => - |
2020-08-03 05:33 | J. Gareth Moreton | Additional Information Updated | View Revisions |
2020-08-04 22:52 | Florian | Assigned To | => Florian |
2020-08-04 22:52 | Florian | Status | new => resolved |
2020-08-04 22:52 | Florian | Resolution | open => fixed |
2020-08-04 22:52 | Florian | Fixed in Version | => 3.3.1 |
2020-08-04 22:52 | Florian | Fixed in Revision | => 46234 |
2020-08-04 22:52 | Florian | Note Added: 0124571 |