ENH: Switching KWSYS_CHAR_IS_SIGNED test to use KWSYS_PLATFORM_CXX_TEST_RUN macro.

This commit is contained in:
Brad King 2006-08-25 15:53:03 -04:00
parent 3e572c936c
commit 6c75c03143
2 changed files with 4 additions and 20 deletions

View File

@ -437,24 +437,8 @@ IF(KWSYS_USE_FundamentalType)
ENDIF(KWSYS_USE___INT64)
# Check signedness of "char" type.
IF("KWSYS_CHAR_IS_SIGNED" MATCHES "^KWSYS_CHAR_IS_SIGNED$")
MESSAGE(STATUS "Checking signedness of char")
TRY_RUN(KWSYS_CHAR_IS_SIGNED KWSYS_CHAR_IS_SIGNED_COMPILED
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/kwsysPlatformCxxTests.cxx
COMPILE_DEFINITIONS -DTEST_KWSYS_CHAR_IS_SIGNED)
IF(KWSYS_CHAR_IS_SIGNED_COMPILED)
IF(KWSYS_CHAR_IS_SIGNED)
MESSAGE(STATUS "Checking signedness of char -- signed")
SET(KWSYS_CHAR_IS_SIGNED 1 CACHE INTERNAL "Whether char is signed.")
ELSE(KWSYS_CHAR_IS_SIGNED)
MESSAGE(STATUS "Checking signedness of char -- unsigned")
SET(KWSYS_CHAR_IS_SIGNED 0 CACHE INTERNAL "Whether char is signed.")
ENDIF(KWSYS_CHAR_IS_SIGNED)
ELSE(KWSYS_CHAR_IS_SIGNED_COMPILED)
MESSAGE(FATAL_ERROR "Checking signedness of char -- failed")
ENDIF(KWSYS_CHAR_IS_SIGNED_COMPILED)
ENDIF("KWSYS_CHAR_IS_SIGNED" MATCHES "^KWSYS_CHAR_IS_SIGNED$")
KWSYS_PLATFORM_CXX_TEST_RUN(KWSYS_CHAR_IS_SIGNED
"Checking whether char is signed" DIRECT)
ENDIF(KWSYS_USE_FundamentalType)
IF(KWSYS_NAMESPACE MATCHES "^kwsys$")

View File

@ -267,11 +267,11 @@ int main()
#endif
#ifdef TEST_KWSYS_CHAR_IS_SIGNED
/* Return 1 for char signed and 0 for char unsigned. */
/* Return 0 for char signed and 1 for char unsigned. */
int main()
{
unsigned char uc = 255;
return (*reinterpret_cast<char*>(&uc) < 0)?1:0;
return (*reinterpret_cast<char*>(&uc) < 0)?0:1;
}
#endif