diff options
Diffstat (limited to 'gnome-extra')
-rw-r--r-- | gnome-extra/cjs/files/cjs-5.6.1-clang15.patch | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/gnome-extra/cjs/files/cjs-5.6.1-clang15.patch b/gnome-extra/cjs/files/cjs-5.6.1-clang15.patch deleted file mode 100644 index 43439e6f2c2a..000000000000 --- a/gnome-extra/cjs/files/cjs-5.6.1-clang15.patch +++ /dev/null @@ -1,50 +0,0 @@ -https://bugs.gentoo.org/905430 -https://github.com/linuxmint/cjs/issues/115 -https://gitlab.gnome.org/GNOME/gjs/-/issues/514 -https://gitlab.gnome.org/GNOME/gjs/-/commit/9b11ed0ba70718a8b1983126563cea58658a808f - -From f93880c356108cfdbc8f9ebe318d18f256d7128d Mon Sep 17 00:00:00 2001 -From: Philip Chimento <philip.chimento@gmail.com> -Date: Sat, 5 Nov 2022 18:01:36 -0700 -Subject: [PATCH] tests: Avoid using char type in uniform_int_distribution<T> - template - -This is undefined behaviour. GCC and pre-15.x Clang accept it, so we -didn't notice it before. - -Closes: #514 ---- a/test/gjs-tests.cpp -+++ b/test/gjs-tests.cpp -@@ -55,12 +55,30 @@ static unsigned cpp_random_seed = 0; - - using Gjs::Test::assert_equal; - -+template <typename T> -+struct is_char_helper : public std::false_type {}; -+template <> -+struct is_char_helper<char> : public std::true_type {}; -+template <> -+struct is_char_helper<wchar_t> : public std::true_type {}; -+template <> -+struct is_char_helper<char16_t> : public std::true_type {}; -+template <> -+struct is_char_helper<char32_t> : public std::true_type {}; -+template <typename T> -+struct is_char : public is_char_helper<std::remove_cv_t<T>>::type {}; -+template <typename T> -+inline constexpr bool is_char_v = is_char<T>::value; -+ - template <typename T> - T get_random_number() { - std::mt19937_64 gen(cpp_random_seed); - - if constexpr (std::is_same_v<T, bool>) { - return g_random_boolean(); -+ } else if constexpr (is_char_v<T>) { -+ return std::char_traits<T>::to_char_type( -+ get_random_number<typename std::char_traits<T>::int_type>()); - } else if constexpr (std::is_integral_v<T>) { - T lowest_value = std::numeric_limits<T>::lowest(); - --- -GitLab |