[fpc-devel] duplicate internal error numbers
J. Gareth Moreton
gareth at moreton-family.com
Wed Oct 7 15:39:45 CEST 2020
Normally internal error numbers need to be unique so it's easier to
identify where the compiler's internal state went bad. I have submitted
a few patches of my own to rectify number clashes, but these are only in
cases where they clash on the same platform (e.g. between two
platform-specific routines or a platform-specific and a
To help minimise clashes when writing code, I format the numbers as
follows: yyyymmddij, where yyyy, mm and dd represent the year, month and
day that I wrote the code segment respectively, i is an index that I
generally keep constant within a routine (so different routines that I
write on the same day have differing indices) and j is a secondary index
used to differentiate individual internal errors wthin the same
routine. The indices aren't set in stone though.
When two different programmers write code on the same day in different
parts of the compiler, there's bound to be a clash eventually. Usually
though I only submit a patch to change them if I run into a clash during
development that either I think could cause confusion, or already has
(i.e. I've triggered the internal error and I can't identify which
routine is at fault). Long story short, I only change an individual
clash during these instances.
I would advise against an automated change in case it changes too many
internal error numbers and when a third party raises an issue where the
compiler has triggered one, we can no longer identify where in the code
base that the state has gone bad because none of the numbers match any more.
Sorry - I probably went off on a bit of a tangent there.
Gareth aka. Kit
On 07/10/2020 14:18, Marģers . via fpc-devel wrote:
> ----- Reply to message -----
> Subject: Re: [fpc-devel] duplicate internal error numbers
> Date: trešd., 7 okt. 2020, 14:16
> From: Jonas Maebe via fpc-devel <fpc-devel at lists.freepascal.org>
> To: <fpc-devel at lists.freepascal.org>
>> On 07/10/2020 13:02, Marģers . via fpc-devel wrote:
>>> found total 4300+
>>> 1001 error number has to be changed to make all error number unique
>>> as there are so huge number of changes to make i have question
>>> 1) would it be desirable to change all (or most) duplicate error
>>> numbers in one single big patch?
>>> 2) selective amount of changes in multiple patches?
>>> 3) leave it as is? not broken don't fix or do nothing is a choice.
>> How many of these are part of different code generators? We only support
>> one architecture per compiler binary _and_ code generators for new
>> architectures often start as (partial) copies of existing code
>> generators, so it's normal that they have a lot of duplicate internal
>> errors, but it doesn't matter.
>> OTOH, I'm sure there are also still duplicates in generic code and
>> within single architectures, but to find those you have to look
>> exclusively at the generic files in combination with those for a single
>> architecture (which may be in multiple directories, e.g. compiler/x86
>> and compiler/i386 for the i386 target).
> It's still plenty potential duplicates. Got 339 unique cases to investigate. A lot manual labor. As i understand that automated changes are not welcomed.
> fpc-devel maillist - fpc-devel at lists.freepascal.org
This email has been checked for viruses by Avast antivirus software.
More information about the fpc-devel