This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Problem with Ada working on Linux PowerPC port
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: minyard at acm dot org
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 16 Nov 01 06:29:37 EST
- Subject: Re: Problem with Ada working on Linux PowerPC port
I think I have traced the problem down to ada/decl.c. Around line
1020 a variable declaration is created, then around 1048 the same
variable is created again (for other reasons, it seems) as a
corresponding declaration. However, the "const_flag" is not passed in
to the second variable creation. This caused the second declaration
to create the assembler output with one name, but everything else
referenced the first variable (thus the first name). You can't pass
const_flag into the second call because it won't create the assembler
output at all.
I can't follow this. Can you send a test case?
The following patch seems to fix the problem,
Of course you don't want to turn off const_flag like that, so we need
to find the real problem.
Now the compiler cross-compiles fine, but on the PPC machine I get the
error:
gcc -c -g -W -Wall -gnatpg -gnata -I- -I. -I../../../gcc/gcc/ada
../../../gcc/gcc/ada/a-charac.ads
a-charac.ads:19:12: warning: file name does not match unit name, should
be "a-chara.ads"
Interesting. This was also reported on IA64. However, GNAT has been
built on PowerPC before, so this is strange. Clearly something is being
miscompiled, but the question is what.