[Top][All Lists]

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

Re: m4-1.4.9b on HP-UX 11

From: Bruno Haible
Subject: Re: m4-1.4.9b on HP-UX 11
Date: Sun, 3 Jun 2007 02:48:14 +0200
User-agent: KMail/1.5.4

Gary V. Vaughan wrote in
[For some reason, I can see your last 3 mails on gmane and on lists.gnu.org,
but they don't came into my mailbox. And I have no spam filter.]

> With CC=cc CFLAGS="-z +O2 +Onofltacc +Olit=all +Oentrysched +Odataprefetch \
> +Onolimit" LDFLAGS="-Wl,+nodefaultrpath":
> 1.000000 33
> test-vasprintf-posix.c:1239: assertion failed
> /opt/fsw/bash30/bin/bash: line 1: 12683 ABORT instruction (core dumped) 
> EXEEXT='' EXEEXT='' EXEEXT='' srcdir='.' EXEEXT='' srcdir='.' EXEEXT='' 
> srcdir='.' ${dir}$tst
> FAIL: test-vasprintf-posix
> With CC=cc CFLAGS="-z +O2 +Olit=all +Oentrysched +Odataprefetch +Onolimit" \
> LDFLAGS="-Wl,+nodefaultrpath":
>   -nan 33
>   -nan 33
>   PASS: test-vasprintf-posix

This makes it pretty clear that +Onofltacc is the culprit.

> Do you think the test is at fault here?

No; dividing zero by zero *must* give a NaN according to IEEE 754. This is
not the kind of "undefined behaviour" that may be optimized randomly by
the compilers.

> Or is it an hpux compiler bug?

Whether it's an HP-UX compiler bug or whether it's you who are willfully
choosing a non-IEEE-754-compliant compiler by using the option +Onofltacc,
depends on the HP compiler's documentation. I can not judge it by the small
snippet you posted.

> If the latter, can it be worked around?

You answered this question already :-)

> we've made it a standard flag for compilations on hpux in order for
> other FLOSS projects to build correctly

It sounds surprising that some projects _require_ a particular optimization
in order to build correctly?! But it any case, I'm more inclined to adapt
source code so that it compiles with default flags, more than for some
pretty aggressive vendor-specific optimization flags. (Here for HP-UX cc
I consider "cc -Ae" the default.)


reply via email to

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