Index: /trunk/devel/run
===================================================================
--- /trunk/devel/run	(revision 1111)
+++ /trunk/devel/run	(revision 1112)
@@ -10,4 +10,6 @@
 	if [[ $# -gt 0 ]]; then
 		args=("$@")
+	elif [[ $type = "make" ]]; then
+		args=()
 	fi
 fi
@@ -142,5 +144,5 @@
 	phpize --clean \
 	&& phpize \
-	&& CFLAGS="-g -O0 -Wall -Wno-unused -W -Wshadow -Werror=implicit-function-declaration -std=c89 -D_GNU_SOURCE -D_POSIX_SOURCE -Dinline=" ./configure \
+	&& CFLAGS="-g -O0 -pedantic-errors -Wno-variadic-macros -Wno-long-long -Wall -Wno-unused -W -Wshadow -Werror=implicit-function-declaration -std=c89 -D_GNU_SOURCE -D_POSIX_SOURCE -Dinline=" ./configure \
 		--enable-xcache-cacher \
 		--enable-xcache-optimizer \
Index: /trunk/mod_decoder/xc_decoder.c
===================================================================
--- /trunk/mod_decoder/xc_decoder.c	(revision 1111)
+++ /trunk/mod_decoder/xc_decoder.c	(revision 1112)
@@ -0,0 +1,1 @@
+static char dummy = 1;
Index: /trunk/mod_encoder/xc_encoder.c
===================================================================
--- /trunk/mod_encoder/xc_encoder.c	(revision 1111)
+++ /trunk/mod_encoder/xc_encoder.c	(revision 1112)
@@ -0,0 +1,1 @@
+static char dummy = 1;
Index: /trunk/mod_optimizer/xc_optimizer.c
===================================================================
--- /trunk/mod_optimizer/xc_optimizer.c	(revision 1111)
+++ /trunk/mod_optimizer/xc_optimizer.c	(revision 1112)
@@ -141,5 +141,5 @@
 /* {{{ op_flowinfo helper func */
 enum {
-	XC_OPNUM_INVALID = -1,
+	XC_OPNUM_INVALID = -1
 };
 typedef struct {
Index: /trunk/processor/struct.m4
===================================================================
--- /trunk/processor/struct.m4	(revision 1111)
+++ /trunk/processor/struct.m4	(revision 1112)
@@ -47,5 +47,11 @@
 			int xc_autocheck_assert_size = SIZEOF_$1, assert_count = COUNTOF_$1;
 			int xc_autocheck_done_size = 0, xc_autocheck_done_count = 0;
-			const char *xc_autocheck_assert_names[] = { ifdef(`ELEMENTSOF_$1', `ELEMENTSOF_$1') };
+			ifdef(`ELEMENTSOF_$1', `
+				const char *xc_autocheck_assert_names[] = { ELEMENTSOF_$1 };
+				size_t xc_autocheck_assert_names_count = sizeof(xc_autocheck_assert_names) / sizeof(xc_autocheck_assert_names[0]);
+			', `
+				const char **xc_autocheck_assert_names = NULL;
+				size_t xc_autocheck_assert_names_count = 0;
+			')
 			zend_bool xc_autocheck_skip = 0;
 			HashTable xc_autocheck_done_names;
@@ -75,5 +81,5 @@
 		/* {{{ autocheck */
 		if (!xc_autocheck_skip) {
-			int name_check_errors = xc_check_names(__FILE__, __LINE__, "FUNC_NAME", xc_autocheck_assert_names, sizeof(xc_autocheck_assert_names) / sizeof(xc_autocheck_assert_names[0]), &xc_autocheck_done_names);
+			int name_check_errors = xc_check_names(__FILE__, __LINE__, "FUNC_NAME", xc_autocheck_assert_names, xc_autocheck_assert_names_count, &xc_autocheck_done_names);
 
 			if (xc_autocheck_done_count != assert_count) {
Index: /trunk/xcache/xc_utils.c
===================================================================
--- /trunk/xcache/xc_utils.c	(revision 1111)
+++ /trunk/xcache/xc_utils.c	(revision 1112)
@@ -51,10 +51,13 @@
 /* }}} */
 
-static int xc_apply_function(zend_function *zf, apply_func_t applyer TSRMLS_DC) /* {{{ */
+typedef struct {
+	apply_func_t applyer;
+} xc_apply_func_info;
+static int xc_apply_function(zend_function *zf, xc_apply_func_info *fi TSRMLS_DC) /* {{{ */
 {
 	switch (zf->type) {
 	case ZEND_USER_FUNCTION:
 	case ZEND_EVAL_CODE:
-		return applyer(&zf->op_array TSRMLS_CC);
+		return fi->applyer(&zf->op_array TSRMLS_CC);
 		break;
 
@@ -69,5 +72,5 @@
 /* }}} */
 typedef struct {
-	apply_func_t applyer;
+	xc_apply_func_info fi;
 	zend_class_entry *ce;
 } xc_apply_method_info;
@@ -94,13 +97,13 @@
 	}
 #endif
-	return xc_apply_function(zf, mi->applyer TSRMLS_CC);
-}
-/* }}} */
-static int xc_apply_cest(xc_cest_t *cest, apply_func_t applyer TSRMLS_DC) /* {{{ */
+	return xc_apply_function(zf, &mi->fi TSRMLS_CC);
+}
+/* }}} */
+static int xc_apply_cest(xc_cest_t *cest, xc_apply_func_info *fi TSRMLS_DC) /* {{{ */
 {
 	xc_apply_method_info mi;
 
-	mi.applyer = applyer;
-	mi.ce      = CestToCePtr(*cest);
+	mi.fi = *fi;
+	mi.ce = CestToCePtr(*cest);
 	zend_hash_apply_with_argument(&(CestToCePtr(*cest)->function_table), (apply_func_arg_t) xc_apply_method, &mi TSRMLS_CC);
 	return 0;
@@ -109,6 +112,8 @@
 int xc_apply_op_array(xc_compile_result_t *cr, apply_func_t applyer TSRMLS_DC) /* {{{ */
 {
-	zend_hash_apply_with_argument(cr->function_table, (apply_func_arg_t) xc_apply_function, (void *) applyer TSRMLS_CC);
-	zend_hash_apply_with_argument(cr->class_table, (apply_func_arg_t) xc_apply_cest, (void *) applyer TSRMLS_CC);
+	xc_apply_func_info fi;
+	fi.applyer = applyer;
+	zend_hash_apply_with_argument(cr->function_table, (apply_func_arg_t) xc_apply_function, &fi TSRMLS_CC);
+	zend_hash_apply_with_argument(cr->class_table, (apply_func_arg_t) xc_apply_cest, &fi TSRMLS_CC);
 
 	return applyer(cr->op_array TSRMLS_CC);
