зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1370133 - add workarounds for _LIBCPP_ALWAYS_INLINE bustedness; r=chmanchester
_LIBCPP_ALWAYS_INLINE and its EXCEPT_GCC49 counterpart are broken in the same fashion as _LIBCPP_INLINE_VISIBILITY and can be fixed in exactly the same way.
This commit is contained in:
Родитель
3b6501dd91
Коммит
d6bc4f9e80
|
@ -991,13 +991,18 @@ set_config('COLOR_CFLAGS', color_cflags)
|
|||
# we are properly managing visibility ourselves) and avoid this whole mess.
|
||||
# Note that we don't need to do this with gcc, as libc++ detects gcc and
|
||||
# effectively does the same thing we are doing here.
|
||||
#
|
||||
# _LIBCPP_ALWAYS_INLINE needs similar workarounds, since it too declares
|
||||
# hidden visibility.
|
||||
@depends(c_compiler, target)
|
||||
def libcxx_inline_visibility(c_compiler, target):
|
||||
def libcxx_override_visibility(c_compiler, target):
|
||||
if c_compiler.type == 'clang' and target.os == 'Android':
|
||||
return ''
|
||||
|
||||
set_define('_LIBCPP_INLINE_VISIBILITY', libcxx_inline_visibility)
|
||||
set_define('_LIBCPP_INLINE_VISIBILITY_EXCEPT_GCC49', libcxx_inline_visibility)
|
||||
set_define('_LIBCPP_INLINE_VISIBILITY', libcxx_override_visibility)
|
||||
set_define('_LIBCPP_INLINE_VISIBILITY_EXCEPT_GCC49', libcxx_override_visibility)
|
||||
set_define('_LIBCPP_ALWAYS_INLINE', libcxx_override_visibility)
|
||||
set_define('_LIBCPP_ALWAYS_INLINE_EXCEPT_GCC49', libcxx_override_visibility)
|
||||
|
||||
@depends(target, check_build_environment)
|
||||
def visibility_flags(target, env):
|
||||
|
|
Загрузка…
Ссылка в новой задаче