glibc/string
Brooks Moses 3f637079f5 Define __CORRECT_ISO_CPP_STRING_H_PROTO correctly for Clang.
In the string/string.h and string/strings.h headers, we have a couple
of macros that "tell the caller that we provide correct C++
prototypes" according to the comment; they are used to determine
whether to wrap some prototypes in "extern "C++"" (and provide
multiple overloads of them, and some other magic) when __cplusplus is
defined.

The macros are set to check for sufficiently-recent GCC versions (4.4
and later), but this is not the right check for non-GCC compilers.  In
particular, these macros should also be set when using Clang -- if
they are not set, then Clang will be unable to correctly diagnose a
number of subtle bugs that will be errors in GCC compilations.

As per discussion on earlier versions of this patch, rather than
restrict the fix to Clang per se, we assume that all C++ compilers that
claim to fully support C++98 are using a standard-conforming C++
standard library, which seems pretty reasonable.  Clang has been
providing an appropriate value of __cplusplus since May 2012.
2013-12-23 15:50:54 -08:00
..
bits Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
Depend Update. 2001-03-19 21:40:15 +00:00
Makefile Remove duplicate ifunc tests. 2013-11-26 12:58:28 +01:00
Versions Sort Versions files 2013-02-17 16:34:04 +01:00
_strerror.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz-addsep.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz-append.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz-count.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz-create.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz-ctsep.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz-delete.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz-extract.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz-insert.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz-next.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz-replace.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz-stringify.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
argz.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
basename.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
bcopy.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
bug-envz1.c * string/Makefile (tests): Add bug-envz1. 2006-06-04 16:36:04 +00:00
bug-strcoll1.c Update. 2001-04-26 20:45:18 +00:00
bug-strncat1.c * malloc/memusagestat.c (main): Use return instead of exit to 2000-12-31 10:52:32 +00:00
bug-strpbrk1.c * malloc/memusagestat.c (main): Use return instead of exit to 2000-12-31 10:52:32 +00:00
bug-strspn1.c * malloc/memusagestat.c (main): Use return instead of exit to 2000-12-31 10:52:32 +00:00
bug-strtok1.c [BZ #2126] 2006-01-10 00:25:07 +00:00
byteswap.h Remove __GLIBC_HAVE_LONG_LONG. 2013-01-11 21:13:25 +00:00
bzero.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
endian.h Remove __GLIBC_HAVE_LONG_LONG. 2013-01-11 21:13:25 +00:00
envz.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
envz.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ffs.c Make __ffs hidden 2013-09-20 21:25:31 +02:00
ffsll.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
inl-tester.c Update. 1997-09-11 12:09:10 +00:00
memccpy.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
memchr.c PowerPC: multiarch memchr for PowerPC32 2013-12-06 05:47:00 -06:00
memcmp.c PowerPC: multirach memcmp for PowerPC64 2013-12-13 14:32:31 -05:00
memcpy.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
memfrob.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
memmem.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
memmove.c Fix loop construction to functions calls 2013-06-20 19:42:05 -05:00
memory.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
mempcpy.c PowerPC: multiarch mempcpy for PowerPC32 2013-12-06 05:46:59 -06:00
memrchr.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
memset.c Fix loop construction to functions calls 2013-06-20 19:42:05 -05:00
noinl-tester.c Update. 1997-09-16 00:42:43 +00:00
rawmemchr.c PowerPC: multiarch rawmemchr for PowerPC32 2013-12-06 05:47:00 -06:00
stpcpy.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
stpncpy.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
str-two-way.h Fix typo, improve comment, remove superfluous #undefs, add missing #undef. 2013-02-12 00:00:49 +01:00
stratcliff.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strcasecmp.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strcasecmp_l.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strcasestr.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strcat.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strchr.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strchrnul.c PowerPC: multiarch strchrnul for PowerPC32 2013-12-06 05:47:01 -06:00
strcmp.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
strcoll.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strcoll_l.c Fix build on hurd 2013-11-10 11:22:32 +01:00
strcpy.c Remove __ptrvalue, __bounded and __unbounded. 2013-02-13 23:30:40 +00:00
strcspn.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strdup.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strerror.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strerror_l.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strfry.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
string-inlines.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
string.h Define __CORRECT_ISO_CPP_STRING_H_PROTO correctly for Clang. 2013-12-23 15:50:54 -08:00
strings.h Define __CORRECT_ISO_CPP_STRING_H_PROTO correctly for Clang. 2013-12-23 15:50:54 -08:00
strlen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strncase.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strncase_l.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strncat.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strncmp.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strncpy.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strndup.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strnlen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strpbrk.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strrchr.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
strsep.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strsignal.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strspn.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strstr.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strtok.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strtok_r.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strverscmp.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strxfrm.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strxfrm_l.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
swab.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-bcopy.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-bzero.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-ffs.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-memccpy.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-memchr.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-memcmp.c Add a test for BZ #15674 2013-06-26 15:23:08 -07:00
test-memcpy.c string/test-memcpy error reporting 2013-10-04 10:42:02 +09:30
test-memmem.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-memmove.c Fix loop construction to functions calls 2013-06-20 19:42:05 -05:00
test-mempcpy.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-memrchr.c Add memrchr testcase 2013-09-05 09:52:08 -03:00
test-memset.c Fix loop construction to functions calls 2013-06-20 19:42:05 -05:00
test-rawmemchr.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-stpcpy.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-stpncpy.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-strcasecmp.c Fix missing declaration of LC_CTYPE nonascii-case element 2013-08-27 12:21:12 +02:00
test-strcasestr.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strcat.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strchr.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strchrnul.c Add copyright header to test-strchrnul.c 2013-06-04 16:40:55 +05:30
test-strcmp.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strcpy.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strcspn.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-string.h Remove duplicate ifunc tests. 2013-11-26 12:58:28 +01:00
test-strlen.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strncasecmp.c Fix missing declaration of LC_CTYPE nonascii-case element 2013-08-27 12:21:12 +02:00
test-strncat.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strncmp.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strncpy.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strnlen.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strpbrk.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strrchr.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strspn.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
test-strstr.c Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
testcopy.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tester.c string/tester memrchr test 2013-10-04 10:42:15 +09:30
tst-bswap.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tst-endian.c Add #include <stdint.h> for uint[32|64]_t usage (except installed headers). 2013-05-16 11:32:54 -05:00
tst-inlcall.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tst-strcoll-overflow.c Check for integer overflow in cache size computation in strcoll 2013-09-23 11:29:53 +05:30
tst-strfry.c * stdlib/random_r.c (__initstate_r): Don't use non-existing state. 2005-04-12 15:29:07 +00:00
tst-strlen.c Add optimized x86-64 implementation of strnlen. 2010-07-26 08:37:08 -07:00
tst-strtok.c Update. 2001-02-22 13:46:25 +00:00
tst-strtok_r.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tst-strxfrm.c 2002-08-29 Roland McGrath <roland@redhat.com> 2002-08-29 09:26:30 +00:00
tst-strxfrm2.c * string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimization 2006-11-10 15:20:59 +00:00
tst-svc.c * malloc/memusagestat.c (main): Use return instead of exit to 2000-12-31 10:52:32 +00:00
tst-svc.expect * string/strverscmp.c (__strverscmp): Fix last cleanups. 2009-04-07 06:51:59 +00:00
tst-svc.input * string/strverscmp.c (__strverscmp): Fix last cleanups. 2009-04-07 06:51:59 +00:00
tst-svc2.c [BZ #9893] 2009-03-14 23:57:33 +00:00
wordcopy.c PowerPC: multiarch wordcopy for PowerPC64 2013-12-13 14:54:08 -05:00
xpg-strerror.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00