[glibc/azanella/clang] nss: Suppress nss_module.c warning on clang

Adhemerval Zanella azanella@sourceware.org
Wed Aug 30 12:34:57 GMT 2023


https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=36fb5ff6c6453a7587d00f34b0fdfe190ae78885

commit 36fb5ff6c6453a7587d00f34b0fdfe190ae78885
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Thu Mar 10 08:31:06 2022 -0300

    nss: Suppress nss_module.c warning on clang

Diff:
---
 nss/nss_module.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/nss/nss_module.c b/nss/nss_module.c
index 0104f88974..ee99598e70 100644
--- a/nss/nss_module.c
+++ b/nss/nss_module.c
@@ -33,6 +33,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include <pointer_guard.h>
+#include <sysdep.h>
+#include <libc-diag.h>
 
 /* Suffix after .so of NSS service modules.  This is a bit of magic,
    but we assume LIBNSS_FILES_SO looks like "libnss_files.so.2" and we
@@ -40,8 +42,14 @@
    except through the auto-generated lib-names.h and some static
    pointer manipulation.  The "-1" accounts for the trailing NUL
    included in the sizeof.  */
+
+/* clang issues an warning adding 'unsigned long' to a string does not append
+   to the string, however it is exactly what code means here.  */
+DIAG_PUSH_NEEDS_COMMENT_CLANG;
+DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wstring-plus-int");
 static const char *const __nss_shlib_revision
 	= LIBNSS_FILES_SO + sizeof("libnss_files.so") - 1;
+DIAG_POP_NEEDS_COMMENT_CLANG;
 
 /* A single-linked list used to implement a mapping from service names
    to NSS modules.  (Most systems only use five or so modules, so a


More information about the Glibc-cvs mailing list