diff options
author | Dylan Baker <dylan@pnwbakers.com> | 2019-06-24 14:02:26 -0700 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-06-25 00:02:26 +0300 |
commit | e2039da5d99dc8fe4255069ef8ab14459766bf2d (patch) | |
tree | c6598d9778cd27a8d172ab2eac8ae745deeb986c /mesonbuild/compilers | |
parent | 42bef8d418a8f981889a54e6e4b120f6243e54bc (diff) | |
download | meson-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.py | 11 |
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': |