From: Florian Weimer Date: Fri, 16 May 2025 17:53:09 +0000 (+0200) Subject: Use proper extern declaration for _nl_C_LC_CTYPE_{class,toupper,tolower} X-Git-Tag: glibc-2.42~240 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e0c0f856f58ceb68800a964c36c15c606e7a8c4c;p=thirdparty%2Fglibc.git Use proper extern declaration for _nl_C_LC_CTYPE_{class,toupper,tolower} The existing initializers already contain explicit casts. Keep them due to int/uint32_t mismatch. Reviewed-by: Frédéric Bérat --- diff --git a/ctype/ctype-info.c b/ctype/ctype-info.c index 8fb08247e3..bb14f1ea3c 100644 --- a/ctype/ctype-info.c +++ b/ctype/ctype-info.c @@ -41,10 +41,7 @@ libc_hidden_def (__ctype_init) #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3) /* Defined in locale/C-ctype.c. */ -extern const char _nl_C_LC_CTYPE_class[] attribute_hidden; extern const char _nl_C_LC_CTYPE_class32[] attribute_hidden; -extern const char _nl_C_LC_CTYPE_toupper[] attribute_hidden; -extern const char _nl_C_LC_CTYPE_tolower[] attribute_hidden; extern const char _nl_C_LC_CTYPE_class_upper[] attribute_hidden; extern const char _nl_C_LC_CTYPE_class_lower[] attribute_hidden; extern const char _nl_C_LC_CTYPE_class_alpha[] attribute_hidden; diff --git a/include/ctype.h b/include/ctype.h index 0f6e7fc7ea..a15e5b6678 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -66,6 +66,11 @@ __ctype_tolower_loc (void) # define __isdigit_l(c, l) ({ int __c = (c); __c >= '0' && __c <= '9'; }) # endif /* Not __NO_CTYPE. */ +/* For use in initializers. */ +extern const char _nl_C_LC_CTYPE_class[] attribute_hidden; +extern const uint32_t _nl_C_LC_CTYPE_toupper[] attribute_hidden; +extern const uint32_t _nl_C_LC_CTYPE_tolower[] attribute_hidden; + # endif /* IS_IN (libc). */ #endif /* Not _ISOMAC. */ diff --git a/locale/xlocale.c b/locale/xlocale.c index 30c094d43a..5e25c0e4b8 100644 --- a/locale/xlocale.c +++ b/locale/xlocale.c @@ -18,18 +18,13 @@ #include #include "localeinfo.h" +#include #define DEFINE_CATEGORY(category, category_name, items, a) \ extern struct __locale_data _nl_C_##category; #include "categories.def" #undef DEFINE_CATEGORY -/* Defined in locale/C-ctype.c. */ -extern const char _nl_C_LC_CTYPE_class[] attribute_hidden; -extern const char _nl_C_LC_CTYPE_toupper[] attribute_hidden; -extern const char _nl_C_LC_CTYPE_tolower[] attribute_hidden; - - const struct __locale_struct _nl_C_locobj attribute_hidden = { .__locales =