Skip to content

Commit

Permalink
Check for _strtoi64 in the cmake build if strtoll is missing
Browse files Browse the repository at this point in the history
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187839 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
rnk committed Aug 7, 2013
1 parent 040ef01 commit 3e53241
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 14 deletions.
21 changes: 10 additions & 11 deletions cmake/config-ix.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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 )
Expand Down
3 changes: 0 additions & 3 deletions include/llvm/Config/config.h.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down

0 comments on commit 3e53241

Please sign in to comment.