зеркало из 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.
|
# 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
|
# 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.
|
# 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)
|
@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':
|
if c_compiler.type == 'clang' and target.os == 'Android':
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
set_define('_LIBCPP_INLINE_VISIBILITY', libcxx_inline_visibility)
|
set_define('_LIBCPP_INLINE_VISIBILITY', libcxx_override_visibility)
|
||||||
set_define('_LIBCPP_INLINE_VISIBILITY_EXCEPT_GCC49', libcxx_inline_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)
|
@depends(target, check_build_environment)
|
||||||
def visibility_flags(target, env):
|
def visibility_flags(target, env):
|
||||||
|
|
Загрузка…
Ссылка в новой задаче