This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Add D demangling support to libiberty
- From: Ian Lance Taylor <iant at google dot com>
- To: Joel Brobecker <brobecker at adacore dot com>
- Cc: Iain Buclaw <ibuclaw at gdcproject dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 14 Oct 2014 07:28:04 -0700
- Subject: Re: [PATCH] Add D demangling support to libiberty
- Authentication-results: sourceware.org; auth=none
- References: <CABOHX+dCTiefjwOTFfTC4Oa90dp7MaYm0M2T0GcByhB6Q7eO9A at mail dot gmail dot com> <CAKOQZ8xDYdUyi2O2a8HEEJki23DkP6ZT5V_s1dPo=qxeGwZVDA at mail dot gmail dot com> <CABOHX+dM9kwjzXoGGowXeKrUsM249ZYEc=TG5+XS1=TdZi32xQ at mail dot gmail dot com> <CABOHX+fo=Ac1tdoOup6VXqrDKK-jhWMisXZmmMqzh=qmCH+1Jg at mail dot gmail dot com> <20141014141244 dot GA17173 at adacore dot com>
On Tue, Oct 14, 2014 at 7:12 AM, Joel Brobecker <email@example.com> wrote:
>> 2014-08-05 Iain Buclaw <firstname.lastname@example.org>
>> * Makefile.in (CFILES): Add d-demangle.c.
>> (REQUIRED_OFILES): Add d-demangle.o.
>> * cplus-dem.c (libiberty_demanglers): Add dlang_demangling case.
>> (cplus_demangle): Likewise.
>> * d-demangle.c: New file.
>> * testsuite/Makefile.in (really-check): Add check-d-demangle.
>> * testsuite/d-demangle-expected: New file.
> As hinted on gdb-patches, this patch causes a GDB build failure
> on Solaris 2.9, because it uses strtold which is not available.
> According to gnulib's documentation, it should also break on
> the following systems:
> NetBSD 3.0, OpenBSD 3.8, Minix 3.1.8, IRIX 6.5, OSF/1 4.0,
> Solaris 9, Cygwin, MSVC 9, Interix 3.5, BeOS.
> This patch attempts to fix the issue by adding a configure check
> for strtold and adjusts the code to use strtod if strtold does not
> Does this look OK to you? If yes, can one of the GCC maintainers
> please review?
It doesn't make sense to me to use strtod if strtold is required. And
if strtold is not required, then it seems to me that we should always
use strtod. It seems to me that the right options are either 1) use
strtod unconditionally; 2) add strtold to libiberty
Since option 1 is simpler, what bad things would happen if we use