forked from OSchip/llvm-project
Remove unused variables '__kmp_build_check_*' for non assert builds.
Add new LIBOMP_ENABLE_ASSERTIONS macro which can be set in a standalone build or takes the value of LLVM_ENABLE_ASSERTIONS when inside llvm/projects. This change also defines the KMP_BUILD_ASSERT() macro to do nothing when ENABLE_ASSERTIONS is off. This means the __kmp_build_check_* types won't be defined and thus, no warnings. http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000719.html Patch by Jack Howarth and Jonathan Peyton llvm-svn: 239546
This commit is contained in:
parent
2d221406fa
commit
9919dfc3b6
|
@ -173,13 +173,18 @@ else()
|
||||||
check_variable(cmake_build_type_lowercase "${build_type_possible_values}")
|
check_variable(cmake_build_type_lowercase "${build_type_possible_values}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Allow user to choose a suffix for the installation directory, or if part of
|
|
||||||
# LLVM build then just use LLVM_LIBDIR_SUFFIX
|
|
||||||
if(${LIBOMP_STANDALONE_BUILD})
|
if(${LIBOMP_STANDALONE_BUILD})
|
||||||
|
# Allow user to choose a suffix for the installation directory, or if part of
|
||||||
|
# LLVM build then just use LLVM_LIBDIR_SUFFIX
|
||||||
set(LIBOMP_LIBDIR_SUFFIX "" CACHE STRING
|
set(LIBOMP_LIBDIR_SUFFIX "" CACHE STRING
|
||||||
"suffix of lib installation directory e.g., 64 => lib64")
|
"suffix of lib installation directory e.g., 64 => lib64")
|
||||||
|
# Should assertions be enabled? They are on by default, or it part of
|
||||||
|
# LLVM build then just use LLVM_ENABLE_ASSERTIONS
|
||||||
|
set(LIBOMP_ENABLE_ASSERTIONS TRUE CACHE BOOL
|
||||||
|
"enable assertions?")
|
||||||
else()
|
else()
|
||||||
set(LIBOMP_LIBDIR_SUFFIX ${LLVM_LIBDIR_SUFFIX})
|
set(LIBOMP_LIBDIR_SUFFIX ${LLVM_LIBDIR_SUFFIX})
|
||||||
|
set(LIBOMP_ENABLE_ASSERTIONS ${LLVM_ENABLE_ASSERTIONS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Check valid values
|
# Check valid values
|
||||||
|
|
|
@ -83,7 +83,9 @@ function(append_cpp_flags input_cpp_flags)
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
# Other conditional definitions
|
# Other conditional definitions
|
||||||
append_definitions("-D KMP_USE_ASSERT")
|
if(${LIBOMP_ENABLE_ASSERTIONS})
|
||||||
|
append_definitions("-D KMP_USE_ASSERT")
|
||||||
|
endif()
|
||||||
append_definitions("-D KMP_DYNAMIC_LIB")
|
append_definitions("-D KMP_DYNAMIC_LIB")
|
||||||
if(${STUBS_LIBRARY})
|
if(${STUBS_LIBRARY})
|
||||||
append_definitions("-D KMP_STUB")
|
append_definitions("-D KMP_STUB")
|
||||||
|
|
|
@ -42,7 +42,11 @@
|
||||||
|
|
||||||
#define __KMP_BUILD_ASSERT( expr, suffix ) typedef char __kmp_build_check_##suffix[ (expr) ? 1 : -1 ]
|
#define __KMP_BUILD_ASSERT( expr, suffix ) typedef char __kmp_build_check_##suffix[ (expr) ? 1 : -1 ]
|
||||||
#define _KMP_BUILD_ASSERT( expr, suffix ) __KMP_BUILD_ASSERT( (expr), suffix )
|
#define _KMP_BUILD_ASSERT( expr, suffix ) __KMP_BUILD_ASSERT( (expr), suffix )
|
||||||
#define KMP_BUILD_ASSERT( expr ) _KMP_BUILD_ASSERT( (expr), __LINE__ )
|
#ifdef KMP_USE_ASSERT
|
||||||
|
#define KMP_BUILD_ASSERT( expr ) _KMP_BUILD_ASSERT( (expr), __LINE__ )
|
||||||
|
#else
|
||||||
|
#define KMP_BUILD_ASSERT( expr ) /* nothing to do */
|
||||||
|
#endif
|
||||||
|
|
||||||
// -------------------------------------------------------------------------------------------------
|
// -------------------------------------------------------------------------------------------------
|
||||||
// Run-time assertions.
|
// Run-time assertions.
|
||||||
|
|
Loading…
Reference in New Issue