This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: java/1866: Array initializer: undefined reference to `LJv0.0'
- To: nobody at gcc dot gnu dot org
- Subject: Re: java/1866: Array initializer: undefined reference to `LJv0.0'
- From: Alexandre Petit-Bianco <apbianco at cygnus dot com>
- Date: 5 Feb 2001 21:56:01 -0000
- Cc: gcc-prs at gcc dot gnu dot org,
- Reply-To: Alexandre Petit-Bianco <apbianco at cygnus dot com>
The following reply was made to PR java/1866; it has been noted by GNATS.
From: Alexandre Petit-Bianco <apbianco@cygnus.com>
To: tromey@redhat.com
Cc: Bryce McKinlay <bryce@albatross.co.nz>, gcc-gnats@gcc.gnu.org
Subject: Re: java/1866: Array initializer: undefined reference to `LJv0.0'
Date: Mon, 5 Feb 2001 13:38:16 -0800 (PST)
Tom Tromey writes:
> Alex, if this looks ok to you I will send it to gcc-patches and
> check it in.
I think it does. Go ahead, thanks.
> I don't understand when you should call make_decl_rtl and when you
> should call rest_of_decl_compilation. The comments in the code
> aren't all that clear. And as far as I know there's no docs on
> this.
Both set DECL_RTL, but rest_of_decl_compilation might emit something
in the output file.
So you call rest_of_decl_compilation when it's the last chance for a
decl to be considered for asm generation (and if it needs to.) Since
we're in java_lang_expand_expr, catching what falls through
expand_expr, it effectively is our last chance -- nothing will call it
for you later on.
I don't have an explanations as for why the bug would show up only for
class files. It's clearly due to the new behavior enforced around the
creation of DECLs, but I don't know exactly why. I guess it could be
looked at.
./A