aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2019-06-24 14:02:26 -0700
committerJussi Pakkanen <jpakkane@gmail.com>2019-06-25 00:02:26 +0300
commite2039da5d99dc8fe4255069ef8ab14459766bf2d (patch)
treec6598d9778cd27a8d172ab2eac8ae745deeb986c /mesonbuild/compilers
parent42bef8d418a8f981889a54e6e4b120f6243e54bc (diff)
downloadmeson-e2039da5d99dc8fe4255069ef8ab14459766bf2d.zip
meson-e2039da5d99dc8fe4255069ef8ab14459766bf2d.tar.gz
meson-e2039da5d99dc8fe4255069ef8ab14459766bf2d.tar.bz2
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.
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/c_function_attributes.py11
1 files changed, 9 insertions, 2 deletions
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':