forked from rpms/glibc
c0a7313e92
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/glibc.git#40ad858c64f2a5eb509c81e29d63a1ad65c86256
53 lines
1.7 KiB
Diff
53 lines
1.7 KiB
Diff
commit 8d4241b8976273513e72cc1c5f6b1af3e11f0792
|
|
Author: Florian Weimer <fweimer@redhat.com>
|
|
Date: Fri Feb 19 13:29:00 2021 +0100
|
|
|
|
string: Work around GCC PR 98512 in rawmemchr
|
|
|
|
(cherry picked from commit 044e603b698093cf48f6e6229e0b66acf05227e4)
|
|
|
|
diff --git a/string/rawmemchr.c b/string/rawmemchr.c
|
|
index 59bbeeaa42e51056..b8523118e5b3586e 100644
|
|
--- a/string/rawmemchr.c
|
|
+++ b/string/rawmemchr.c
|
|
@@ -22,24 +22,28 @@
|
|
# define RAWMEMCHR __rawmemchr
|
|
#endif
|
|
|
|
-/* Find the first occurrence of C in S. */
|
|
-void *
|
|
-RAWMEMCHR (const void *s, int c)
|
|
-{
|
|
- DIAG_PUSH_NEEDS_COMMENT;
|
|
+/* The pragmata should be nested inside RAWMEMCHR below, but that
|
|
+ triggers GCC PR 98512. */
|
|
+DIAG_PUSH_NEEDS_COMMENT;
|
|
#if __GNUC_PREREQ (7, 0)
|
|
- /* GCC 8 warns about the size passed to memchr being larger than
|
|
- PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */
|
|
- DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow=");
|
|
+/* GCC 8 warns about the size passed to memchr being larger than
|
|
+ PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */
|
|
+DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow=");
|
|
#endif
|
|
#if __GNUC_PREREQ (11, 0)
|
|
- /* Likewise GCC 11, with a different warning option. */
|
|
- DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread");
|
|
+/* Likewise GCC 11, with a different warning option. */
|
|
+DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread");
|
|
#endif
|
|
+
|
|
+/* Find the first occurrence of C in S. */
|
|
+void *
|
|
+RAWMEMCHR (const void *s, int c)
|
|
+{
|
|
if (c != '\0')
|
|
return memchr (s, c, (size_t)-1);
|
|
- DIAG_POP_NEEDS_COMMENT;
|
|
return (char *)s + strlen (s);
|
|
}
|
|
libc_hidden_def (__rawmemchr)
|
|
weak_alias (__rawmemchr, rawmemchr)
|
|
+
|
|
+DIAG_POP_NEEDS_COMMENT;
|