This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: glibc 2.3.1: fix for the i386 inline strings code


The lack of parens around macro arguments was rampant in
sysdeps/i386/i486/bits/string.h, and I fixed that.  

I've also added a test case to string/tester.c that is perfectly valid C
(using void *) but barfs in the inline case, as you cited.

The problems stem from all these "sizeof((s)[0]) == 1" expressions in the
__builtin_constant_p-true branch of the macros.  This appears frequently,
and it makes no sense to me.  If the macro has correct function-like
behavior, the arguments in question are all already cast to char * (or
const char *), and so the test is always true.  I can't figure what it was
intended for.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]