Use _LIBCPP_TEMPLATE_VIS instead of _LIBCPP_TYPE_VIS for a template class.
This fixes the nodiscard_extensions.pass.cpp and a couple func.search.default test cases when built in MSVC/DLL configurations.
Paths
| Differential D99932
[libcxx] Fix the type attribute for a couple templates ClosedPublic Authored by mstorsjo on Apr 6 2021, 1:57 AM.
Details
Summary Use _LIBCPP_TEMPLATE_VIS instead of _LIBCPP_TYPE_VIS for a template class. This fixes the nodiscard_extensions.pass.cpp and a couple func.search.default test cases when built in MSVC/DLL configurations.
Diff Detail
Event TimelineComment Actions Could you fix the same thing in experimental/functional as well when you're here? Comment Actions
Sure
Yes, so it seems. FWIW the experimental library can only be built as a static library, so that's not tested in the current CI setup (but I'm experimenting with extending testing with a static library case as well, which would increase coverage over a few more testcases, and narrow down a number of the existing xfails), but in a static library configuration on windows, both _LIBCPP_TYPE_VIS and _LIBCPP_TEMPLATE_VIS expand to nothing at all, so the distinction isn't quite as easy to pick up on. And I didn't find any test with an XFAIL regarding in_place_index_t, but let's see what another round through the CI says... mstorsjo retitled this revision from [libcxx] Fix the type attribute for the default_searcher template to [libcxx] Fix the type attribute for a couple templates.Apr 6 2021, 4:00 AM This revision is now accepted and ready to land.Apr 6 2021, 8:16 AM This revision was landed with ongoing or failed builds.Apr 6 2021, 9:55 AM Closed by commit rG948dd664c3ed: [libcxx] Fix the type attribute for a couple templates (authored by mstorsjo). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 335466 libcxx/include/experimental/functional
libcxx/include/functional
libcxx/include/utility
libcxx/test/libcxx/diagnostics/nodiscard_extensions.pass.cpp
libcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pass.cpp
libcxx/test/std/utilities/function.objects/func.search/func.search.default/default.pred.pass.cpp
|