buildroot/package/uqmi/0001-uqmi-avoid-gcc-12.x-fa...

58 lines
1.9 KiB
Diff
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 63ab887be90c7fe37d537ea75e60eb95d6d87d3f Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Sun, 5 Mar 2023 22:08:13 +0100
Subject: [PATCH] uqmi: avoid gcc-12.x false error reporting (storing the
address of local variable 'complete' in '*req.complete')
Avoid gcc-12.x false error reporting (req->complete is later reset to NULL
in case of use of local complete):
dev.c:217:23: error: storing the address of local variable 'complete' in '*req.complete' [-Werror=dangling-pointer=]
217 | req->complete = &complete;
| ~~~~~~~~~~~~~~^~~~~~~~~~~
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Upstream: http://lists.openwrt.org/pipermail/openwrt-devel/2023-March/040667.html]
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
- apply pragma ignored only for gcc >= 12.x (as the warning
'-Wdangling-pointer' was introduced with gcc-12.x)
---
dev.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/dev.c b/dev.c
index bd10207..dbd42d4 100644
--- a/dev.c
+++ b/dev.c
@@ -203,6 +203,15 @@ void qmi_request_cancel(struct qmi_dev *qmi, struct qmi_request *req)
__qmi_request_complete(qmi, req, NULL);
}
+/* avoid gcc-12.x false error reporting:
+ * dev.c:217:23: error: storing the address of local variable complete in *req.complete [-Werror=dangling-pointer=]
+ * 217 | req->complete = &complete;
+ * | ~~~~~~~~~~~~~~^~~~~~~~~~~
+ */
+#if __GNUC__ >= 12
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdangling-pointer"
+#endif
int qmi_request_wait(struct qmi_dev *qmi, struct qmi_request *req)
{
bool complete = false;
@@ -231,6 +240,9 @@ int qmi_request_wait(struct qmi_dev *qmi, struct qmi_request *req)
return req->ret;
}
+#if __GNUC__ >= 12
+#pragma GCC diagnostic pop
+#endif
struct qmi_connect_request {
struct qmi_request req;
--
2.39.2