Module: Mesa
Branch: staging/22.3
Commit: fcad52f8026b44355b862098c01ddbf341c03bd0
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fcad52f8026b44355b862098c01ddbf341c03bd0

Author: pal1000 <[email protected]>
Date:   Tue Feb  7 01:35:45 2023 +0200

meson: Ignore unused variables when assertions are disabled

Fixes: 46b099e3
("meson: Ignore unused variables in release builds")

46b099e3 has some issues:
- it doesn't enable unused variables warning on release builds
with assertions enabled;
- it doesn't disable unused variables warning on debug builds
with assertions disabled;
- it doesn't disable unused variables warning when building
with MSVC and assertions are disabled regardless of buildtype,
see #8147. 3/4 regressions reported there have this limitation
alone as root cause.

Reviewed-by: Emma Anholt <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21154>
(cherry picked from commit 4347072443867f6337c33ffc330263bb851d9839)

---

 .pick_status.json |  2 +-
 meson.build       | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 94a307bab0d..5290c1dfad4 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -31,7 +31,7 @@
         "description": "meson: Ignore unused variables when assertions are 
disabled",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "46b099e3925d118b1637505b1f26de50059649aa"
     },
diff --git a/meson.build b/meson.build
index 392f85be7f4..302fc622a98 100644
--- a/meson.build
+++ b/meson.build
@@ -1203,12 +1203,12 @@ else
     _trial_cpp += ['-ffunction-sections', '-fdata-sections']
   endif
 
-  # Variables that are only used for assertions are considered unused in 
release
-  # builds. Don't treat this as an error, since we build with -Werror even for
-  # release in CI.
-  if get_option('buildtype') == 'release'
-    _trial_c += ['-Wno-unused-variable', '-Wno-unused-but-set-variable']
-    _trial_cpp += ['-Wno-unused-variable', '-Wno-unused-but-set-variable']
+  # Variables that are only used for assertions are considered unused when 
assertions
+  # are disabled. Don't treat this as an error, since we build with -Werror 
even if
+  # assertions are disabled.
+  if get_option('b_ndebug') == 'true' or (get_option('buildtype') == 'release' 
and get_option('b_ndebug') == 'if-release')
+    _trial_c += ['-Wno-unused-variable', '-Wno-unused-but-set-variable', 
'/wd4189']
+    _trial_cpp += ['-Wno-unused-variable', '-Wno-unused-but-set-variable', 
'/wd4189']
   endif
 
   c_args += cc.get_supported_arguments(_trial_c)

Reply via email to