[Cmake-commits] CMake branch, next, updated. v2.8.7-3104-gdf4918f
Brad King
brad.king at kitware.com
Wed Mar 7 16:15:16 EST 2012
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via df4918fc7ca76d031c0b728322635df5b7260842 (commit)
via c6ae09183d85c7d7464da3563abf0e0e48fd2cfe (commit)
via 7e631b0d9d8c2f5e694527147ab6e1e5031d2fa0 (commit)
from 8863f0c43ea6a8ab592d569dd8bc6afa636d792f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=df4918fc7ca76d031c0b728322635df5b7260842
commit df4918fc7ca76d031c0b728322635df5b7260842
Merge: 8863f0c c6ae091
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Mar 7 16:15:10 2012 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Mar 7 16:15:10 2012 -0500
Merge topic 'update-KWIML' into next
c6ae091 Merge branch 'upstream-kwiml' into update-KWIML
7e631b0 KWIML: Make test_INT_format robust to #define-d intN_t types
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c6ae09183d85c7d7464da3563abf0e0e48fd2cfe
commit c6ae09183d85c7d7464da3563abf0e0e48fd2cfe
Merge: 285f0db 7e631b0
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Mar 7 16:10:50 2012 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Mar 7 16:10:50 2012 -0500
Merge branch 'upstream-kwiml' into update-KWIML
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7e631b0d9d8c2f5e694527147ab6e1e5031d2fa0
commit 7e631b0d9d8c2f5e694527147ab6e1e5031d2fa0
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Mar 7 16:05:17 2012 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Mar 7 16:05:17 2012 -0500
KWIML: Make test_INT_format robust to #define-d intN_t types
Our TEST* macro calls pass arguments such as "int64_t" with the
expectation that the preprocessing token will be used literally.
Some platforms #define int64_t as "long long" which is not a valid
preprocessing token. Perform preprocessor symbol concatenation
on the type names at the first level of macro evaluation to avoid
expanding the names.
diff --git a/test/test_INT_format.h.in b/test/test_INT_format.h.in
index 72a62f2..7b2b781 100644
--- a/test/test_INT_format.h.in
+++ b/test/test_INT_format.h.in
@@ -18,14 +18,12 @@
# define LANG "C "
#endif
-#define VALUE(T, U) \
- (@KWIML at _INT_##T)((@KWIML at _INT_##U)0xab << \
- ((sizeof(@KWIML at _INT_##T)-1)<<3)) \
+#define VALUE(T, U) (T)((U)0xab << ((sizeof(T)-1)<<3))
-#define TEST_C(C, V, PRI, T, U) \
+#define TEST_C_(C, V, PRI, T, U) \
{ \
- @KWIML at _INT_##T const x = VALUE(T, U); \
- @KWIML at _INT_##T y = @KWIML at _INT_##C(V); \
+ T const x = VALUE(T, U); \
+ T y = @KWIML at _INT_##C(V); \
printf(LANG "@KWIML at _INT_" #C ":" \
" expression [%"@KWIML at _INT_PRI##PRI"]," \
" literal [%"@KWIML at _INT_PRI##PRI"]", x, y); \
@@ -40,9 +38,9 @@
} \
}
-#define TEST_PRI(PRI, T, U, STR) \
+#define TEST_PRI_(PRI, T, U, STR) \
{ \
- @KWIML at _INT_##T const x = VALUE(T, U); \
+ T const x = VALUE(T, U); \
char const* str = STR; \
sprintf(buf, "%"@KWIML at _INT_PRI##PRI, x); \
printf(LANG "@KWIML at _INT_PRI" #PRI ":" \
@@ -58,11 +56,11 @@
} \
}
-#define TEST_SCN(SCN, T, U, STR) TEST_SCN2(SCN, SCN, T, U, STR)
-#define TEST_SCN2(PRI, SCN, T, U, STR) \
+#define TEST_SCN_(SCN, T, U, STR) TEST_SCN2_(SCN, SCN, T, U, STR)
+#define TEST_SCN2_(PRI, SCN, T, U, STR) \
{ \
- @KWIML at _INT_##T const x = VALUE(T, U); \
- @KWIML at _INT_##T y; \
+ T const x = VALUE(T, U); \
+ T y; \
char const* str = STR; \
if(sscanf(str, "%"@KWIML at _INT_SCN##SCN, &y) != 1) \
{ \
@@ -82,10 +80,24 @@
} \
}
-#define TEST(FMT, T, U, STR) TEST2(FMT, FMT, T, U, STR)
-#define TEST2(PRI, SCN, T, U, STR) \
- TEST_PRI(PRI, T, U, STR) \
- TEST_SCN2(PRI, SCN, T, U, STR)
+#define TEST_(FMT, T, U, STR) TEST2_(FMT, FMT, T, U, STR)
+#define TEST2_(PRI, SCN, T, U, STR) \
+ TEST_PRI_(PRI, T, U, STR) \
+ TEST_SCN2_(PRI, SCN, T, U, STR)
+
+/* Concatenate T and U now to avoid expanding them. */
+#define TEST(FMT, T, U, STR) \
+ TEST_(FMT, @KWIML at _INT_##T, @KWIML at _INT_##U, STR)
+#define TEST2(PRI, SCN, T, U, STR) \
+ TEST2_(PRI, SCN, @KWIML at _INT_##T, @KWIML at _INT_##U, STR)
+#define TEST_C(C, V, PRI, T, U) \
+ TEST_C_(C, V, PRI, T, U)
+#define TEST_PRI(PRI, T, U, STR) \
+ TEST_PRI_(PRI, @KWIML at _INT_##T, @KWIML at _INT_##U, STR)
+#define TEST_SCN(SCN, T, U, STR) \
+ TEST_SCN_(SCN, @KWIML at _INT_##T, @KWIML at _INT_##U, STR)
+#define TEST_SCN2(PRI, SCN, T, U, STR) \
+ TEST_SCN2_(PRI, SCN, @KWIML at _INT_##T, @KWIML at _INT_##U, STR)
static int test_INT_format(void)
{
-----------------------------------------------------------------------
Summary of changes:
Utilities/KWIML/test/test_INT_format.h.in | 44 ++++++++++++++++++----------
1 files changed, 28 insertions(+), 16 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list