From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1791) id 31F9E3858030; Thu, 21 Dec 2023 18:52:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 31F9E3858030 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1703184724; bh=2imQy0ZwS2BStdgFHl6uuPfVZdjCh2qEqPUBaV00DyM=; h=From:To:Subject:Date:From; b=gE2TTzYO0EwN8ljFI3R7i6mWbnXOXc3QdEx69B0Ad1cDTRzZLyEsQMjzXXeu+C7Dv i1Hzd3UjwWJpudJ7NQmRCVI4a540fFIwXXeQkK8fHacaMQDkdJPrAsdDh3TWBcolfv TgKyI1cUUDXjm5pmWPynV7Wjyn8UPUX/S6G+8E/A= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Adhemerval Zanella To: glibc-cvs@sourceware.org Subject: [glibc/azanella/clang] sunrpc: Suppress clang warning on struct cmessage X-Act-Checkin: glibc X-Git-Author: Adhemerval Zanella X-Git-Refname: refs/heads/azanella/clang X-Git-Oldrev: 8ef7704b5dd29e0603425f5ab2b681d258c3cdb2 X-Git-Newrev: 61a8e25865d9d862ffa15416d23c72e42ab1a97a Message-Id: <20231221185204.31F9E3858030@sourceware.org> Date: Thu, 21 Dec 2023 18:52:04 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=61a8e25865d9d862ffa15416d23c72e42ab1a97a commit 61a8e25865d9d862ffa15416d23c72e42ab1a97a Author: Adhemerval Zanella Date: Thu Mar 10 14:08:06 2022 -0300 sunrpc: Suppress clang warning on struct cmessage clang complains if a flexible array member (struct cmsghdr) is not a the end of the struct (since it is a GNU extension). The __msgread explicit expects that 'struct ucred' is after the 'cmsg', so suppress the warning. Diff: --- sunrpc/svc_unix.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sunrpc/svc_unix.c b/sunrpc/svc_unix.c index be247f748c..9426850e4b 100644 --- a/sunrpc/svc_unix.c +++ b/sunrpc/svc_unix.c @@ -65,6 +65,7 @@ #include #include #include +#include /* * Ops vector for AF_UNIX based rpc service handle @@ -308,12 +309,18 @@ svcunix_destroy (SVCXPRT *xprt) } #ifdef SCM_CREDENTIALS +/* clang complains if a flexible array member (struct cmsghdr) is not a the + end of the struct (since it is a GNU extension). The __msgread explicit + expects that 'struct ucred' is after the 'cmsg', so disable the warning. */ +DIAG_PUSH_NEEDS_COMMENT_CLANG; +DIAG_IGNORE_NEEDS_COMMENT_CLANG (13, "-Wgnu-variable-sized-type-not-at-end"); struct cmessage { struct cmsghdr cmsg; struct ucred cmcred; /* hack to make sure we have enough memory */ char dummy[(CMSG_ALIGN (sizeof (struct ucred)) - sizeof (struct ucred) + sizeof (long))]; }; +DIAG_POP_NEEDS_COMMENT_CLANG; /* XXX This is not thread safe, but since the main functions in svc.c and the rpcgen generated *_svc functions for the daemon are also not