[runtimes] Rename various libcpp-has-no-XYZ Lit features to just no-XYZSince those features are general properties of the environment, it makessense to use them from libc++abi too, and so the name
[runtimes] Rename various libcpp-has-no-XYZ Lit features to just no-XYZSince those features are general properties of the environment, it makessense to use them from libc++abi too, and so the name libcpp-has-no-xxxdoesn't make sense.Differential Revision: https://reviews.llvm.org/D126482
show more ...
[libc++] Add an option to disable wide character support in libc++Some embedded platforms do not wish to support the C library functionalityfor handling wchar_t because they have no use for it. It
[libc++] Add an option to disable wide character support in libc++Some embedded platforms do not wish to support the C library functionalityfor handling wchar_t because they have no use for it. It makes sense forlibc++ to work properly on those platforms, so this commit adds a carve-outof functionality for wchar_t.Unfortunately, unlike some other carve-outs (e.g. random device), thispatch touches several parts of the library. However, despite the wideimpact of this patch, I still think it is important to support thisconfiguration since it makes it much simpler to port libc++ to someembedded platforms.Differential Revision: https://reviews.llvm.org/D111265
[libc++] Add a libc++ configuration that does not support localizationWhen porting libc++ to embedded systems, it can be useful to drop supportfor localization, which these systems don't implement
[libc++] Add a libc++ configuration that does not support localizationWhen porting libc++ to embedded systems, it can be useful to drop supportfor localization, which these systems don't implement or care about.Differential Revision: https://reviews.llvm.org/D90072
[libc++/abi] Clean up uses of <iostream> in the test suiteWe used <iostream> in several places where we don't actually need thefull power of <iostream>, and where using basic `std::printf` is enou
[libc++/abi] Clean up uses of <iostream> in the test suiteWe used <iostream> in several places where we don't actually need thefull power of <iostream>, and where using basic `std::printf` is enough.This is better, since `std::printf` can be supported on systems that don'thave a notion of locales, while <iostream> can't.
[runtimes] Use int main(int, char**) consistently in testsThis is needed when running the tests in Freestanding mode, where main()isn't treated specially. In Freestanding, main() doesn't get mangl
[runtimes] Use int main(int, char**) consistently in testsThis is needed when running the tests in Freestanding mode, where main()isn't treated specially. In Freestanding, main() doesn't get mangled asextern "C", so whatever runtime we're using fails to find the entry point.One way to solve this problem is to define a symbol alias from __Z4mainiPPcto _main, however this requires all definitions of main() to have the samemangling. Hence this commit.
[libc++] Fix tests on GCC 10Also, remove workarounds for ancient Clangs from is_constructible tests.
[libc++] Implement P0551Make sure we satisfy the requirements added by P0551, and add tests toenforce that.