[PATCH v2] ctype: use less short names in public header
Brian Inglis
Brian.Inglis@SystematicSw.ab.ca
Sat Nov 20 20:08:50 GMT 2021
On 2021-11-12 03:27, Corinna Vinschen wrote:
> On Nov 11 17:28, Mike Frysinger wrote:
>> On 11 Nov 2021 11:35, Corinna Vinschen wrote:
>>> On Nov 10 20:37, Mike Frysinger wrote:
>>>> 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.
>>>> ---
>>>> 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(-)
>>>
>>> Good idea to move the _X macros to ctype_.h :) Please push.
>>
>> i pushed this since it's standalone now. not sure if you're also saying
>> "define _COMPILING_NEWLIB for all targets when compiling" is OK, so i haven't
>> pushed that yet.
>
> Oh, that was implicitly clear to me, given the original dependency.
> So, yeah, please push.
+1
I've got a package build *NOT* failing with a redefinition of a couple
of those short symbols to macros!
I will remind the author of the reserved symbols issue, and submit an
upstream patch.
I will also report not failing as an upstream gcc error, as I don't
think the compiler should just warn about those types of redefinitions.
But it would be good to see those short symbols lengthened and hidden
from normal usage, as I have also seen those kinds of short symbols _?
used as parameter and argument names in various sources.
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]
More information about the Newlib
mailing list