Re: [PATCH 03/11] UAPI: virtio_net: Fix use of C++ keywords as structural members
From: Greg KH <gregkh@linuxfoundation.org>
Date: 2018-09-05 16:54:36
On Wed, Sep 05, 2018 at 04:54:55PM +0100, David Howells wrote:
quoted hunk
The virtio_net_ctrl_hdr struct uses a C++ keyword as structural members. Fix this by inserting an anonymous union that provides an alternative name and then hide the reserved name in C++. Signed-off-by: David Howells <dhowells@redhat.com> cc: "Michael S. Tsirkin" <mst@redhat.com> cc: Jason Wang <redacted> cc: virtualization@lists.linux-foundation.org --- include/uapi/linux/virtio_net.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)diff --git a/include/uapi/linux/virtio_net.h b/include/uapi/linux/virtio_net.h index a3715a3224c1..967142bc0e05 100644 --- a/include/uapi/linux/virtio_net.h +++ b/include/uapi/linux/virtio_net.h@@ -150,7 +150,12 @@ struct virtio_net_hdr_mrg_rxbuf { * command goes in between. */ struct virtio_net_ctrl_hdr { - __u8 class; + union { +#ifndef __cplusplus + __u8 class; +#endif + __u8 _class; + };
Ugh, ick, no! Come on now, either put the whole C namespace stuff around the file, or don't care about this at all. Doing this whack-a-mole style is a mess. "class" is a fine variable name for C code, there's no reason this has to change here at all. greg k-h