[klibc] [PATCH v1 3/3] Kbuild: use an enum to silence a clang warning
Bill Wendling
morbo at google.com
Mon Nov 9 14:13:36 PST 2020
Clang emits a warning when constant forlding variable length arrays:
usr/kinit/nfsmount/dummypmap.c:156:8: warning: variable length array folded to constant array as an extension [-Werror,-Wgnu-folding-constant]
char payload[MAX_UDP_PACKET + offsetof(struct rpc_header, udp)];
^
1 error generated.
Using an enum bypasses the constant folding issue.
Signed-off-by: Bill Wendling <morbo at google.com>
---
usr/kinit/nfsmount/dummypmap.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/usr/kinit/nfsmount/dummypmap.c b/usr/kinit/nfsmount/dummypmap.c
index a4e80147..07210c56 100644
--- a/usr/kinit/nfsmount/dummypmap.c
+++ b/usr/kinit/nfsmount/dummypmap.c
@@ -148,12 +148,13 @@ static int check_vrf(struct rpc_auth *vrf)
static int dummy_portmap(int sock, FILE *portmap_file)
{
+ enum { PAYLOAD_SIZE = MAX_UDP_PACKET + offsetof(struct rpc_header, udp) };
struct sockaddr_in sin;
int pktlen, addrlen;
union {
struct rpc_call rpc;
/* Max UDP packet size + unused TCP fragment size */
- char payload[MAX_UDP_PACKET + offsetof(struct rpc_header, udp)];
+ char payload[PAYLOAD_SIZE];
} pkt;
struct rpc_call *rpc = &pkt.rpc;
struct rpc_auth *cred;
--
2.29.2.222.g5d2a92d10f8-goog
More information about the klibc
mailing list