Assume existence of inttypes.h and stdint.h in DataTypes.h.
authorNico Weber <nicolasweber@gmx.de>
Mon, 2 Apr 2018 13:22:26 +0000 (13:22 +0000)
committerNico Weber <nicolasweber@gmx.de>
Mon, 2 Apr 2018 13:22:26 +0000 (13:22 +0000)
These should exist in all toolchains LLVM supports nowadays.

Enables making DataTypes.h a regular header instead of a .h.cmake file and
allows deleting a bunch of cmake goop (which should also speed up cmake
configure time a bit).

All the code this removes is 9+ years old.
https://reviews.llvm.org/D45155

llvm-svn: 328970

llvm/CMakeLists.txt
llvm/cmake/config-ix.cmake
llvm/include/llvm-c/DataTypes.h [moved from llvm/include/llvm-c/DataTypes.h.cmake with 76% similarity]
llvm/include/llvm/Config/config.h.cmake

index 4513304..087a563 100644 (file)
@@ -744,9 +744,6 @@ configure_file(
 configure_file(
   ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/abi-breaking.h.cmake
   ${LLVM_INCLUDE_DIR}/llvm/Config/abi-breaking.h)
-configure_file(
-  ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/DataTypes.h.cmake
-  ${LLVM_INCLUDE_DIR}/llvm-c/DataTypes.h)
 
 # Add target for generating source rpm package.
 set(LLVM_SRPM_USER_BINARY_SPECFILE ${CMAKE_CURRENT_SOURCE_DIR}/llvm.spec.in
index 34ad356..e988fea 100644 (file)
@@ -25,30 +25,11 @@ if( CMAKE_SYSTEM MATCHES "FreeBSD-9.2-RELEASE" AND
   list(APPEND CMAKE_REQUIRED_LIBRARIES "cxxrt")
 endif()
 
-# Helper macros and functions
-macro(add_cxx_include result files)
-  set(${result} "")
-  foreach (file_name ${files})
-     set(${result} "${${result}}#include<${file_name}>\n")
-  endforeach()
-endmacro(add_cxx_include files result)
-
-function(check_type_exists type files variable)
-  add_cxx_include(includes "${files}")
-  CHECK_CXX_SOURCE_COMPILES("
-    ${includes} ${type} typeVar;
-    int main() {
-        return 0;
-    }
-    " ${variable})
-endfunction()
-
 # include checks
 check_include_file(dirent.h HAVE_DIRENT_H)
 check_include_file(dlfcn.h HAVE_DLFCN_H)
 check_include_file(errno.h HAVE_ERRNO_H)
 check_include_file(fcntl.h HAVE_FCNTL_H)
-check_include_file(inttypes.h HAVE_INTTYPES_H)
 check_include_file(link.h HAVE_LINK_H)
 check_include_file(malloc.h HAVE_MALLOC_H)
 check_include_file(malloc/malloc.h HAVE_MALLOC_MALLOC_H)
@@ -57,7 +38,6 @@ if( NOT PURE_WINDOWS )
   check_include_file(pthread.h HAVE_PTHREAD_H)
 endif()
 check_include_file(signal.h HAVE_SIGNAL_H)
-check_include_file(stdint.h HAVE_STDINT_H)
 check_include_file(sys/dir.h HAVE_SYS_DIR_H)
 check_include_file(sys/ioctl.h HAVE_SYS_IOCTL_H)
 check_include_file(sys/mman.h HAVE_SYS_MMAN_H)
@@ -289,20 +269,6 @@ elseif(PTHREAD_IN_LIBC)
   check_library_exists(c pthread_setname_np "" HAVE_PTHREAD_SETNAME_NP)
 endif()
 
-set(headers "sys/types.h")
-
-if (HAVE_INTTYPES_H)
-  set(headers ${headers} "inttypes.h")
-endif()
-
-if (HAVE_STDINT_H)
-  set(headers ${headers} "stdint.h")
-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)
-
 # available programs checks
 function(llvm_find_program name)
   string(TOUPPER ${name} NAME)
similarity index 76%
rename from llvm/include/llvm-c/DataTypes.h.cmake
rename to llvm/include/llvm-c/DataTypes.h
index 19799ef..7081c83 100644 (file)
 #ifndef LLVM_C_DATATYPES_H
 #define LLVM_C_DATATYPES_H
 
-#cmakedefine HAVE_INTTYPES_H ${HAVE_INTTYPES_H}
-#cmakedefine HAVE_STDINT_H ${HAVE_STDINT_H}
-#cmakedefine HAVE_UINT64_T ${HAVE_UINT64_T}
-#cmakedefine HAVE_U_INT64_T ${HAVE_U_INT64_T}
-
 #ifdef __cplusplus
 #include <cmath>
 #else
 #include <math.h>
 #endif
 
-#ifdef __cplusplus
-#include <cinttypes>
-#else
-#ifdef HAVE_INTTYPES_H
 #include <inttypes.h>
-#endif
-#endif
-
-#ifdef __cplusplus
-#include <cstdint>
-#else
-#ifdef HAVE_STDINT_H
 #include <stdint.h>
-#else
-#error "Compiler must provide an implementation of stdint.h"
-#endif
-#endif
 
 #ifndef _MSC_VER
 
 #undef INT64_MIN
 #endif
 
-/* Handle incorrect definition of uint64_t as u_int64_t */
-#ifndef HAVE_UINT64_T
-#ifdef HAVE_U_INT64_T
-typedef u_int64_t uint64_t;
-#else
-# error "Don't have a definition for uint64_t on this platform"
-#endif
-#endif
-
 #else /* _MSC_VER */
 #ifdef __cplusplus
 #include <cstddef>
@@ -99,22 +70,6 @@ typedef signed __int64 ssize_t;
 typedef signed int ssize_t;
 #endif /* _WIN64 */
 
-#ifndef HAVE_INTTYPES_H
-#define PRId64 "I64d"
-#define PRIi64 "I64i"
-#define PRIo64 "I64o"
-#define PRIu64 "I64u"
-#define PRIx64 "I64x"
-#define PRIX64 "I64X"
-
-#define PRId32 "d"
-#define PRIi32 "i"
-#define PRIo32 "o"
-#define PRIu32 "u"
-#define PRIx32 "x"
-#define PRIX32 "X"
-#endif /* HAVE_INTTYPES_H */
-
 #endif /* _MSC_VER */
 
 /* Set defaults for constants which we cannot find. */
index 7bf077e..07fbc95 100644 (file)
@@ -89,9 +89,6 @@
 /* Define to 1 if you have the `getrusage' function. */
 #cmakedefine HAVE_GETRUSAGE ${HAVE_GETRUSAGE}
 
-/* Define to 1 if the system has the type `int64_t'. */
-#cmakedefine HAVE_INT64_T ${HAVE_INT64_T}
-
 /* Define to 1 if you have the <inttypes.h> header file. */
 #cmakedefine HAVE_INTTYPES_H ${HAVE_INTTYPES_H}
 
 /* Define to 1 if you have the <termios.h> header file. */
 #cmakedefine HAVE_TERMIOS_H ${HAVE_TERMIOS_H}
 
-/* Define to 1 if the system has the type `uint64_t'. */
-#cmakedefine HAVE_UINT64_T ${HAVE_UINT64_T}
-
 /* Define to 1 if you have the <unistd.h> header file. */
 #cmakedefine HAVE_UNISTD_H ${HAVE_UNISTD_H}
 
-/* Define to 1 if the system has the type `u_int64_t'. */
-#cmakedefine HAVE_U_INT64_T ${HAVE_U_INT64_T}
-
 /* Define to 1 if you have the <valgrind/valgrind.h> header file. */
 #cmakedefine HAVE_VALGRIND_VALGRIND_H ${HAVE_VALGRIND_VALGRIND_H}