Author: ericwf Date: Sat Sep 3 19:48:54 2016 New Revision: 280608 URL: http://llvm.org/viewvc/llvm-project?rev=280608&view=rev Log: Fix bad locale test data when using the newest glibc
Modified: libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp libcxx/trunk/test/support/test_macros.h Modified: libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp?rev=280608&r1=280607&r2=280608&view=diff ============================================================================== --- libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp (original) +++ libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp Sat Sep 3 19:48:54 2016 @@ -24,6 +24,7 @@ #include <limits> #include <cassert> +#include "test_macros.h" #include "platform_support.h" // locale name macros class Fnf @@ -113,7 +114,14 @@ int main() { Fnf f(LOCALE_ru_RU_UTF_8, 1); + // GLIBC <= 2.23 uses currency_symbol="<U0440><U0443><U0431>" + // GLIBC >= 2.24 uses currency_symbol="<U20BD>" + // See also: http://www.fileformat.info/info/unicode/char/20bd/index.htm +#if defined(TEST_GLIBC_PREREQ) && TEST_GLIBC_PREREQ(2, 24) + assert(f.curr_symbol() == " \xE2\x82\xBD"); +#else assert(f.curr_symbol() == " \xD1\x80\xD1\x83\xD0\xB1"); +#endif } { Fnt f(LOCALE_ru_RU_UTF_8, 1); Modified: libcxx/trunk/test/support/test_macros.h URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/test_macros.h?rev=280608&r1=280607&r2=280608&view=diff ============================================================================== --- libcxx/trunk/test/support/test_macros.h (original) +++ libcxx/trunk/test/support/test_macros.h Sat Sep 3 19:48:54 2016 @@ -62,6 +62,13 @@ #endif #endif +// Attempt to deduce GCC version +#if defined(_LIBCPP_VERSION) && __has_include(<features.h>) +#include <features.h> +#define TEST_HAS_GLIBC +#define TEST_GLIBC_PREREQ(major, minor) __GLIBC_PREREQ(major, minor) +#endif + /* Features that were introduced in C++14 */ #if TEST_STD_VER >= 14 #define TEST_HAS_EXTENDED_CONSTEXPR _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits