[libcxx] [test] Don't look for the literal spelling __mbstate_t in warnings

While the code uses the type name `std::mbstate_t`, the warning message
mentions the original underlying type, which is a C library internal
type name.

On Windows this type is called `_Mbstatet` instead of `__mbstate_t`. Use
expect-warning-re to avoid spelling out the literal name of the type.

Due to issues with the detection of the clang-verify feature, these
tests have been skipped in the Windows CI configuration so far.

Differential Revision: https://reviews.llvm.org/D103309
This commit is contained in:
Martin Storsjö 2021-05-28 09:55:44 +00:00
parent aa00b1d763
commit b48a256e9c
4 changed files with 12 additions and 4 deletions

View File

@ -20,7 +20,9 @@
int main(int, char **)
{
with_public_dtor<std::codecvt_byname<char16_t, char, std::mbstate_t>> cvt("", 0); // expected-warning {{'codecvt_byname<char16_t, char, __mbstate_t>' is deprecated}}
// Don't test for the exact type since the underlying type of
// std::mbstate_t depends on implementation details.
with_public_dtor<std::codecvt_byname<char16_t, char, std::mbstate_t>> cvt("", 0); // expected-warning-re {{'codecvt_byname<char16_t, char, {{.*}}>' is deprecated}}
(void)cvt;
return 0;

View File

@ -20,7 +20,9 @@
int main(int, char **)
{
with_public_dtor<std::codecvt_byname<char32_t, char, std::mbstate_t>> cvt("", 0); // expected-warning {{'codecvt_byname<char32_t, char, __mbstate_t>' is deprecated}}
// Don't test for the exact type since the underlying type of
// std::mbstate_t depends on implementation details.
with_public_dtor<std::codecvt_byname<char32_t, char, std::mbstate_t>> cvt("", 0); // expected-warning-re {{'codecvt_byname<char32_t, char, {{.*}}>' is deprecated}}
(void)cvt;
return 0;

View File

@ -20,7 +20,9 @@
int main(int, char **)
{
with_public_dtor<std::codecvt<char16_t, char, std::mbstate_t>> cvt("", 0); // expected-warning {{'codecvt<char16_t, char, __mbstate_t>' is deprecated}}
// Don't test for the exact type since the underlying type of
// std::mbstate_t depends on implementation details.
with_public_dtor<std::codecvt<char16_t, char, std::mbstate_t>> cvt("", 0); // expected-warning-re {{'codecvt<char16_t, char, {{.*}}>' is deprecated}}
(void)cvt;
return 0;

View File

@ -20,7 +20,9 @@
int main(int, char **)
{
with_public_dtor<std::codecvt<char32_t, char, std::mbstate_t>> cvt("", 0); // expected-warning {{'codecvt<char32_t, char, __mbstate_t>' is deprecated}}
// Don't test for the exact type since the underlying type of
// std::mbstate_t depends on implementation details.
with_public_dtor<std::codecvt<char32_t, char, std::mbstate_t>> cvt("", 0); // expected-warning-re {{'codecvt<char32_t, char, {{.*}}>' is deprecated}}
(void)cvt;
return 0;