This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/60401] stdlib.h does not provide abs(long) overload


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

--- Comment #14 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Dominik Vogt from comment #13)
> -- snip --
>   In file included from .../git/gcc/install/include/c++/6.0.0/math.h:36:0,
>                    from x.C:1:
>   .../gcc/install/include/c++/6.0.0/cmath:614:11: error: â::isinfâ has not
> been declared
>      using ::isinf;
>              ^~~~~

If this line is being compiled it means libstdc++ was configured against the
old glibc headers (because _GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN is defined). The
error means you are successfully using the new glibc headers when compiling
your test, but they don't match the glibc headers used at configure-time.

So I believe the problem is that you need to reconfigure libstdc++ with the new
glibc headers, you can't just drop them in later and expect an already-built
libstdc++ to work with them. Libstdc++ depends on glibc, so if you update glibc
(or fake doing so by using --sysroot to point at a new glibc) then you need to
rebuild libstdc++ too.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]