From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1521) id 840173858410; Thu, 11 Nov 2021 22:27:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 840173858410 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Michael Frysinger To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] ctype: use less short names in public header X-Act-Checkin: newlib-cygwin X-Git-Author: Mike Frysinger X-Git-Refname: refs/heads/master X-Git-Oldrev: 88c9008bb2a7377722968d3ec738ac44ceea8665 X-Git-Newrev: 3ba1bd0d9dbc015c14a0aaafcef042f706d1249a Message-Id: <20211111222705.840173858410@sourceware.org> Date: Thu, 11 Nov 2021 22:27:05 +0000 (GMT) X-BeenThere: newlib-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib GIT logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Nov 2021 22:27:05 -0000 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=3ba1bd0d9dbc015c14a0aaafcef042f706d1249a commit 3ba1bd0d9dbc015c14a0aaafcef042f706d1249a Author: Mike Frysinger Date: Mon Nov 8 19:28:16 2021 -0500 ctype: use less short names in public header We're seeing a build failure in GNU sim code which is using _P locally but the ctype.h define clashes with it. Rename these to use the same symbols that glibc does. They're a bit more verbose, but seems likely that we'll have fewer conflicts if glibc isn't seeing them. However, these shortnames are still used internally by ctype modules to produce pretty concise source code, so move the short names to the internal ctype_.h where short name conflicts shouldn't show up. Diff: --- newlib/libc/ctype/ctype_.h | 10 +++++++ newlib/libc/ctype/isalnum.c | 2 +- newlib/libc/ctype/isalnum_l.c | 2 +- newlib/libc/ctype/isalpha.c | 2 +- newlib/libc/ctype/isalpha_l.c | 2 +- newlib/libc/ctype/isblank.c | 2 +- newlib/libc/ctype/isblank_l.c | 2 +- newlib/libc/ctype/iscntrl.c | 2 +- newlib/libc/ctype/iscntrl_l.c | 2 +- newlib/libc/ctype/isdigit.c | 2 +- newlib/libc/ctype/isdigit_l.c | 2 +- newlib/libc/ctype/islower.c | 2 +- newlib/libc/ctype/islower_l.c | 2 +- newlib/libc/ctype/isprint.c | 4 +-- newlib/libc/ctype/isprint_l.c | 4 +-- newlib/libc/ctype/ispunct.c | 2 +- newlib/libc/ctype/ispunct_l.c | 2 +- newlib/libc/ctype/isspace.c | 2 +- newlib/libc/ctype/isspace_l.c | 2 +- newlib/libc/ctype/isupper.c | 2 +- newlib/libc/ctype/isupper_l.c | 2 +- newlib/libc/ctype/isxdigit.c | 2 +- newlib/libc/ctype/isxdigit_l.c | 2 +- newlib/libc/include/ctype.h | 67 ++++++++++++++++++++++-------------------- 24 files changed, 69 insertions(+), 56 deletions(-) diff --git a/newlib/libc/ctype/ctype_.h b/newlib/libc/ctype/ctype_.h index a73870b3e..42ad2c870 100644 --- a/newlib/libc/ctype/ctype_.h +++ b/newlib/libc/ctype/ctype_.h @@ -1,5 +1,15 @@ #include +/* Define some short names to keep internal files shorter. */ +#define _U _ISupper +#define _L _ISlower +#define _N _ISdigit +#define _S _ISspace +#define _P _ISpunct +#define _C _IScntrl +#define _X _ISxdigit +#define _B _ISblank + #if (defined(__GNUC__) && !defined(__CHAR_UNSIGNED__) && !defined(COMPACT_CTYPE)) || defined (__CYGWIN__) #define ALLOW_NEGATIVE_CTYPE_INDEX #endif diff --git a/newlib/libc/ctype/isalnum.c b/newlib/libc/ctype/isalnum.c index d926f97b7..3ddf0d2e1 100644 --- a/newlib/libc/ctype/isalnum.c +++ b/newlib/libc/ctype/isalnum.c @@ -46,5 +46,5 @@ No OS subroutines are required. int isalnum (int c) { - return(__CTYPE_PTR[c+1] & (_U|_L|_N)); + return(__CTYPE_PTR[c+1] & (_ISupper|_ISlower|_ISdigit)); } diff --git a/newlib/libc/ctype/isalnum_l.c b/newlib/libc/ctype/isalnum_l.c index dcb7e3652..e3587f1b2 100644 --- a/newlib/libc/ctype/isalnum_l.c +++ b/newlib/libc/ctype/isalnum_l.c @@ -6,5 +6,5 @@ int isalnum_l (int c, struct __locale_t *locale) { - return __locale_ctype_ptr_l (locale)[c+1] & (_U|_L|_N); + return __locale_ctype_ptr_l (locale)[c+1] & (_ISupper|_ISlower|_ISdigit); } diff --git a/newlib/libc/ctype/isalpha.c b/newlib/libc/ctype/isalpha.c index 8b8e78a29..c8de62cea 100644 --- a/newlib/libc/ctype/isalpha.c +++ b/newlib/libc/ctype/isalpha.c @@ -45,5 +45,5 @@ No supporting OS subroutines are required. int isalpha (int c) { - return(__CTYPE_PTR[c+1] & (_U|_L)); + return(__CTYPE_PTR[c+1] & (_ISupper|_ISlower)); } diff --git a/newlib/libc/ctype/isalpha_l.c b/newlib/libc/ctype/isalpha_l.c index dcae3ccb4..6ff1e3b68 100644 --- a/newlib/libc/ctype/isalpha_l.c +++ b/newlib/libc/ctype/isalpha_l.c @@ -6,5 +6,5 @@ int isalpha_l (int c, struct __locale_t *locale) { - return __locale_ctype_ptr_l (locale)[c+1] & (_U|_L); + return __locale_ctype_ptr_l (locale)[c+1] & (_ISupper|_ISlower); } diff --git a/newlib/libc/ctype/isblank.c b/newlib/libc/ctype/isblank.c index 0ebc2192c..2fa29f33f 100644 --- a/newlib/libc/ctype/isblank.c +++ b/newlib/libc/ctype/isblank.c @@ -44,5 +44,5 @@ No supporting OS subroutines are required. int isblank (int c) { - return ((__CTYPE_PTR[c+1] & _B) || (c == '\t')); + return ((__CTYPE_PTR[c+1] & _ISblank) || (c == '\t')); } diff --git a/newlib/libc/ctype/isblank_l.c b/newlib/libc/ctype/isblank_l.c index 8bbb84e1f..6aff2f7fc 100644 --- a/newlib/libc/ctype/isblank_l.c +++ b/newlib/libc/ctype/isblank_l.c @@ -6,5 +6,5 @@ int isblank_l (int c, struct __locale_t *locale) { - return (__locale_ctype_ptr_l (locale)[c+1] & _B) || (c == '\t'); + return (__locale_ctype_ptr_l (locale)[c+1] & _ISblank) || (c == '\t'); } diff --git a/newlib/libc/ctype/iscntrl.c b/newlib/libc/ctype/iscntrl.c index ebbdd7371..bd99ebafb 100644 --- a/newlib/libc/ctype/iscntrl.c +++ b/newlib/libc/ctype/iscntrl.c @@ -48,5 +48,5 @@ No supporting OS subroutines are required. int iscntrl (int c) { - return(__CTYPE_PTR[c+1] & _C); + return(__CTYPE_PTR[c+1] & _IScntrl); } diff --git a/newlib/libc/ctype/iscntrl_l.c b/newlib/libc/ctype/iscntrl_l.c index 0ae17c7f7..85f4d6900 100644 --- a/newlib/libc/ctype/iscntrl_l.c +++ b/newlib/libc/ctype/iscntrl_l.c @@ -6,5 +6,5 @@ int iscntrl_l (int c, struct __locale_t *locale) { - return __locale_ctype_ptr_l (locale)[c+1] & _C; + return __locale_ctype_ptr_l (locale)[c+1] & _IScntrl; } diff --git a/newlib/libc/ctype/isdigit.c b/newlib/libc/ctype/isdigit.c index a5c511964..911781df3 100644 --- a/newlib/libc/ctype/isdigit.c +++ b/newlib/libc/ctype/isdigit.c @@ -47,5 +47,5 @@ No supporting OS subroutines are required. int isdigit (int c) { - return(__CTYPE_PTR[c+1] & _N); + return(__CTYPE_PTR[c+1] & _ISdigit); } diff --git a/newlib/libc/ctype/isdigit_l.c b/newlib/libc/ctype/isdigit_l.c index 1fb79e000..6e24c100c 100644 --- a/newlib/libc/ctype/isdigit_l.c +++ b/newlib/libc/ctype/isdigit_l.c @@ -6,5 +6,5 @@ int isdigit_l (int c, struct __locale_t *locale) { - return __locale_ctype_ptr_l (locale)[c+1] & _N; + return __locale_ctype_ptr_l (locale)[c+1] & _ISdigit; } diff --git a/newlib/libc/ctype/islower.c b/newlib/libc/ctype/islower.c index 2b3440489..c45c6c8ad 100644 --- a/newlib/libc/ctype/islower.c +++ b/newlib/libc/ctype/islower.c @@ -45,5 +45,5 @@ No supporting OS subroutines are required. int islower (int c) { - return ((__CTYPE_PTR[c+1] & (_U|_L)) == _L); + return ((__CTYPE_PTR[c+1] & (_ISupper|_ISlower)) == _ISlower); } diff --git a/newlib/libc/ctype/islower_l.c b/newlib/libc/ctype/islower_l.c index d1f3a82d8..1c66ab48b 100644 --- a/newlib/libc/ctype/islower_l.c +++ b/newlib/libc/ctype/islower_l.c @@ -6,5 +6,5 @@ int islower_l (int c, struct __locale_t *locale) { - return (__locale_ctype_ptr_l (locale)[c+1] & (_U|_L)) == _L; + return (__locale_ctype_ptr_l (locale)[c+1] & (_ISupper|_ISlower)) == _ISlower; } diff --git a/newlib/libc/ctype/isprint.c b/newlib/libc/ctype/isprint.c index e34fbe28a..7206047fb 100644 --- a/newlib/libc/ctype/isprint.c +++ b/newlib/libc/ctype/isprint.c @@ -59,7 +59,7 @@ No supporting OS subroutines are required. int isgraph (int c) { - return(__CTYPE_PTR[c+1] & (_P|_U|_L|_N)); + return(__CTYPE_PTR[c+1] & (_ISpunct|_ISupper|_ISlower|_ISdigit)); } @@ -67,5 +67,5 @@ isgraph (int c) int isprint (int c) { - return(__CTYPE_PTR[c+1] & (_P|_U|_L|_N|_B)); + return(__CTYPE_PTR[c+1] & (_ISpunct|_ISupper|_ISlower|_ISdigit|_ISblank)); } diff --git a/newlib/libc/ctype/isprint_l.c b/newlib/libc/ctype/isprint_l.c index 535504f14..3efaa2f90 100644 --- a/newlib/libc/ctype/isprint_l.c +++ b/newlib/libc/ctype/isprint_l.c @@ -6,7 +6,7 @@ int isgraph_l (int c, struct __locale_t *locale) { - return __locale_ctype_ptr_l (locale)[c+1] & (_P|_U|_L|_N); + return __locale_ctype_ptr_l (locale)[c+1] & (_ISpunct|_ISupper|_ISlower|_ISdigit); } #undef isprint_l @@ -14,5 +14,5 @@ isgraph_l (int c, struct __locale_t *locale) int isprint_l (int c, struct __locale_t *locale) { - return __locale_ctype_ptr_l (locale)[c+1] & (_P|_U|_L|_N|_B); + return __locale_ctype_ptr_l (locale)[c+1] & (_ISpunct|_ISupper|_ISlower|_ISdigit|_ISblank); } diff --git a/newlib/libc/ctype/ispunct.c b/newlib/libc/ctype/ispunct.c index 9c5a3fcca..35f7cc2d4 100644 --- a/newlib/libc/ctype/ispunct.c +++ b/newlib/libc/ctype/ispunct.c @@ -47,5 +47,5 @@ No supporting OS subroutines are required. int ispunct (int c) { - return(__CTYPE_PTR[c+1] & _P); + return(__CTYPE_PTR[c+1] & _ISpunct); } diff --git a/newlib/libc/ctype/ispunct_l.c b/newlib/libc/ctype/ispunct_l.c index eeba1f5ae..30c2b48d6 100644 --- a/newlib/libc/ctype/ispunct_l.c +++ b/newlib/libc/ctype/ispunct_l.c @@ -6,6 +6,6 @@ int ispunct_l (int c, struct __locale_t *locale) { - return __locale_ctype_ptr_l (locale)[c+1] & _P; + return __locale_ctype_ptr_l (locale)[c+1] & _ISpunct; } diff --git a/newlib/libc/ctype/isspace.c b/newlib/libc/ctype/isspace.c index 0def2c0ce..8834d1901 100644 --- a/newlib/libc/ctype/isspace.c +++ b/newlib/libc/ctype/isspace.c @@ -46,5 +46,5 @@ No supporting OS subroutines are required. int isspace (int c) { - return(__CTYPE_PTR[c+1] & _S); + return(__CTYPE_PTR[c+1] & _ISspace); } diff --git a/newlib/libc/ctype/isspace_l.c b/newlib/libc/ctype/isspace_l.c index bf4a36c3e..06227c87a 100644 --- a/newlib/libc/ctype/isspace_l.c +++ b/newlib/libc/ctype/isspace_l.c @@ -6,6 +6,6 @@ int isspace_l (int c, struct __locale_t *locale) { - return __locale_ctype_ptr_l (locale)[c+1] & _S; + return __locale_ctype_ptr_l (locale)[c+1] & _ISspace; } diff --git a/newlib/libc/ctype/isupper.c b/newlib/libc/ctype/isupper.c index aeed383ec..7d916d9f3 100644 --- a/newlib/libc/ctype/isupper.c +++ b/newlib/libc/ctype/isupper.c @@ -43,5 +43,5 @@ No supporting OS subroutines are required. int isupper (int c) { - return ((__CTYPE_PTR[c+1] & (_U|_L)) == _U); + return ((__CTYPE_PTR[c+1] & (_ISupper|_ISlower)) == _ISupper); } diff --git a/newlib/libc/ctype/isupper_l.c b/newlib/libc/ctype/isupper_l.c index eb473a7a1..1fdcf1072 100644 --- a/newlib/libc/ctype/isupper_l.c +++ b/newlib/libc/ctype/isupper_l.c @@ -6,6 +6,6 @@ int isupper_l (int c, struct __locale_t *locale) { - return (__locale_ctype_ptr_l (locale)[c+1] & (_U|_L)) == _U; + return (__locale_ctype_ptr_l (locale)[c+1] & (_ISupper|_ISlower)) == _ISupper; } diff --git a/newlib/libc/ctype/isxdigit.c b/newlib/libc/ctype/isxdigit.c index 2bfe18dbf..fb2a59ea8 100644 --- a/newlib/libc/ctype/isxdigit.c +++ b/newlib/libc/ctype/isxdigit.c @@ -46,5 +46,5 @@ No supporting OS subroutines are required. int isxdigit (int c) { - return(__CTYPE_PTR[c+1] & ((_X)|(_N))); + return(__CTYPE_PTR[c+1] & ((_ISxdigit)|(_ISdigit))); } diff --git a/newlib/libc/ctype/isxdigit_l.c b/newlib/libc/ctype/isxdigit_l.c index 726db3190..bbae410c6 100644 --- a/newlib/libc/ctype/isxdigit_l.c +++ b/newlib/libc/ctype/isxdigit_l.c @@ -6,6 +6,6 @@ int isxdigit_l (int c, struct __locale_t *locale) { - return __locale_ctype_ptr_l (locale)[c+1] & ((_X)|(_N)); + return __locale_ctype_ptr_l (locale)[c+1] & ((_ISxdigit)|(_ISdigit)); } diff --git a/newlib/libc/include/ctype.h b/newlib/libc/include/ctype.h index 932a567e2..366b35dc9 100644 --- a/newlib/libc/include/ctype.h +++ b/newlib/libc/include/ctype.h @@ -57,14 +57,17 @@ extern int isascii_l (int __c, locale_t __l); extern int toascii_l (int __c, locale_t __l); #endif -#define _U 01 -#define _L 02 -#define _N 04 -#define _S 010 -#define _P 020 -#define _C 040 -#define _X 0100 -#define _B 0200 +enum +{ + _ISupper = 01, + _ISlower = 02, + _ISdigit = 04, + _ISspace = 010, + _ISpunct = 020, + _IScntrl = 040, + _ISxdigit = 0100, + _ISblank = 0200, +}; /* For C++ backward-compatibility only. */ extern __IMPORT const char _ctype_[]; @@ -89,22 +92,22 @@ const char *__locale_ctype_ptr (void); an out-of-bounds reference on a 64-bit machine. */ #define __ctype_lookup(__c) ((__CTYPE_PTR+sizeof(""[__c]))[(int)(__c)]) -#define isalpha(__c) (__ctype_lookup(__c)&(_U|_L)) -#define isupper(__c) ((__ctype_lookup(__c)&(_U|_L))==_U) -#define islower(__c) ((__ctype_lookup(__c)&(_U|_L))==_L) -#define isdigit(__c) (__ctype_lookup(__c)&_N) -#define isxdigit(__c) (__ctype_lookup(__c)&(_X|_N)) -#define isspace(__c) (__ctype_lookup(__c)&_S) -#define ispunct(__c) (__ctype_lookup(__c)&_P) -#define isalnum(__c) (__ctype_lookup(__c)&(_U|_L|_N)) -#define isprint(__c) (__ctype_lookup(__c)&(_P|_U|_L|_N|_B)) -#define isgraph(__c) (__ctype_lookup(__c)&(_P|_U|_L|_N)) -#define iscntrl(__c) (__ctype_lookup(__c)&_C) +#define isalpha(__c) (__ctype_lookup(__c) & (_ISupper|_ISlower)) +#define isupper(__c) ((__ctype_lookup(__c) & (_ISupper|_ISlower)) == _ISupper) +#define islower(__c) ((__ctype_lookup(__c) & (_ISupper|_ISlower)) == _ISlower) +#define isdigit(__c) (__ctype_lookup(__c) & _ISdigit) +#define isxdigit(__c) (__ctype_lookup(__c) & (_ISxdigit|_ISdigit)) +#define isspace(__c) (__ctype_lookup(__c) & _ISspace) +#define ispunct(__c) (__ctype_lookup(__c) & _ISpunct) +#define isalnum(__c) (__ctype_lookup(__c) & (_ISupper|_ISlower|_ISdigit)) +#define isprint(__c) (__ctype_lookup(__c) & (_ISpunct|_ISupper|_ISlower|_ISdigit|_ISblank)) +#define isgraph(__c) (__ctype_lookup(__c) & (_ISpunct|_ISupper|_ISlower|_ISdigit)) +#define iscntrl(__c) (__ctype_lookup(__c) & _IScntrl) #if defined(__GNUC__) && __ISO_C_VISIBLE >= 1999 #define isblank(__c) \ __extension__ ({ __typeof__ (__c) __x = (__c); \ - (__ctype_lookup(__x)&_B) || (int) (__x) == '\t';}) + (__ctype_lookup(__x)&_ISblank) || (int) (__x) == '\t';}) #endif #if __POSIX_VISIBLE >= 200809 @@ -120,22 +123,22 @@ __locale_ctype_ptr_l(locale_t _l) #endif #define __ctype_lookup_l(__c,__l) ((__locale_ctype_ptr_l(__l)+sizeof(""[__c]))[(int)(__c)]) -#define isalpha_l(__c,__l) (__ctype_lookup_l(__c,__l)&(_U|_L)) -#define isupper_l(__c,__l) ((__ctype_lookup_l(__c,__l)&(_U|_L))==_U) -#define islower_l(__c,__l) ((__ctype_lookup_l(__c,__l)&(_U|_L))==_L) -#define isdigit_l(__c,__l) (__ctype_lookup_l(__c,__l)&_N) -#define isxdigit_l(__c,__l) (__ctype_lookup_l(__c,__l)&(_X|_N)) -#define isspace_l(__c,__l) (__ctype_lookup_l(__c,__l)&_S) -#define ispunct_l(__c,__l) (__ctype_lookup_l(__c,__l)&_P) -#define isalnum_l(__c,__l) (__ctype_lookup_l(__c,__l)&(_U|_L|_N)) -#define isprint_l(__c,__l) (__ctype_lookup_l(__c,__l)&(_P|_U|_L|_N|_B)) -#define isgraph_l(__c,__l) (__ctype_lookup_l(__c,__l)&(_P|_U|_L|_N)) -#define iscntrl_l(__c,__l) (__ctype_lookup_l(__c,__l)&_C) +#define isalpha_l(__c,__l) (__ctype_lookup_l(__c,__l) & (_ISupper|_ISlower)) +#define isupper_l(__c,__l) ((__ctype_lookup_l(__c,__l) & (_ISupper|_ISlower)) == _ISupper) +#define islower_l(__c,__l) ((__ctype_lookup_l(__c,__l) & (_ISupper|_ISlower)) == _ISlower) +#define isdigit_l(__c,__l) (__ctype_lookup_l(__c,__l) & _ISdigit) +#define isxdigit_l(__c,__l) (__ctype_lookup_l(__c,__l) & (_ISxdigit|_ISdigit)) +#define isspace_l(__c,__l) (__ctype_lookup_l(__c,__l) & _ISspace) +#define ispunct_l(__c,__l) (__ctype_lookup_l(__c,__l) & _ISpunct) +#define isalnum_l(__c,__l) (__ctype_lookup_l(__c,__l) & (_ISupper|_ISlower|_ISdigit)) +#define isprint_l(__c,__l) (__ctype_lookup_l(__c,__l) & (_ISpunct|_ISupper|_ISlower|_ISdigit|_ISblank)) +#define isgraph_l(__c,__l) (__ctype_lookup_l(__c,__l) & (_ISpunct|_ISupper|_ISlower|_ISdigit)) +#define iscntrl_l(__c,__l) (__ctype_lookup_l(__c,__l) & _IScntrl) #if defined(__GNUC__) #define isblank_l(__c, __l) \ __extension__ ({ __typeof__ (__c) __x = (__c); \ - (__ctype_lookup_l(__x,__l)&_B) || (int) (__x) == '\t';}) + (__ctype_lookup_l(__x,__l)&_ISblank) || (int) (__x) == '\t';}) #endif #endif /* __POSIX_VISIBLE >= 200809 */