[Cmake-commits] CMake branch, next, updated. v2.8.7-3148-gab8fc0f
Brad King
brad.king at kitware.com
Fri Mar 9 15:30:23 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 ab8fc0f1e52eb47d7d1443e2ca2bed9e01daa61c (commit)
via 289e5e6012053a356d6a7b9a9351c4b4127a50d9 (commit)
via f94ae0ecdac2fd8e8d68dde7dd16550bdee0493d (commit)
from 0a505f3f05dab1582d9a09fccc1855587044eb72 (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=ab8fc0f1e52eb47d7d1443e2ca2bed9e01daa61c
commit ab8fc0f1e52eb47d7d1443e2ca2bed9e01daa61c
Merge: 0a505f3 289e5e6
Author: Brad King <brad.king at kitware.com>
AuthorDate: Fri Mar 9 15:30:17 2012 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Mar 9 15:30:17 2012 -0500
Merge topic 'update-KWIML' into next
289e5e6 Merge branch 'upstream-kwiml' into update-KWIML
f94ae0e KWIML: Make test_INT robust to #define-d int#_t and INT#_C
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=289e5e6012053a356d6a7b9a9351c4b4127a50d9
commit 289e5e6012053a356d6a7b9a9351c4b4127a50d9
Merge: 285f0db f94ae0e
Author: Brad King <brad.king at kitware.com>
AuthorDate: Fri Mar 9 15:28:40 2012 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Fri Mar 9 15:28:40 2012 -0500
Merge branch 'upstream-kwiml' into update-KWIML
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f94ae0ecdac2fd8e8d68dde7dd16550bdee0493d
commit f94ae0ecdac2fd8e8d68dde7dd16550bdee0493d
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: Fri Mar 9 15:26:26 2012 -0500
KWIML: Make test_INT robust to #define-d int#_t and INT#_C
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..a8ea263 100644
--- a/test/test_INT_format.h.in
+++ b/test/test_INT_format.h.in
@@ -18,15 +18,13 @@
# 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); \
- printf(LANG "@KWIML at _INT_" #C ":" \
+ T const x = VALUE(T, U); \
+ T y = C(V); \
+ printf(LANG #C ":" \
" expression [%"@KWIML at _INT_PRI##PRI"]," \
" literal [%"@KWIML at _INT_PRI##PRI"]", x, y); \
if(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_(@KWIML at _INT_##C, V, PRI, @KWIML at _INT_##T, @KWIML at _INT_##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:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list