From 6219046db6a434d549706e039f221c46464cee21 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Sat, 11 Mar 2023 13:09:25 +0100 Subject: [PATCH] package/uqmi: update patch for fix compile error (gcc false error reporting) Update the patch to to avoid gcc false error reporting (apply pragma ignored only for gcc >= 12.x (as the warning '-Wdangling-pointer' was introduced with gcc-12.x). Fixes: - http://autobuild.buildroot.net/results/df380f921b74527b77290a658de0c57680083afa .../build/uqmi-0a19b5b77140465c29e2afa7d611fe93abc9672f/dev.c:213:32: error: unknown option after '#pragma GCC diagnostic' kind [-Werror=pragmas] 213 | #pragma GCC diagnostic ignored "-Wdangling-pointer" | ^~~~~~~~~~~~~~~~~~~~ Signed-off-by: Peter Seiderer Signed-off-by: Peter Korsgaard --- ....x-false-error-reporting-storing-th.patch} | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) rename package/uqmi/{0001-uqmi-avoid-gcc-false-error-reporting-storing-the-add.patch => 0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch} (71%) diff --git a/package/uqmi/0001-uqmi-avoid-gcc-false-error-reporting-storing-the-add.patch b/package/uqmi/0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch similarity index 71% rename from package/uqmi/0001-uqmi-avoid-gcc-false-error-reporting-storing-the-add.patch rename to package/uqmi/0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch index c940925767..e2199228b9 100644 --- a/package/uqmi/0001-uqmi-avoid-gcc-false-error-reporting-storing-the-add.patch +++ b/package/uqmi/0001-uqmi-avoid-gcc-12.x-false-error-reporting-storing-th.patch @@ -1,10 +1,10 @@ -From 4c2eb926efb4de24af5a3b1e8c18195198827491 Mon Sep 17 00:00:00 2001 +From 63ab887be90c7fe37d537ea75e60eb95d6d87d3f Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Sun, 5 Mar 2023 22:08:13 +0100 -Subject: [PATCH] uqmi: avoid gcc false error reporting (storing the address of - local variable 'complete' in '*req.complete') +Subject: [PATCH] uqmi: avoid gcc-12.x false error reporting (storing the + address of local variable 'complete' in '*req.complete') -Avoid gcc false error reporting (req->complete is later reset to NULL +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=] @@ -12,27 +12,30 @@ in case of use of local complete): | ~~~~~~~~~~~~~~^~~~~~~~~~~ Signed-off-by: Peter Seiderer - -[Upstream: http://lists.openwrt.org/pipermail/openwrt-devel/2023-March/040633.html] +[Upstream: http://lists.openwrt.org/pipermail/openwrt-devel/2023-March/040667.html] Signed-off-by: Peter Seiderer +--- +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..b8ac273 100644 +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 false error reporting: ++/* 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__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) ++#if __GNUC__ >= 12 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdangling-pointer" +#endif @@ -43,7 +46,7 @@ index bd10207..b8ac273 100644 return req->ret; } -+#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) ++#if __GNUC__ >= 12 +#pragma GCC diagnostic pop +#endif