From 177c1ae57e16152b44b6481a4ec7fedb72007f47 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 2 Jun 2017 20:56:21 -0700 Subject: [PATCH] Disable the GCC warning about missing initializers New fields are appended to the structure, so we can't initialize them as we would lose compatibility with earlier versions of libwayland. So just disable the warning. Change-Id: Ia3e896da908f42939148fffd14c4806ce3468e56 Reviewed-by: Johan Helsing --- src/tools/qtwaylandscanner/qtwaylandscanner.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/tools/qtwaylandscanner/qtwaylandscanner.cpp b/src/tools/qtwaylandscanner/qtwaylandscanner.cpp index 5b9707a5a99..01dfa92157f 100644 --- a/src/tools/qtwaylandscanner/qtwaylandscanner.cpp +++ b/src/tools/qtwaylandscanner/qtwaylandscanner.cpp @@ -392,6 +392,8 @@ void process(QXmlStreamReader &xml, const QByteArray &headerPath, const QByteArr printf("\n"); printf("QT_BEGIN_NAMESPACE\n"); + printf("QT_WARNING_PUSH\n"); + printf("QT_WARNING_DISABLE_GCC(\"-Wmissing-field-initializers\")\n"); QByteArray serverExport; if (headerPath.size()) { serverExport = QByteArray("Q_WAYLAND_SERVER_") + preProcessorProtocolName + "_EXPORT"; @@ -533,6 +535,7 @@ void process(QXmlStreamReader &xml, const QByteArray &headerPath, const QByteArr printf("}\n"); printf("\n"); + printf("QT_WARNING_POP\n"); printf("QT_END_NAMESPACE\n"); printf("\n"); printf("#endif\n"); @@ -545,6 +548,8 @@ void process(QXmlStreamReader &xml, const QByteArray &headerPath, const QByteArr printf("#include <%s/qwayland-server-%s.h>\n", headerPath.constData(), QByteArray(protocolName).replace('_', '-').constData()); printf("\n"); printf("QT_BEGIN_NAMESPACE\n"); + printf("QT_WARNING_PUSH\n"); + printf("QT_WARNING_DISABLE_GCC(\"-Wmissing-field-initializers\")\n"); printf("\n"); printf("namespace QtWaylandServer {\n"); @@ -827,6 +832,7 @@ void process(QXmlStreamReader &xml, const QByteArray &headerPath, const QByteArr } printf("}\n"); printf("\n"); + printf("QT_WARNING_POP\n"); printf("QT_END_NAMESPACE\n"); } @@ -843,6 +849,8 @@ void process(QXmlStreamReader &xml, const QByteArray &headerPath, const QByteArr printf("#include \n"); printf("\n"); printf("QT_BEGIN_NAMESPACE\n"); + printf("QT_WARNING_PUSH\n"); + printf("QT_WARNING_DISABLE_GCC(\"-Wmissing-field-initializers\")\n"); QByteArray clientExport; @@ -940,6 +948,7 @@ void process(QXmlStreamReader &xml, const QByteArray &headerPath, const QByteArr } printf("}\n"); printf("\n"); + printf("QT_WARNING_POP\n"); printf("QT_END_NAMESPACE\n"); printf("\n"); printf("#endif\n"); @@ -952,6 +961,8 @@ void process(QXmlStreamReader &xml, const QByteArray &headerPath, const QByteArr printf("#include <%s/qwayland-%s.h>\n", headerPath.constData(), QByteArray(protocolName).replace('_', '-').constData()); printf("\n"); printf("QT_BEGIN_NAMESPACE\n"); + printf("QT_WARNING_PUSH\n"); + printf("QT_WARNING_DISABLE_GCC(\"-Wmissing-field-initializers\")\n"); printf("\n"); printf("namespace QtWayland {\n"); for (int j = 0; j < interfaces.size(); ++j) { @@ -1134,6 +1145,7 @@ void process(QXmlStreamReader &xml, const QByteArray &headerPath, const QByteArr } printf("}\n"); printf("\n"); + printf("QT_WARNING_POP\n"); printf("QT_END_NAMESPACE\n"); } }