From 7c4087ace5b3b1c8669d7afd2b6fbcc0c816f1d4 Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Mon, 18 Apr 2022 22:18:35 -0400 Subject: compilers/gnu: demote visibilty inlineshidden to hidden for unsupported compilers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This option is only valid for C++ and ObjC++, but the kwarg is useful for mixed language targets. Asking for inlines as well, when the compiler driver is trying to build the C components of a target, results in gcc emitting: ``` cc1: warning: command-line option ‘-fvisibility-inlines-hidden’ is valid for C++/ObjC++ but not for C ``` Squelch this warning by filtering it out on Meson's side of things. --- mesonbuild/compilers/mixins/gnu.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mesonbuild') diff --git a/mesonbuild/compilers/mixins/gnu.py b/mesonbuild/compilers/mixins/gnu.py index 2613038..1b1e8a1 100644 --- a/mesonbuild/compilers/mixins/gnu.py +++ b/mesonbuild/compilers/mixins/gnu.py @@ -190,6 +190,8 @@ class GnuLikeCompiler(Compiler, metaclass=abc.ABCMeta): pass def gnu_symbol_visibility_args(self, vistype: str) -> T.List[str]: + if vistype == 'inlineshidden' and self.language not in {'cpp', 'objcpp'}: + vistype = 'hidden' return gnu_symbol_visibility_args[vistype] def gen_vs_module_defs_args(self, defsfile: str) -> T.List[str]: -- cgit v1.1