This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/31608] wrong types in character array/scalar binop
- From: "Tobias dot Schlueter at physik dot uni-muenchen dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 25 Oct 2007 19:50:54 -0000
- Subject: [Bug fortran/31608] wrong types in character array/scalar binop
- References: <bug-31608-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #46 from Tobias dot Schlueter at physik dot uni-muenchen dot de 2007-10-25 19:50 -------
Subject: Re: wrong types in character array/scalar binop
dave at hiauly1 dot hia dot nrc dot ca wrote:
> Subject: Re: wrong types in character array/scalar binop
>
>> ASM_FORMAT_PRIVATE_NAME (tmp_name, prefix ? prefix : "T",
>
> I'm still don't understand how we get underscores. We have in defaults.h:
>
> #ifndef ASM_FORMAT_PRIVATE_NAME
> # define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
> do { const char *const name_ = (NAME); \
> char *const output_ = (OUTPUT) = \
> (char *) alloca (strlen (name_) + 32); \
> sprintf (output_, ASM_PN_FORMAT, name_, (unsigned long)(LABELNO)); \
> } while (0)
> #endif
>
> #ifndef ASM_PN_FORMAT
> # ifndef NO_DOT_IN_LABEL
> # define ASM_PN_FORMAT "%s.%lu"
> # else
> # ifndef NO_DOLLAR_IN_LABEL
> # define ASM_PN_FORMAT "%s$%lu"
> # else
> # define ASM_PN_FORMAT "__%s_%lu"
> # endif
> # endif
> #endif /* ! ASM_PN_FORMAT */
>
> To the best of my knowledge, we don't define either ASM_FORMAT_PRIVATE_NAME
> or NO_DOT_IN_LABEL. I believe NO_DOLLAR_IN_LABEL is defined on those PA
> targets that include elfos.h.
~/src/hggcc/gcc/config tobi$ find . | xargs grep ASM_PN
./alpha/vms.h:#define ASM_PN_FORMAT "%s___%lu"
./h8300/h8300.h:#define ASM_PN_FORMAT "%s___%lu"
./ia64/ia64.h:#define ASM_PN_FORMAT (TARGET_GNU_AS ? "%s.%lu" : "%s?%lu")
./mmix/mmix.h:#define ASM_PN_FORMAT "%s::%lu"
./mn10300/mn10300.h:#define ASM_PN_FORMAT "%s___%lu"
./pa/pa.h:#define ASM_PN_FORMAT "%s___%lu"
./v850/v850.h:#define ASM_PN_FORMAT "%s___%lu"
It looks like you do :-)
I wonder why this name-mangling is necessary, it's not like these names
are going to appear in the assembly, is it?
Cheers,
- Tobi
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31608