[Bug libstdc++/80432] std::pow gives wrong results for long double arguments

theivorytower at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Apr 14 19:47:00 GMT 2017


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80432

--- Comment #2 from Hao Zhang <theivorytower at gmail dot com> ---
(In reply to Martin Liška from comment #1)
> Can't reproduce, can you please provide options you use to build the
> executable?

I didn't use any extra options besides g++ pow.cpp, and both my CFLAGS and
CXXFLAGS environment variables are empty. And I just found out moments ago
compiling with -O1 gives the right result while compiling with -O0 gives the
wrong result. I also tried to turn on each of the 42 optimizations provided by
-O1 individually, and I found none of the 42 optimizations ALONE can get rid of
the problem. So there must be some combinations of optimizations that can get
rid of the problem. 

My glibc version is 2.25 and kernel version is 4.10.9. And I have reproduced
the error on two different computers. Is there any other information I can
provide to help pinpoint the problem? Thanks!


More information about the Gcc-bugs mailing list