Fix building and running tests when LIBCXX_ENABLE_EXCEPTIONS or LIBCXX_ENABLE_RTTI are turned off.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@224095 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
08e3a7887f
commit
01f6a1410c
@ -111,7 +111,7 @@ __shared_weak_count::lock() _NOEXCEPT
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef _LIBCPP_NO_RTTI
|
#if !defined(_LIBCPP_NO_RTTI) || !defined(_LIBCPP_BUILD_STATIC)
|
||||||
|
|
||||||
const void*
|
const void*
|
||||||
__shared_weak_count::__get_deleter(const type_info&) const _NOEXCEPT
|
__shared_weak_count::__get_deleter(const type_info&) const _NOEXCEPT
|
||||||
|
@ -27,6 +27,8 @@ if(PYTHONINTERP_FOUND)
|
|||||||
set(LIBCXX_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/..)
|
set(LIBCXX_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/..)
|
||||||
set(LIBCXX_BINARY_DIR ${CMAKE_BINARY_DIR})
|
set(LIBCXX_BINARY_DIR ${CMAKE_BINARY_DIR})
|
||||||
set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
|
set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
|
||||||
|
pythonize_bool(LIBCXX_ENABLE_EXCEPTIONS)
|
||||||
|
pythonize_bool(LIBCXX_ENABLE_RTTI)
|
||||||
pythonize_bool(LIBCXX_ENABLE_SHARED)
|
pythonize_bool(LIBCXX_ENABLE_SHARED)
|
||||||
pythonize_bool(LIBCXX_ENABLE_THREADS)
|
pythonize_bool(LIBCXX_ENABLE_THREADS)
|
||||||
pythonize_bool(LIBCXX_ENABLE_MONOTONIC_CLOCK)
|
pythonize_bool(LIBCXX_ENABLE_MONOTONIC_CLOCK)
|
||||||
|
11
test/lit.cfg
11
test/lit.cfg
@ -426,6 +426,16 @@ class Configuration(object):
|
|||||||
self.compile_flags += ['-D__STDC_FORMAT_MACROS',
|
self.compile_flags += ['-D__STDC_FORMAT_MACROS',
|
||||||
'-D__STDC_LIMIT_MACROS',
|
'-D__STDC_LIMIT_MACROS',
|
||||||
'-D__STDC_CONSTANT_MACROS']
|
'-D__STDC_CONSTANT_MACROS']
|
||||||
|
enable_exceptions = self.get_lit_bool('enable_exceptions', True)
|
||||||
|
if enable_exceptions:
|
||||||
|
self.config.available_features.add('exceptions')
|
||||||
|
else:
|
||||||
|
self.compile_flags += ['-fno-exceptions']
|
||||||
|
enable_rtti = self.get_lit_bool('enable_rtti', True)
|
||||||
|
if enable_rtti:
|
||||||
|
self.config.available_features.add('rtti')
|
||||||
|
else:
|
||||||
|
self.compile_flags += ['-fno-rtti', '-D_LIBCPP_NO_RTTI']
|
||||||
# Configure threading features.
|
# Configure threading features.
|
||||||
enable_threads = self.get_lit_bool('enable_threads', True)
|
enable_threads = self.get_lit_bool('enable_threads', True)
|
||||||
enable_monotonic_clock = self.get_lit_bool('enable_monotonic_clock', True)
|
enable_monotonic_clock = self.get_lit_bool('enable_monotonic_clock', True)
|
||||||
@ -439,6 +449,7 @@ class Configuration(object):
|
|||||||
self.lit_config.fatal('enable_monotonic_clock cannot be false when'
|
self.lit_config.fatal('enable_monotonic_clock cannot be false when'
|
||||||
' enable_threads is true.')
|
' enable_threads is true.')
|
||||||
|
|
||||||
|
|
||||||
def configure_link_flags(self):
|
def configure_link_flags(self):
|
||||||
# Configure library search paths
|
# Configure library search paths
|
||||||
abi_library_path = self.get_lit_conf('abi_library_path', '')
|
abi_library_path = self.get_lit_conf('abi_library_path', '')
|
||||||
|
@ -4,6 +4,8 @@ config.std = "@LIBCXX_STD_VERSION@"
|
|||||||
config.libcxx_src_root = "@LIBCXX_SOURCE_DIR@"
|
config.libcxx_src_root = "@LIBCXX_SOURCE_DIR@"
|
||||||
config.libcxx_obj_root = "@LIBCXX_BINARY_DIR@"
|
config.libcxx_obj_root = "@LIBCXX_BINARY_DIR@"
|
||||||
config.python_executable = "@PYTHON_EXECUTABLE@"
|
config.python_executable = "@PYTHON_EXECUTABLE@"
|
||||||
|
config.enable_exceptions = "@LIBCXX_ENABLE_EXCEPTIONS@"
|
||||||
|
config.enable_rtti = "@LIBCXX_ENABLE_RTTI@"
|
||||||
config.enable_shared = "@LIBCXX_ENABLE_SHARED@"
|
config.enable_shared = "@LIBCXX_ENABLE_SHARED@"
|
||||||
config.enable_threads = "@LIBCXX_ENABLE_THREADS@"
|
config.enable_threads = "@LIBCXX_ENABLE_THREADS@"
|
||||||
config.enable_monotonic_clock = "@LIBCXX_ENABLE_MONOTONIC_CLOCK@"
|
config.enable_monotonic_clock = "@LIBCXX_ENABLE_MONOTONIC_CLOCK@"
|
||||||
|
Loading…
Reference in New Issue
Block a user