[PATCH 03/11] UAPI: virtio_net: Fix use of C++ keywords as structural members [ver #2]

From: David Howells
Date: Thu Sep 06 2018 - 05:18:48 EST


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@xxxxxxxxxx>
cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
cc: Jason Wang <jasowang@xxxxxxxxxx>
cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
---

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;
+ };
__u8 cmd;
} __attribute__((packed));