[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#43579: g++ does not provide std::fegetround
From: |
Miguel Ángel Arruga Vivas |
Subject: |
bug#43579: g++ does not provide std::fegetround |
Date: |
Fri, 13 Nov 2020 18:59:53 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hi!
Ludovic Courtès <ludo@gnu.org> writes:
>[...]
> It’s the same story as <https://issues.guix.gnu.org/42392>.
>[...]
> So this is again #include_next not picking the right <fenv.h> due to
> search path ordering issues and/or duplicate entries.
>
> Thoughts anyone?
>
> I think we need a proper fix but the feedback we got from GCC folks last
> time didn’t give me much insight as to what we should do.
AFAIR, the issue comes from using XXX_INCLUDE_PATH instead of CPATH
because it includes gcc predefined paths:
1. The order matters.
2. The internal order may need duplicated paths.
3. Even providing the right duplicated paths through these variables
may not be supported may not work, it's an implementation detail after
all.
This was changed because we wanted to avoid warnings on installed
libraries which could be raised to errors with -Werror. I personally
don't like that approach, as the included headers are being compiled in
that moment so I think the -Werror should apply too, but indeed I
understand the reasons behind the compatibility with FHS.
The problem comes to generalizing this approach: there should be inputs
that must not enter the realm of these variables, mainly gcc and libc,
libc:static, libstdc++, and so on.
The attached WIP-patch would be a rough approach to that, but it will
take some time until I recompile the world to really test it. Also this
isn't the best approach as the manifests shouldn't include these
neither, but I still don't find where and how to mark these inputs
cleanly.
WDYT? Any idea is welcome. :-)
Happy hacking!
Miguel
0001-build-system-gnu-Remove-libc-libstdc-and-gcc-from-in.patch
Description: wip-gcc.patch
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#43579: g++ does not provide std::fegetround,
Miguel Ángel Arruga Vivas <=