Hello,
to solve this internal error we passed to the last gpc version (gpc version 20050331, based on gcc-3.4.3) but unfortunately we got another unexpected problem related to "global" procedures names that have been changed respect the gpc 20041218. In fact the gpc 20050331 change the internal name of "global" procedures adding a variable prefix as, for examèple, "_p_Mx_modulename_Sy_procedurename" instead the original "procedurename". For us this change loads big problem because, our pascal modules come from VAX/VMS and are structured to be exported as object library containing thousand of modules and some environment modules to be used as interface by application pascal modules. We have a lot of applicatons and the related pascal modules cannot use internal library modules as interface because don't know them but know only some (2 or 3) "library interface modules". So, porting our pascal modules under gpc the choise was to maintaining the original modules structures in terms of files, so we create the related gpc modules containing the proper interface to resolve the references to the library procedures, types and variables. The work around, to avoid gpc compilation errors, was to write procedure declarations using the "external name" extension, for example:
unit lbbe, interface procedure ios_txt_open (var f: text); external name 'Ios_txt_open'; procedure ios_txt_close (var f: text); external name 'Ios_txt_close'; /* other hundred and hundred of procedure declarations */
end.
Using gpc20050331 this approch don't work any more. The question is, there is a gpc option in order to disable this name building method or could you describe us this procedure name building algoritm? Thank you very much in advance for your help.
Angelo Fumagalli
___________________________________________________________ ----- Original Message ----- From: "Waldek Hebisch" hebisch@math.uni.wroc.pl To: gpc@gnu.de Sent: Wednesday, May 04, 2005 4:18 PM Subject: Re: Internal gpc compiler error
Hello,
Angelo Fumagalli wrote:
running gpc testsuite (gpc version 20041218, based on gcc-3.2.3) on x86_64-unknown-linux-gnu environment we have as result that 78 tests
failed,
some are related to an Internal compiler error on the same file:
Internal compiler error in classify_argument, at config/i386/i386.c:1841
This internal compiler error was detected also compiling some of our own pascal modules ported under gpc.
In attachment you find included the gpc testsuite log file.
Some advise?
Regards.
Angelo Fumagalli
I suggest moving to later backend (3.3.5 or 3.4.3). gcc-3.2.3 on amd64 has serious problems. With some effort the problem metioned above could be fixed, but other bugs are likely to hit later.
-- Waldek Hebisch hebisch@math.uni.wroc.pl