[adding libstdc++@] On Nov 5, 2023, Mike Stump <mikest...@comcast.net> wrote:
> Ick. Indeed ;-) > I wish there were fewer changed lines and not 1 per test > case. It feels like we've painted ourselves into a corner. The libstdc++ testsuite took a different approach, detecting missing headers (and libraries?) at error pruning time, and xfailing the tests, which seems to be more in line with what you are looking for. That approach, though more expedient, seems more fragile to me, in that an actual bug that caused headers to go missing would cause tests to be silently skipped rather than fail. I expect the set of headers, and thus of affected tests, won't by very dynamic, so it's kind of a one-shot change. Of course new tests might be added that rely on such headers, and would likely go unnoticed until someone tries them on a non-hosted libstdc++. We could alleviate this if libstdc++ headers that are not installed on hosted systems issued a warning (conditional on some macro defined by the testsuite, say -D_GLIBCXX_WARN_HOSTED_ONLY). For tests aimed exclusively at hosted libstdc++, we'd then use a dg directive that both implied this requirement, and changed the macro definition to suppress the warning. Then anyone who added a testcase that included hosted headers without indicating its hostedlib requirement would get a fail even when testing with a hosted libstdc++. -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer More tolerance and less prejudice are key for inclusion and diversity Excluding neuro-others for not behaving ""normal"" is *not* inclusive