aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2024-10-09 14:24:19 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2024-10-11 07:52:36 +0100
commitcb0988a659cef6324887018b9066c5f81b558832 (patch)
tree9f2071dfdeff8e9af91a6d70d622b373678a0432
parent36b9c5e6f3301d3d0165f578d020dcd350cd516d (diff)
downloadgcc-cb0988a659cef6324887018b9066c5f81b558832.zip
gcc-cb0988a659cef6324887018b9066c5f81b558832.tar.gz
gcc-cb0988a659cef6324887018b9066c5f81b558832.tar.bz2
libstdc++: Fix some test failures with -fno-char8_t
libstdc++-v3/ChangeLog: * testsuite/20_util/duration/io.cc [!__cpp_lib_char8_t]: Define char8_t as a typedef for unsigned char. * testsuite/std/format/parse_ctx_neg.cc: Skip for -fno-char8_t.
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/io.cc10
-rw-r--r--libstdc++-v3/testsuite/std/format/parse_ctx_neg.cc1
2 files changed, 9 insertions, 2 deletions
diff --git a/libstdc++-v3/testsuite/20_util/duration/io.cc b/libstdc++-v3/testsuite/20_util/duration/io.cc
index 383fb60..0117673 100644
--- a/libstdc++-v3/testsuite/20_util/duration/io.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/io.cc
@@ -5,6 +5,10 @@
#include <sstream>
#include <testsuite_hooks.h>
+#ifndef __cpp_lib_char8_t
+using char8_t = unsigned char; // Prevent errors if -fno-char8_t is used.
+#endif
+
void
test01()
{
@@ -173,12 +177,14 @@ test_format()
#if __cplusplus > 202002L
static_assert( ! std::formattable<std::chrono::duration<wchar_t>, char> );
- static_assert( ! std::formattable<std::chrono::duration<char8_t>, char> );
static_assert( ! std::formattable<std::chrono::duration<char16_t>, char> );
static_assert( ! std::formattable<std::chrono::duration<char32_t>, char> );
- static_assert( ! std::formattable<std::chrono::duration<char8_t>, wchar_t> );
static_assert( ! std::formattable<std::chrono::duration<char16_t>, wchar_t> );
static_assert( ! std::formattable<std::chrono::duration<char32_t>, wchar_t> );
+#ifdef __cpp_lib_char8_t
+ static_assert( ! std::formattable<std::chrono::duration<char8_t>, char> );
+ static_assert( ! std::formattable<std::chrono::duration<char8_t>, wchar_t> );
+#endif
#endif
}
diff --git a/libstdc++-v3/testsuite/std/format/parse_ctx_neg.cc b/libstdc++-v3/testsuite/std/format/parse_ctx_neg.cc
index d6a4366..f19107c 100644
--- a/libstdc++-v3/testsuite/std/format/parse_ctx_neg.cc
+++ b/libstdc++-v3/testsuite/std/format/parse_ctx_neg.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++26 } }
+// { dg-skip-if "" { *-*-* } { "-fno-char8_t" } }
#include <format>