[Cmake-commits] [cmake-commits] king committed CMakeLists.txt 1.151 1.152 kwsysPlatformTestsCXX.cxx 1.6 1.7
cmake-commits at cmake.org
cmake-commits at cmake.org
Fri Nov 20 08:37:35 EST 2009
Update of /cvsroot/CMake/CMake/Source/kwsys
In directory public:/mounts/ram/cvs-serv28219/Source/kwsys
Modified Files:
CMakeLists.txt kwsysPlatformTestsCXX.cxx
Log Message:
Check for 'long long' without computing size
In KWSys IOStream we need to detect whether 'long long' exists but we do
not need its size. We avoid using CHECK_TYPE_SIZE because it does not
work for types whose size varies across architectuers in Mac OS X
universal binaries. See issue #9913.
Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/kwsys/CMakeLists.txt,v
retrieving revision 1.151
retrieving revision 1.152
diff -C 2 -d -r1.151 -r1.152
*** CMakeLists.txt 20 Nov 2009 13:37:10 -0000 1.151
--- CMakeLists.txt 20 Nov 2009 13:37:33 -0000 1.152
***************
*** 535,540 ****
IF(KWSYS_USE_IOStream)
# Determine whether iostreams support long long.
! CHECK_TYPE_SIZE("long long" KWSYS_SIZEOF_LONG_LONG)
! IF(KWSYS_SIZEOF_LONG_LONG)
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES
-DKWSYS_IOS_USE_ANSI=${KWSYS_IOS_USE_ANSI}
--- 535,541 ----
IF(KWSYS_USE_IOStream)
# 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)
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES
-DKWSYS_IOS_USE_ANSI=${KWSYS_IOS_USE_ANSI}
***************
*** 545,552 ****
"Checking if ostream supports long long" DIRECT)
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES)
! ELSE(KWSYS_SIZEOF_LONG_LONG)
SET(KWSYS_IOS_HAS_ISTREAM_LONG_LONG 0)
SET(KWSYS_IOS_HAS_OSTREAM_LONG_LONG 0)
! ENDIF(KWSYS_SIZEOF_LONG_LONG)
ENDIF(KWSYS_USE_IOStream)
--- 546,553 ----
"Checking if ostream supports long long" DIRECT)
SET(KWSYS_PLATFORM_CXX_TEST_DEFINES)
! ELSE()
SET(KWSYS_IOS_HAS_ISTREAM_LONG_LONG 0)
SET(KWSYS_IOS_HAS_OSTREAM_LONG_LONG 0)
! ENDIF()
ENDIF(KWSYS_USE_IOStream)
Index: kwsysPlatformTestsCXX.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/kwsys/kwsysPlatformTestsCXX.cxx,v
retrieving revision 1.6
retrieving revision 1.7
diff -C 2 -d -r1.6 -r1.7
*** kwsysPlatformTestsCXX.cxx 28 Sep 2009 15:37:23 -0000 1.6
--- kwsysPlatformTestsCXX.cxx 20 Nov 2009 13:37:33 -0000 1.7
***************
*** 114,117 ****
--- 114,126 ----
#endif
+ #ifdef TEST_KWSYS_CXX_HAS_LONG_LONG
+ long long f(long long n) { return n; }
+ int main()
+ {
+ long long n = 0;
+ return static_cast<int>(f(n));
+ }
+ #endif
+
#ifdef TEST_KWSYS_CXX_HAS_NULL_TEMPLATE_ARGS
template <class T> class A;
More information about the Cmake-commits
mailing list