From cbf453eeb625aef603fddfc0180ec0973d827e32 Mon Sep 17 00:00:00 2001 From: KWSys Robot Date: Wed, 16 Nov 2011 03:25:07 -0500 Subject: [PATCH 1/4] KWSys Nightly Date Stamp --- Source/kwsys/kwsysDateStamp.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/kwsys/kwsysDateStamp.cmake b/Source/kwsys/kwsysDateStamp.cmake index 9e6a6d8d3..4458c1d73 100644 --- a/Source/kwsys/kwsysDateStamp.cmake +++ b/Source/kwsys/kwsysDateStamp.cmake @@ -18,4 +18,4 @@ SET(KWSYS_DATE_STAMP_YEAR 2011) SET(KWSYS_DATE_STAMP_MONTH 11) # KWSys version date day component. Format is DD. -SET(KWSYS_DATE_STAMP_DAY 14) +SET(KWSYS_DATE_STAMP_DAY 16) From 21469b65dd9238b1737acfcd57886f83578ecab7 Mon Sep 17 00:00:00 2001 From: KWSys Robot Date: Thu, 17 Nov 2011 00:05:11 -0500 Subject: [PATCH 2/4] KWSys Nightly Date Stamp --- Source/kwsys/kwsysDateStamp.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/kwsys/kwsysDateStamp.cmake b/Source/kwsys/kwsysDateStamp.cmake index 4458c1d73..5f70f8d47 100644 --- a/Source/kwsys/kwsysDateStamp.cmake +++ b/Source/kwsys/kwsysDateStamp.cmake @@ -18,4 +18,4 @@ SET(KWSYS_DATE_STAMP_YEAR 2011) SET(KWSYS_DATE_STAMP_MONTH 11) # KWSys version date day component. Format is DD. -SET(KWSYS_DATE_STAMP_DAY 16) +SET(KWSYS_DATE_STAMP_DAY 17) From 8be93fc487064c5b417ab9b0ebd4e027a5e6b9ea Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 17 Nov 2011 08:54:46 -0500 Subject: [PATCH 3/4] KWIML: Test header inclusion after system headers Some system headers may define macros that interfere with preprocessor tests in KWIML headers. Test this case to be sure that the verification checks at the bottom of the headers do not fail. --- test/CMakeLists.txt | 2 ++ test/test.c | 4 ++++ test/test_include_C.c | 22 ++++++++++++++++++++++ test/test_include_CXX.cxx | 22 ++++++++++++++++++++++ 4 files changed, 50 insertions(+) create mode 100644 test/test_include_C.c create mode 100644 test/test_include_CXX.cxx diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index febc99453..a2359cce1 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -35,6 +35,7 @@ if(KWIML_LANGUAGE_C) list(APPEND test_srcs test_ABI_C.c test_INT_C.c + test_include_C.c ) endif() if(KWIML_LANGUAGE_CXX) @@ -42,6 +43,7 @@ if(KWIML_LANGUAGE_CXX) list(APPEND test_srcs test_ABI_CXX.cxx test_INT_CXX.cxx + test_include_CXX.cxx ) endif() diff --git a/test/test.c b/test/test.c index d71a28452..131c81f92 100644 --- a/test/test.c +++ b/test/test.c @@ -16,6 +16,8 @@ extern int test_ABI_C(void); extern int test_INT_C(void); extern int test_ABI_CXX(void); extern int test_INT_CXX(void); +extern int test_include_C(void); +extern int test_include_CXX(void); #ifdef __cplusplus } // extern "C" #endif @@ -26,10 +28,12 @@ int main(void) #ifdef KWIML_LANGUAGE_C result = test_ABI_C() && result; result = test_INT_C() && result; + result = test_include_C() && result; #endif #ifdef KWIML_LANGUAGE_CXX result = test_ABI_CXX() && result; result = test_INT_CXX() && result; + result = test_include_CXX() && result; #endif return result? 0 : 1; } diff --git a/test/test_include_C.c b/test/test_include_C.c new file mode 100644 index 000000000..fb3e4cf7f --- /dev/null +++ b/test/test_include_C.c @@ -0,0 +1,22 @@ +/*============================================================================ + Kitware Information Macro Library + Copyright 2010-2011 Kitware, Inc. + + Distributed under the OSI-approved BSD License (the "License"); + see accompanying file Copyright.txt for details. + + This software is distributed WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License for more information. +============================================================================*/ +#include + +/* Test KWIML header inclusion after above system headers. */ +#include "test.h" +#include KWIML_HEADER(ABI.h) +#include KWIML_HEADER(INT.h) + +int test_include_C(void) +{ + return 1; +} diff --git a/test/test_include_CXX.cxx b/test/test_include_CXX.cxx new file mode 100644 index 000000000..057b7c21c --- /dev/null +++ b/test/test_include_CXX.cxx @@ -0,0 +1,22 @@ +/*============================================================================ + Kitware Information Macro Library + Copyright 2010-2011 Kitware, Inc. + + Distributed under the OSI-approved BSD License (the "License"); + see accompanying file Copyright.txt for details. + + This software is distributed WITHOUT ANY WARRANTY; without even the + implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the License for more information. +============================================================================*/ +#include + +/* Test KWIML header inclusion after above system headers. */ +#include "test.h" +#include KWIML_HEADER(ABI.h) +#include KWIML_HEADER(INT.h) + +extern "C" int test_include_CXX(void) +{ + return 1; +} From 9ccd639ad70c65b844f6610c5ae08a63e25f6806 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 17 Nov 2011 10:15:02 -0500 Subject: [PATCH 4/4] KWIML: Ignore _LONGLONG on MS compiler The VS 7.0 header included by most C++ system headers defines the macro _LONGLONG as __int64. Teach ABI.h to ignore the definition in this case because "long long" does not exist. --- ABI.h.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ABI.h.in b/ABI.h.in index c4121ff7a..0ec6d0ef5 100644 --- a/ABI.h.in +++ b/ABI.h.in @@ -216,7 +216,8 @@ suppression macro @KWIML@_ABI_NO_VERIFY was defined. # endif #endif #if !defined(@KWIML@_ABI_SIZEOF_LONG_LONG) -# if defined(_LONGLONG) /* SGI, some GNU, perhaps others. */ +# if defined(_LONGLONG) /* SGI, some GNU, perhaps others. */ \ + && !defined(_MSC_VER) # define @KWIML@_ABI_SIZEOF_LONG_LONG 8 # elif defined(_LONG_LONG) /* IBM XL, perhaps others. */ # define @KWIML@_ABI_SIZEOF_LONG_LONG 8