Dr. Thomas D. Schneider wrote:
Demonstrate capitals bug in GPC. The name of a local procedure is objected to by GPC if there is a global by the same name but different capitalization.
In theory the compiler should keep track of what is local and what is global anyway, so it should be able to avoid this.
It is a problem because if one imports procedures from another program, they are not being treated as pure 'black boxes'. Instead, local variable names are being compared to the global variable names.
In otherwords, the scope rule of Pascal is being violated when these warnings are generated.
This problem is not fixed by adding the flag:
-Widentifier-case-local Warn about an identifier written with varying case within one program/module/unit.
Note that your program consted of a single module (in other words it contained just main program, without EP modules or units). The compiler internally keeps only one copy of given identifier -- the meaning changes according to the scope, but there is only one place to store the spelling. It is natural to take scope rules into account when warning about capitalization, but that requires extra work.