From e2039da5d99dc8fe4255069ef8ab14459766bf2d Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Mon, 24 Jun 2019 14:02:26 -0700 Subject: Split attribute visibility * c_function_attributes: remove 'protected' from 'visibility' This doesn't exist on macos with the apple compiler, which always causes failures. Fixes #5530 * compilers: Add split visibility checks to has_function_attribute These check for a single visibility at a time, rather than all four at once. This allows for finer grained searches, and should make using these checks safer across operating systems. --- mesonbuild/compilers/c_function_attributes.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'mesonbuild/compilers') diff --git a/mesonbuild/compilers/c_function_attributes.py b/mesonbuild/compilers/c_function_attributes.py index a522a1a..e5de485 100644 --- a/mesonbuild/compilers/c_function_attributes.py +++ b/mesonbuild/compilers/c_function_attributes.py @@ -93,8 +93,15 @@ C_FUNC_ATTRIBUTES = { 'visibility': ''' int foo_def(void) __attribute__((visibility("default"))); int foo_hid(void) __attribute__((visibility("hidden"))); - int foo_int(void) __attribute__((visibility("internal"))); - int foo_pro(void) __attribute__((visibility("protected")));''', + int foo_int(void) __attribute__((visibility("internal")));''', + 'visibility:default': + 'int foo(void) __attribute__((visibility("default")));', + 'visibility:hidden': + 'int foo(void) __attribute__((visibility("hidden")));', + 'visibility:internal': + 'int foo(void) __attribute__((visibility("internal")));', + 'visibility:protected': + 'int foo(void) __attribute__((visibility("protected")));', 'warning': 'int foo(void) __attribute__((warning("")));', 'warn_unused_result': -- cgit v1.1