summaryrefslogtreecommitdiffstats
path: root/Source/kwsys/kwsysPlatformTestsC.c
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2006-10-04 21:27:17 (GMT)
committerBrad King <brad.king@kitware.com>2006-10-04 21:27:17 (GMT)
commit40adb2ce0330020600424430fa52d743e4d504db (patch)
tree97121b6f5b2de801c8e1125cb67e67460dc180b8 /Source/kwsys/kwsysPlatformTestsC.c
parent6c19d3a86239882545ddc4dad11fe0c8d32f37ae (diff)
downloadCMake-40adb2ce0330020600424430fa52d743e4d504db.zip
CMake-40adb2ce0330020600424430fa52d743e4d504db.tar.gz
CMake-40adb2ce0330020600424430fa52d743e4d504db.tar.bz2
ENH: Adding tests KWSYS_C_HAS_PTRDIFF_T and KWSYS_C_HAS_SSIZE_T to help ProcessUNIX.c build everywhere without warnings.
Diffstat (limited to 'Source/kwsys/kwsysPlatformTestsC.c')
-rw-r--r--Source/kwsys/kwsysPlatformTestsC.c30
1 files changed, 28 insertions, 2 deletions
diff --git a/Source/kwsys/kwsysPlatformTestsC.c b/Source/kwsys/kwsysPlatformTestsC.c
index 36c5f4d..58b22f3 100644
--- a/Source/kwsys/kwsysPlatformTestsC.c
+++ b/Source/kwsys/kwsysPlatformTestsC.c
@@ -1,5 +1,7 @@
-/* Macros to define main() in a cross-platform way.
- Usage:
+/*
+ Macros to define main() in a cross-platform way.
+
+ Usage:
int KWSYS_PLATFORM_TEST_C_MAIN()
{
@@ -23,3 +25,27 @@
# define KWSYS_PLATFORM_TEST_C_MAIN_ARGS(argc, argv) \
main(int argc, char* argv[])
#endif
+
+/*--------------------------------------------------------------------------*/
+#ifdef TEST_KWSYS_C_HAS_PTRDIFF_T
+#include <stddef.h>
+int f(ptrdiff_t n) { return n > 0; }
+int KWSYS_PLATFORM_TEST_C_MAIN()
+{
+ char* p = 0;
+ ptrdiff_t d = p - p;
+ (void)d;
+ return f(p - p);
+}
+#endif
+
+/*--------------------------------------------------------------------------*/
+#ifdef TEST_KWSYS_C_HAS_SSIZE_T
+#include <unistd.h>
+int f(ssize_t n) { return (int)n; }
+int KWSYS_PLATFORM_TEST_C_MAIN()
+{
+ ssize_t n = 0;
+ return f(n);
+}
+#endif