Merge topic 'kwsys-no-depend-FundamentalType'
221b5b6
KWSys: Remove dependencies on FundamentalType
This commit is contained in:
commit
da0dc9edd7
|
@ -141,7 +141,6 @@ IF(KWSYS_USE_Process)
|
||||||
SET(KWSYS_USE_System 1)
|
SET(KWSYS_USE_System 1)
|
||||||
ENDIF(KWSYS_USE_Process)
|
ENDIF(KWSYS_USE_Process)
|
||||||
IF(KWSYS_USE_SystemInformation)
|
IF(KWSYS_USE_SystemInformation)
|
||||||
SET(KWSYS_USE_FundamentalType 1)
|
|
||||||
SET(KWSYS_USE_Process 1)
|
SET(KWSYS_USE_Process 1)
|
||||||
ENDIF(KWSYS_USE_SystemInformation)
|
ENDIF(KWSYS_USE_SystemInformation)
|
||||||
|
|
||||||
|
@ -413,6 +412,39 @@ IF(UNIX)
|
||||||
"Checking whether struct stat has st_mtim member" DIRECT)
|
"Checking whether struct stat has st_mtim member" DIRECT)
|
||||||
ENDIF(UNIX)
|
ENDIF(UNIX)
|
||||||
|
|
||||||
|
# Check existence and uniqueness of long long and __int64.
|
||||||
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_LONG_LONG
|
||||||
|
"Checking whether C++ compiler has 'long long'" DIRECT)
|
||||||
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS___INT64
|
||||||
|
"Checking whether C++ compiler has '__int64'" DIRECT)
|
||||||
|
IF(KWSYS_CXX_HAS___INT64)
|
||||||
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_SAME_LONG_AND___INT64
|
||||||
|
"Checking whether long and __int64 are the same type" DIRECT)
|
||||||
|
IF(KWSYS_CXX_HAS_LONG_LONG)
|
||||||
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_SAME_LONG_LONG_AND___INT64
|
||||||
|
"Checking whether long long and __int64 are the same type" DIRECT)
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# Enable the "long long" type if it is available. It is standard in
|
||||||
|
# C99 and C++03 but not in earlier standards.
|
||||||
|
IF(KWSYS_CXX_HAS_LONG_LONG)
|
||||||
|
SET(KWSYS_USE_LONG_LONG 1)
|
||||||
|
ELSE()
|
||||||
|
SET(KWSYS_USE_LONG_LONG 0)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# Enable the "__int64" type if it is available and unique. It is not
|
||||||
|
# standard.
|
||||||
|
SET(KWSYS_USE___INT64 0)
|
||||||
|
IF(KWSYS_CXX_HAS___INT64)
|
||||||
|
IF(NOT KWSYS_CXX_SAME_LONG_AND___INT64)
|
||||||
|
IF(NOT KWSYS_CXX_SAME_LONG_LONG_AND___INT64)
|
||||||
|
SET(KWSYS_USE___INT64 1)
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF(KWSYS_USE_FundamentalType)
|
IF(KWSYS_USE_FundamentalType)
|
||||||
# Look for type size helper macros.
|
# Look for type size helper macros.
|
||||||
KWSYS_PLATFORM_INFO_TEST(C KWSYS_C_TYPE_MACROS
|
KWSYS_PLATFORM_INFO_TEST(C KWSYS_C_TYPE_MACROS
|
||||||
|
@ -463,34 +495,6 @@ IF(KWSYS_USE_FundamentalType)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
|
|
||||||
# Check uniqueness of types.
|
|
||||||
IF(KWSYS_SIZEOF___INT64)
|
|
||||||
KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_SAME_LONG_AND___INT64
|
|
||||||
"Checking whether long and __int64 are the same type" DIRECT)
|
|
||||||
IF(KWSYS_SIZEOF_LONG_LONG)
|
|
||||||
KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_SAME_LONG_LONG_AND___INT64
|
|
||||||
"Checking whether long long and __int64 are the same type" DIRECT)
|
|
||||||
ENDIF(KWSYS_SIZEOF_LONG_LONG)
|
|
||||||
ENDIF(KWSYS_SIZEOF___INT64)
|
|
||||||
|
|
||||||
# Enable the "long long" type if it is available. It is standard in
|
|
||||||
# C99 and C++03 but not in earlier standards.
|
|
||||||
IF(KWSYS_SIZEOF_LONG_LONG)
|
|
||||||
SET(KWSYS_USE_LONG_LONG 1)
|
|
||||||
ELSE(KWSYS_SIZEOF_LONG_LONG)
|
|
||||||
SET(KWSYS_USE_LONG_LONG 0)
|
|
||||||
ENDIF(KWSYS_SIZEOF_LONG_LONG)
|
|
||||||
|
|
||||||
# Enable the "__int64" type if it is available and unique. It is not
|
|
||||||
# standard.
|
|
||||||
SET(KWSYS_USE___INT64 0)
|
|
||||||
IF(KWSYS_SIZEOF___INT64)
|
|
||||||
IF(NOT KWSYS_CXX_SAME_LONG_AND___INT64)
|
|
||||||
IF(NOT KWSYS_CXX_SAME_LONG_LONG_AND___INT64)
|
|
||||||
SET(KWSYS_USE___INT64 1)
|
|
||||||
ENDIF(NOT KWSYS_CXX_SAME_LONG_LONG_AND___INT64)
|
|
||||||
ENDIF(NOT KWSYS_CXX_SAME_LONG_AND___INT64)
|
|
||||||
ENDIF(KWSYS_SIZEOF___INT64)
|
|
||||||
IF(KWSYS_USE___INT64)
|
IF(KWSYS_USE___INT64)
|
||||||
KWSYS_PLATFORM_CXX_TEST(KWSYS_CAN_CONVERT_UI64_TO_DOUBLE
|
KWSYS_PLATFORM_CXX_TEST(KWSYS_CAN_CONVERT_UI64_TO_DOUBLE
|
||||||
"Checking whether unsigned __int64 can convert to double" DIRECT)
|
"Checking whether unsigned __int64 can convert to double" DIRECT)
|
||||||
|
@ -505,8 +509,6 @@ ENDIF(KWSYS_USE_FundamentalType)
|
||||||
|
|
||||||
IF(KWSYS_USE_IOStream)
|
IF(KWSYS_USE_IOStream)
|
||||||
# Determine whether iostreams support long long.
|
# Determine whether iostreams support long long.
|
||||||
KWSYS_PLATFORM_CXX_TEST(KWSYS_CXX_HAS_LONG_LONG
|
|
||||||
"Checking whether C++ compiler has 'long long'" DIRECT)
|
|
||||||
IF(KWSYS_CXX_HAS_LONG_LONG)
|
IF(KWSYS_CXX_HAS_LONG_LONG)
|
||||||
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES
|
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES
|
||||||
-DKWSYS_IOS_USE_ANSI=${KWSYS_IOS_USE_ANSI}
|
-DKWSYS_IOS_USE_ANSI=${KWSYS_IOS_USE_ANSI}
|
||||||
|
@ -563,6 +565,12 @@ IF(KWSYS_USE_SystemTools)
|
||||||
COMPILE_FLAGS "-DKWSYS_CXX_HAS_SETENV=${KWSYS_CXX_HAS_SETENV} -DKWSYS_CXX_HAS_UNSETENV=${KWSYS_CXX_HAS_UNSETENV} -DKWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H=${KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H}")
|
COMPILE_FLAGS "-DKWSYS_CXX_HAS_SETENV=${KWSYS_CXX_HAS_SETENV} -DKWSYS_CXX_HAS_UNSETENV=${KWSYS_CXX_HAS_UNSETENV} -DKWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H=${KWSYS_CXX_HAS_ENVIRON_IN_STDLIB_H}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
IF(KWSYS_USE_SystemInformation)
|
||||||
|
SET_PROPERTY(SOURCE SystemInformation.cxx PROPERTY
|
||||||
|
COMPILE_DEFINITIONS KWSYS_USE_LONG_LONG=${KWSYS_USE_LONG_LONG}
|
||||||
|
KWSYS_USE___INT64=${KWSYS_USE___INT64})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Choose a directory for the generated headers.
|
# Choose a directory for the generated headers.
|
||||||
IF(NOT KWSYS_HEADER_ROOT)
|
IF(NOT KWSYS_HEADER_ROOT)
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
// http://msdn.microsoft.com/en-us/library/ms683219(VS.85).aspx
|
// http://msdn.microsoft.com/en-us/library/ms683219(VS.85).aspx
|
||||||
|
|
||||||
#include "kwsysPrivate.h"
|
#include "kwsysPrivate.h"
|
||||||
#include KWSYS_HEADER(FundamentalType.h)
|
|
||||||
#include KWSYS_HEADER(stl/string)
|
#include KWSYS_HEADER(stl/string)
|
||||||
#include KWSYS_HEADER(stl/vector)
|
#include KWSYS_HEADER(stl/vector)
|
||||||
#include KWSYS_HEADER(ios/iosfwd)
|
#include KWSYS_HEADER(ios/iosfwd)
|
||||||
|
@ -38,7 +37,6 @@
|
||||||
// Work-around CMake dependency scanning limitation. This must
|
// Work-around CMake dependency scanning limitation. This must
|
||||||
// duplicate the above list of headers.
|
// duplicate the above list of headers.
|
||||||
#if 0
|
#if 0
|
||||||
# include "FundamentalType.h.in"
|
|
||||||
# include "SystemInformation.hxx.in"
|
# include "SystemInformation.hxx.in"
|
||||||
# include "Process.h.in"
|
# include "Process.h.in"
|
||||||
# include "Configure.hxx.in"
|
# include "Configure.hxx.in"
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#define @KWSYS_NAMESPACE@_hash_fun_hxx
|
#define @KWSYS_NAMESPACE@_hash_fun_hxx
|
||||||
|
|
||||||
#include <@KWSYS_NAMESPACE@/Configure.hxx>
|
#include <@KWSYS_NAMESPACE@/Configure.hxx>
|
||||||
#include <@KWSYS_NAMESPACE@/FundamentalType.h>
|
|
||||||
#include <@KWSYS_NAMESPACE@/cstddef> // size_t
|
#include <@KWSYS_NAMESPACE@/cstddef> // size_t
|
||||||
#include <@KWSYS_NAMESPACE@/stl/string> // string
|
#include <@KWSYS_NAMESPACE@/stl/string> // string
|
||||||
|
|
||||||
|
@ -124,7 +123,7 @@ struct hash<unsigned long> {
|
||||||
};
|
};
|
||||||
|
|
||||||
// use long long or __int64
|
// use long long or __int64
|
||||||
#if @KWSYS_NAMESPACE@_USE_LONG_LONG
|
#if @KWSYS_USE_LONG_LONG@
|
||||||
@KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
|
@KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
|
||||||
struct hash<long long> {
|
struct hash<long long> {
|
||||||
size_t operator()(long long __x) const { return __x; }
|
size_t operator()(long long __x) const { return __x; }
|
||||||
|
@ -134,7 +133,7 @@ struct hash<long long> {
|
||||||
struct hash<unsigned long long> {
|
struct hash<unsigned long long> {
|
||||||
size_t operator()(unsigned long long __x) const { return __x; }
|
size_t operator()(unsigned long long __x) const { return __x; }
|
||||||
};
|
};
|
||||||
#elif @KWSYS_NAMESPACE@_USE___INT64
|
#elif @KWSYS_USE___INT64@
|
||||||
@KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
|
@KWSYS_NAMESPACE@_CXX_DEFINE_SPECIALIZATION
|
||||||
struct hash<__int64> {
|
struct hash<__int64> {
|
||||||
size_t operator()(__int64 __x) const { return __x; }
|
size_t operator()(__int64 __x) const { return __x; }
|
||||||
|
|
|
@ -122,6 +122,15 @@ int main()
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef TEST_KWSYS_CXX_HAS___INT64
|
||||||
|
__int64 f(__int64 n) { return n; }
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
__int64 n = 0;
|
||||||
|
return static_cast<int>(f(n));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef TEST_KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS
|
#ifdef TEST_KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS
|
||||||
template <class T> class A;
|
template <class T> class A;
|
||||||
template <class T> int f(A<T>&);
|
template <class T> int f(A<T>&);
|
||||||
|
|
Loading…
Reference in New Issue