summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2013-08-07 00:29:15 +0000
committerReid Kleckner <reid@kleckner.net>2013-08-07 00:29:15 +0000
commita3ae94e83fa8b24596cb790ee5d5dbb33bf388f0 (patch)
tree1dc50720c4ed025d13631ba01643afd2d9b17191
parent18abf4e5f725f7091f7ebf068dad7d2531b33121 (diff)
downloadbcm5719-llvm-a3ae94e83fa8b24596cb790ee5d5dbb33bf388f0.tar.gz
bcm5719-llvm-a3ae94e83fa8b24596cb790ee5d5dbb33bf388f0.zip
Check for _strtoi64 in the cmake build if strtoll is missing
Previously this check was guarded by MSVC, which doesn't distinguish between the compiler and the headers/library. This enables clang to compile more of LLVM on Windows with Microsoft headers. Remove some unused macros while I'm here: error_t and LTDL stuff. llvm-svn: 187839
-rwxr-xr-xllvm/cmake/config-ix.cmake21
-rw-r--r--llvm/include/llvm/Config/config.h.cmake3
2 files changed, 10 insertions, 14 deletions
diff --git a/llvm/cmake/config-ix.cmake b/llvm/cmake/config-ix.cmake
index 9f686c3dc77..85c4d81255f 100755
--- a/llvm/cmake/config-ix.cmake
+++ b/llvm/cmake/config-ix.cmake
@@ -214,7 +214,6 @@ endif()
check_type_exists(int64_t "${headers}" HAVE_INT64_T)
check_type_exists(uint64_t "${headers}" HAVE_UINT64_T)
check_type_exists(u_int64_t "${headers}" HAVE_U_INT64_T)
-check_type_exists(error_t errno.h HAVE_ERROR_T)
# available programs checks
function(llvm_find_program name)
@@ -392,20 +391,20 @@ if( MINGW )
# CHECK_LIBRARY_EXISTS(imagehlp ??? . HAVE_LIBIMAGEHLP)
endif( MINGW )
+if (NOT HAVE_STRTOLL)
+ # Use _strtoi64 if strtoll is not available.
+ check_symbol_exists(_strtoi64 stdlib.h have_strtoi64)
+ if (have_strtoi64)
+ set(HAVE_STRTOLL 1)
+ set(strtoll "_strtoi64")
+ set(strtoull "_strtoui64")
+ endif ()
+endif ()
+
if( MSVC )
- set(error_t int)
- set(LTDL_SYSSEARCHPATH "")
- set(LTDL_DLOPEN_DEPLIBS 1)
set(SHLIBEXT ".lib")
- set(LTDL_OBJDIR "_libs")
- set(HAVE_STRTOLL 1)
- set(strtoll "_strtoi64")
- set(strtoull "_strtoui64")
set(stricmp "_stricmp")
set(strdup "_strdup")
-else( MSVC )
- set(LTDL_SYSSEARCHPATH "") # TODO
- set(LTDL_DLOPEN_DEPLIBS 0) # TODO
endif( MSVC )
if( PURE_WINDOWS )
diff --git a/llvm/include/llvm/Config/config.h.cmake b/llvm/include/llvm/Config/config.h.cmake
index 97035937fce..b34c404733e 100644
--- a/llvm/include/llvm/Config/config.h.cmake
+++ b/llvm/include/llvm/Config/config.h.cmake
@@ -653,9 +653,6 @@
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
-/* Define to a type to use for `error_t' if it is not otherwise available. */
-#cmakedefine error_t ${error_t}
-
/* Define to `int' if <sys/types.h> does not define. */
#undef pid_t
OpenPOWER on IntegriCloud