bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

strtod [was: M4 1.4.14 on AIX 7.1BETA]


From: Eric Blake
Subject: strtod [was: M4 1.4.14 on AIX 7.1BETA]
Date: Thu, 29 Jul 2010 07:17:35 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.7) Gecko/20100720 Fedora/3.1.1-1.fc13 Lightning/1.0b2pre Mnenhy/0.8.3 Thunderbird/3.1.1

On 07/29/2010 06:50 AM, Rainer Tammer wrote:
>>>   FAIL: test-strtod
>>>
>>> Is this a know problem ?
>> Did configure try to replace AIX' strtod?
> According to config.h:
> 
> /* Define to 1 if strtod is declared even after undefining macros. */
> #define HAVE_RAW_DECL_STRTOD 1

That's not quite what I asked.  But thanks for the attachments: looking
at config.log reveals the answers to my questions:

configure:24593: checking for working strtod
configure:24634: cc -qlanglvl=extc89 -qlanglvl=extc99 -o conftest -g
conftest.c  >&5
configure:24634: $? = 0
configure:24634: ./conftest
configure:24634: $? = 0
configure:24644: result: yes
configure:24715: checking whether strtod obeys C99
configure:24791: cc -qlanglvl=extc89 -qlanglvl=extc99 -o conftest -g
conftest.c  >&5
configure:24791: $? = 0
configure:24791: ./conftest
configure:24791: $? = 1
configure: program exited with status 1
...
REPLACE_STRTOD='1'

Which means gnulib _did_ replace strtod on your system.

> 
>>   Which line is it failing on?
> FAIL: test-strtod (exit: 134)
> =============================
> 
> test-strtod.c:234: assertion failed

Line 234, at the time that m4-1.4.14 was created, was:

    const char input[] = "1e1";
    char *ptr;
    double result;
    errno = 0;
    result = strtod (input, &ptr);
    ASSERT (result == 10.0);

Weird - I've never seen that line fail before.  If you have a debugger,
can you put a breakpoint on that line and print the actual value of
result?  Maybe your platform has a pow() bug, since we already know it
is using the replacement strtod which used pow()?  But in the meantime,
upstream gnulib has revamped the strtod module to not require pow().
Tell you what - let me build a snapshot of m4 using the latest git, and
let's diagnose the current state of gnulib on AIX, rather than doing
post-mortem on old code.  It's time for me to release 1.4.15 anyways,
since 1.4.14 doesn't build out-of-the-box on newer glibc released after
the m4 release.

-- 
Eric Blake   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]