+2018-12-18 Bruno Haible <bruno@clisp.org>
+
+ duplocale: Avoid test failure on AIX 7.
+ * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
+ (configure.ac): Invoke gt_FUNC_USELOCALE.
+ * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
+ HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
+ works.
+
2018-12-18 Bruno Haible <bruno@clisp.org>
localename: Fix test failure on AIX 7.
tests/test-duplocale.c
tests/signature.h
tests/macros.h
+m4/intl-thread-locale.m4
Depends-on:
langinfo
configure.ac:
-AC_CHECK_FUNCS_ONCE([duplocale uselocale strfmon_l snprintf_l nl_langinfo_l])
+AC_CHECK_FUNCS_ONCE([duplocale strfmon_l snprintf_l nl_langinfo_l])
AC_CHECK_HEADERS_ONCE([monetary.h])
+gt_FUNC_USELOCALE
Makefile.am:
TESTS += test-duplocale
/* result->time is usually "janvier" */
}
-#if HAVE_USELOCALE
+#if HAVE_WORKING_USELOCALE
static int
test_with_uselocale (void)
#endif
-#if HAVE_STRFMON_L || HAVE_SNPRINTF_L || HAVE_NL_LANGINFO_L
+#if HAVE_STRFMON_L || HAVE_SNPRINTF_L || (HAVE_NL_LANGINFO_L && HAVE_WORKING_USELOCALE)
static void
get_locale_dependent_values_from (struct locale_dependent_values *result, locale_t locale)
"%g", 3.5);
/* result->numeric is usually "3,5" */
#endif
-#if HAVE_NL_LANGINFO_L
+#if HAVE_NL_LANGINFO_L && HAVE_WORKING_USELOCALE
strcpy (result->time, nl_langinfo_l (MON_1, locale));
/* result->time is usually "janvier" */
#endif
#if HAVE_SNPRINTF_L
ASSERT (strcmp (results.numeric, expected_results.numeric) == 0);
#endif
-#if HAVE_NL_LANGINFO_L
+#if HAVE_NL_LANGINFO_L && HAVE_WORKING_USELOCALE
ASSERT (strcmp (results.time, expected_results.time) == 0);
#endif
}
main ()
{
int skipped = 0;
-#if HAVE_USELOCALE
+#if HAVE_WORKING_USELOCALE
skipped |= test_with_uselocale ();
#endif
-#if HAVE_STRFMON_L || HAVE_SNPRINTF_L || HAVE_NL_LANGINFO_L
+#if HAVE_STRFMON_L || HAVE_SNPRINTF_L || (HAVE_NL_LANGINFO_L && HAVE_WORKING_USELOCALE)
skipped |= test_with_locale_parameter ();
#endif