This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Java: Don't mangle "$" characters in identifier names


>>>>> "Bryce" == Bryce McKinlay <bryce@albatross.co.nz> writes:

Bryce> This patch changes GCJ to not do this mangling, matching the
Bryce> behaviour of C++. If the C++ compiler is correct here, and "$"
Bryce> should never be mangled, then the $ code should be removed
Bryce> entirely from GCJ. Can anyone comment on this?

NO_DOLLAR_IN_LABEL means that the assembler can't accept $ in a
label.  If the C++ compiler ignores this then I imagine it will simply
fail to work on such platforms.

Here's what tm.texi says:

    @findex NO_DOLLAR_IN_LABEL
    @item NO_DOLLAR_IN_LABEL
    Define this macro if the assembler does not accept the character
    @samp{$} in label names.  By default constructors and destructors in
    G++ have @samp{$} in the identifiers.  If this macro is defined,
    @samp{.} is used instead.

This is unfortunate since using `.' instead probably isn't what we
want.  But perhaps the final sentence here is simply out of date.

I think updating the C++ compiler is the right approach.

Tom


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]