Commit 8e5247203720de7abd084996c00afd6fb6f6cc21

Carlos Martín Nieto 2014-03-06T16:40:34

tests: MSVC compat MSVC doesn't like declaring variables in the middle of a block, so make sure we only declare variables at the beginning of a block.

diff --git a/tests/structinit/structinit.c b/tests/structinit/structinit.c
index db7ee07..ce425be 100644
--- a/tests/structinit/structinit.c
+++ b/tests/structinit/structinit.c
@@ -19,8 +19,10 @@
  *                   signature "int (structname* instance, int version)".
  */
 #define CHECK_MACRO_FUNC_INIT_EQUAL(structname, structver, macroinit, funcinitname) \
+do { \
 	structname structname##_macro_latest = macroinit; \
 	structname structname##_func_latest; \
+	int structname##_curr_ver = structver - 1; \
 	cl_git_pass(funcinitname(&structname##_func_latest, structver)); \
 	cl_check_( \
 		memcmp(&structname##_macro_latest, &structname##_func_latest, \
@@ -28,13 +30,13 @@
 		"Macro-based and function-based initializer for " STRINGIFY(structname) \
 			" are not equivalent."); \
 	\
-	int structname##_curr_ver = structver - 1; \
 	while (structname##_curr_ver > 0) \
 	{ \
 		structname macro; \
 		cl_git_pass(funcinitname(&macro, structname##_curr_ver)); \
 		structname##_curr_ver--; \
-	}
+	}\
+} while(0)
 
 void test_structinit_structinit__compare(void)
 {