Change return type of CFCParamList_num_vars to int

Mainly because ints are easier to print.


Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/4496520b
Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/4496520b
Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/4496520b

Branch: refs/heads/master
Commit: 4496520be08e311374479ef53313e1e54af1d738
Parents: 116a44f
Author: Nick Wellnhofer <[email protected]>
Authored: Fri Apr 22 13:34:34 2016 +0200
Committer: Nick Wellnhofer <[email protected]>
Committed: Fri Apr 22 13:36:53 2016 +0200

----------------------------------------------------------------------
 compiler/perl/lib/Clownfish/CFC.xs | 10 +++++-----
 compiler/src/CFCGoTypeMap.c        | 10 +++++-----
 compiler/src/CFCParamList.c        | 18 +++++++++---------
 compiler/src/CFCParamList.h        |  2 +-
 compiler/src/CFCPerlConstructor.c  |  8 ++++----
 compiler/src/CFCPerlMethod.c       | 19 +++++++++----------
 compiler/src/CFCPerlPod.c          | 20 ++++++++++----------
 compiler/src/CFCPerlSub.c          | 24 ++++++++++++------------
 compiler/src/CFCPerlSub.h          |  4 ++--
 compiler/src/CFCPyMethod.c         | 24 ++++++++++++------------
 compiler/src/CFCTestParamList.c    |  4 ++--
 compiler/src/CFCTestParser.c       |  6 +++---
 12 files changed, 74 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/perl/lib/Clownfish/CFC.xs
----------------------------------------------------------------------
diff --git a/compiler/perl/lib/Clownfish/CFC.xs 
b/compiler/perl/lib/Clownfish/CFC.xs
index 368043c..a3e39db 100644
--- a/compiler/perl/lib/Clownfish/CFC.xs
+++ b/compiler/perl/lib/Clownfish/CFC.xs
@@ -987,8 +987,8 @@ PPCODE:
         case 2: {
                 AV *av = newAV();
                 CFCVariable **vars = CFCParamList_get_variables(self);
-                size_t num_vars = CFCParamList_num_vars(self);
-                for (size_t i = 0; i < num_vars; i++) {
+                int num_vars = CFCParamList_num_vars(self);
+                for (int i = 0; i < num_vars; i++) {
                     SV *ref = S_cfcbase_to_perlref(vars[i]);
                     av_store(av, i, ref);
                 }
@@ -999,8 +999,8 @@ PPCODE:
         case 4: {
                 AV *av = newAV();
                 const char **values = CFCParamList_get_initial_values(self);
-                size_t num_vars = CFCParamList_num_vars(self);
-                for (size_t i = 0; i < num_vars; i++) {
+                int num_vars = CFCParamList_num_vars(self);
+                for (int i = 0; i < num_vars; i++) {
                     if (values[i] != NULL) {
                         SV *val_sv = newSVpvn(values[i], strlen(values[i]));
                         av_store(av, i, val_sv);
@@ -2043,7 +2043,7 @@ PPCODE:
 SV*
 build_param_specs(self, first)
     CFCPerlSub *self;
-    size_t first;
+    int first;
 CODE:
     RETVAL = S_sv_eat_c_string(CFCPerlSub_build_param_specs(self, first));
 OUTPUT: RETVAL

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/src/CFCGoTypeMap.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCGoTypeMap.c b/compiler/src/CFCGoTypeMap.c
index 197051f..108eb8e 100644
--- a/compiler/src/CFCGoTypeMap.c
+++ b/compiler/src/CFCGoTypeMap.c
@@ -215,8 +215,8 @@ CFCGoTypeMap_go_meth_receiever(const char *struct_name,
     // Check for another argument with the same name.
     if (param_list != NULL) {
         CFCVariable **vars = CFCParamList_get_variables(param_list);
-        size_t num_vars = CFCParamList_num_vars(param_list);
-        for (size_t i = 1; i < num_vars; i++) {
+        int num_vars = CFCParamList_num_vars(param_list);
+        for (int i = 1; i < num_vars; i++) {
             const char *name = CFCVariable_get_name(vars[i]);
             if (strcmp(name, buf) == 0) {
                 // Bah, a clash.  Use the original name, even though it's
@@ -231,9 +231,9 @@ CFCGoTypeMap_go_meth_receiever(const char *struct_name,
 void
 CFCGoTypeMap_go_arg_name(CFCParamList *param_list, size_t tick, char *buf,
                          size_t buf_len) {
-    size_t num_vars = CFCParamList_num_vars(param_list);
-    if (tick >= num_vars) {
-        CFCUtil_die("Index out of range: %d >= %d", (int)tick, (int)num_vars);
+    int num_vars = CFCParamList_num_vars(param_list);
+    if (tick >= (size_t)num_vars) {
+        CFCUtil_die("Index out of range: %d >= %d", (int)tick, num_vars);
     }
     CFCVariable **vars = CFCParamList_get_variables(param_list);
     const char *orig = CFCVariable_get_name(vars[tick]);

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/src/CFCParamList.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCParamList.c b/compiler/src/CFCParamList.c
index 0a5bed2..36b101f 100644
--- a/compiler/src/CFCParamList.c
+++ b/compiler/src/CFCParamList.c
@@ -29,7 +29,7 @@ struct CFCParamList {
     CFCVariable **variables;
     char        **values;
     int           variadic;
-    size_t        num_vars;
+    int           num_vars;
     char         *c_string;
     char         *name_list;
 };
@@ -63,7 +63,7 @@ CFCParamList_init(CFCParamList *self, int variadic) {
 
 void
 CFCParamList_resolve_types(CFCParamList *self) {
-    for (size_t i = 0; self->variables[i]; ++i) {
+    for (int i = 0; self->variables[i]; ++i) {
         CFCVariable_resolve_type(self->variables[i]);
     }
 }
@@ -79,7 +79,7 @@ CFCParamList_add_param(CFCParamList *self, CFCVariable 
*variable,
         CFCType_set_nullable(type, 1);
     }
     self->num_vars++;
-    size_t amount = (self->num_vars + 1) * sizeof(void*);
+    size_t amount = ((size_t)self->num_vars + 1) * sizeof(void*);
     self->variables = (CFCVariable**)REALLOCATE(self->variables, amount);
     self->values    = (char**)REALLOCATE(self->values, amount);
     self->variables[self->num_vars - 1]
@@ -91,7 +91,7 @@ CFCParamList_add_param(CFCParamList *self, CFCVariable 
*variable,
 
 void
 CFCParamList_destroy(CFCParamList *self) {
-    for (size_t i = 0; i < self->num_vars; i++) {
+    for (int i = 0; i < self->num_vars; i++) {
         CFCBase_decref((CFCBase*)self->variables[i]);
         FREEMEM(self->values[i]);
     }
@@ -108,7 +108,7 @@ S_generate_c_strings(CFCParamList *self) {
     size_t name_list_size = 1;
 
     // Calc space requirements and allocate memory.
-    for (size_t i = 0; i < self->num_vars; i++) {
+    for (int i = 0; i < self->num_vars; i++) {
         CFCVariable *var = self->variables[i];
         c_string_size += sizeof(", ");
         c_string_size += strlen(CFCVariable_local_c(var));
@@ -127,7 +127,7 @@ S_generate_c_strings(CFCParamList *self) {
     self->name_list[0] = '\0';
 
     // Build the strings.
-    for (size_t i = 0; i < self->num_vars; i++) {
+    for (int i = 0; i < self->num_vars; i++) {
         CFCVariable *var = self->variables[i];
         strcat(self->c_string, CFCVariable_local_c(var));
         strcat(self->name_list, CFCVariable_get_name(var));
@@ -156,7 +156,7 @@ CFCParamList_get_initial_values(CFCParamList *self) {
     return (const char**)self->values;
 }
 
-size_t
+int
 CFCParamList_num_vars(CFCParamList *self) {
     return self->num_vars;
 }
@@ -185,7 +185,7 @@ CFCParamList_name_list(CFCParamList *self) {
 
 const char*
 CFCParamList_param_name(CFCParamList *self, int tick) {
-    if ((size_t)tick >= self->num_vars) {
+    if (tick >= self->num_vars) {
         CFCUtil_die("No var at position %d for ParamList (%s)", tick,
                     CFCParamList_to_c(self));
     }
@@ -194,7 +194,7 @@ CFCParamList_param_name(CFCParamList *self, int tick) {
 
 CFCType*
 CFCParamList_param_type(CFCParamList *self, int tick) {
-    if ((size_t)tick >= self->num_vars) {
+    if (tick >= self->num_vars) {
         CFCUtil_die("No var at position %d for ParamList (%s)", tick,
                     CFCParamList_to_c(self));
     }

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/src/CFCParamList.h
----------------------------------------------------------------------
diff --git a/compiler/src/CFCParamList.h b/compiler/src/CFCParamList.h
index cbc2b15..3cdc6cf 100644
--- a/compiler/src/CFCParamList.h
+++ b/compiler/src/CFCParamList.h
@@ -69,7 +69,7 @@ CFCParamList_variadic(CFCParamList *self);
 /** Return the number of variables in the ParamList, including "self" for
  * methods.
  */
-size_t
+int
 CFCParamList_num_vars(CFCParamList *self);
 
 

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/src/CFCPerlConstructor.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCPerlConstructor.c 
b/compiler/src/CFCPerlConstructor.c
index 6069aa2..1345113 100644
--- a/compiler/src/CFCPerlConstructor.c
+++ b/compiler/src/CFCPerlConstructor.c
@@ -91,7 +91,7 @@ char*
 CFCPerlConstructor_xsub_def(CFCPerlConstructor *self, CFCClass *klass) {
     const char    *c_name        = self->sub.c_name;
     CFCParamList  *param_list    = self->sub.param_list;
-    size_t         num_vars      = CFCParamList_num_vars(param_list);
+    int            num_vars      = CFCParamList_num_vars(param_list);
     CFCVariable  **arg_vars      = CFCParamList_get_variables(param_list);
     CFCVariable   *self_var      = arg_vars[0];
     CFCType       *self_type     = CFCVariable_get_type(self_var);
@@ -115,16 +115,16 @@ CFCPerlConstructor_xsub_def(CFCPerlConstructor *self, 
CFCClass *klass) {
         locate_args = CFCUtil_strdup("");
     }
     else {
-        unsigned num_params = (unsigned)num_vars - 1;
+        int num_params = num_vars - 1;
         items_check = "items < 1";
         param_specs = CFCPerlSub_build_param_specs((CFCPerlSub*)self, 1);
-        locs_decl   = CFCUtil_sprintf("    int32_t locations[%u];\n"
+        locs_decl   = CFCUtil_sprintf("    int32_t locations[%d];\n"
                                       "    SV *sv;\n",
                                       num_params);
 
         const char *pattern =
             "    XSBind_locate_args(aTHX_ &ST(0), 1, items, param_specs,\n"
-            "                       locations, %u);\n";
+            "                       locations, %d);\n";
         locate_args = CFCUtil_sprintf(pattern, num_params);
     }
 

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/src/CFCPerlMethod.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCPerlMethod.c b/compiler/src/CFCPerlMethod.c
index 313176d..2b8b3e8 100644
--- a/compiler/src/CFCPerlMethod.c
+++ b/compiler/src/CFCPerlMethod.c
@@ -239,7 +239,7 @@ S_xsub_def_labeled_params(CFCPerlMethod *self, CFCClass 
*klass) {
     CFCVariable **arg_vars   = CFCParamList_get_variables(param_list);
     CFCVariable *self_var    = arg_vars[0];
     CFCType     *return_type = CFCMethod_get_return_type(method);
-    size_t num_vars = CFCParamList_num_vars(param_list);
+    int num_vars = CFCParamList_num_vars(param_list);
     const char  *self_name   = CFCVariable_get_name(self_var);
     char *param_specs = CFCPerlSub_build_param_specs((CFCPerlSub*)self, 1);
     char *arg_decls   = CFCPerlSub_arg_declarations((CFCPerlSub*)self, 0);
@@ -311,7 +311,7 @@ S_xsub_def_positional_args(CFCPerlMethod *self, CFCClass 
*klass) {
     CFCVariable **arg_vars = CFCParamList_get_variables(param_list);
     CFCType     *return_type = CFCMethod_get_return_type(method);
     const char **arg_inits = CFCParamList_get_initial_values(param_list);
-    size_t num_vars = CFCParamList_num_vars(param_list);
+    int num_vars = CFCParamList_num_vars(param_list);
     char *arg_decls   = CFCPerlSub_arg_declarations((CFCPerlSub*)self, 0);
     char *meth_type_c = CFCMethod_full_typedef(method, klass);
     char *self_assign = S_self_assign_statement(self);
@@ -319,25 +319,24 @@ S_xsub_def_positional_args(CFCPerlMethod *self, CFCClass 
*klass) {
     char *body        = S_xsub_body(self, klass);
 
     // Determine how many args are truly required and build an error check.
-    size_t min_required = 0;
-    for (size_t i = 0; i < num_vars; i++) {
+    int min_required = 0;
+    for (int i = 0; i < num_vars; i++) {
         if (arg_inits[i] == NULL) {
             min_required = i + 1;
         }
     }
     char *num_args_cond;
     if (min_required < num_vars) {
-        const char cond_pattern[] = "items < %u || items > %u";
-        num_args_cond = CFCUtil_sprintf(cond_pattern, (unsigned)min_required,
-                                        (unsigned)num_vars);
+        const char cond_pattern[] = "items < %d || items > %d";
+        num_args_cond = CFCUtil_sprintf(cond_pattern, min_required, num_vars);
     }
     else {
-        num_args_cond = CFCUtil_sprintf("items != %u", (unsigned)num_vars);
+        num_args_cond = CFCUtil_sprintf("items != %d", num_vars);
     }
     char *xs_name_list = num_vars > 0
                          ? CFCUtil_strdup(CFCVariable_get_name(arg_vars[0]))
                          : CFCUtil_strdup("");
-    for (size_t i = 1; i < num_vars; i++) {
+    for (int i = 1; i < num_vars; i++) {
         const char *var_name = CFCVariable_get_name(arg_vars[i]);
         if (i < min_required) {
             xs_name_list = CFCUtil_cat(xs_name_list, ", ", var_name, NULL);
@@ -467,7 +466,7 @@ S_callback_start(CFCMethod *method) {
         "    SAVETMPS;\n"
         "    PUSHMARK(SP);\n"
         "    mPUSHs((SV*)CFISH_Obj_To_Host((cfish_Obj*)self, NULL));\n";
-    int num_args = (int)CFCParamList_num_vars(param_list) - 1;
+    int num_args = CFCParamList_num_vars(param_list) - 1;
     int num_to_extend = num_args == 0 ? 1
                       : num_args == 1 ? 2
                       : 1 + (num_args * 2);

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/src/CFCPerlPod.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCPerlPod.c b/compiler/src/CFCPerlPod.c
index 63105da..bdf4675 100644
--- a/compiler/src/CFCPerlPod.c
+++ b/compiler/src/CFCPerlPod.c
@@ -71,11 +71,11 @@ S_gen_code_sample(CFCCallable *func, const char *alias, 
CFCClass *klass,
 
 static char*
 S_gen_positional_sample(const char *prologue, CFCParamList *param_list,
-                        size_t start);
+                        int start);
 
 static char*
 S_gen_labeled_sample(const char *prologue, CFCParamList *param_list,
-                     size_t start);
+                     int start);
 
 static char*
 S_perl_var_name(CFCType *type, int is_ctor_retval);
@@ -422,8 +422,8 @@ S_gen_code_sample(CFCCallable *func, const char *alias, 
CFCClass *klass,
     prologue = CFCUtil_cat(prologue, "->", alias, NULL);
 
     CFCParamList *param_list = CFCCallable_get_param_list(func);
-    size_t        num_vars   = CFCParamList_num_vars(param_list);
-    size_t        start      = is_constructor ? 0 : 1;
+    int           num_vars   = CFCParamList_num_vars(param_list);
+    int           start      = is_constructor ? 0 : 1;
     char         *sample     = NULL;
 
     if (start == num_vars) {
@@ -443,8 +443,8 @@ S_gen_code_sample(CFCCallable *func, const char *alias, 
CFCClass *klass,
 
 static char*
 S_gen_positional_sample(const char *prologue, CFCParamList *param_list,
-                        size_t start) {
-    size_t        num_vars = CFCParamList_num_vars(param_list);
+                        int start) {
+    int           num_vars = CFCParamList_num_vars(param_list);
     CFCVariable **vars     = CFCParamList_get_variables(param_list);
     const char  **inits    = CFCParamList_get_initial_values(param_list);
 
@@ -470,15 +470,15 @@ S_gen_positional_sample(const char *prologue, 
CFCParamList *param_list,
 
 static char*
 S_gen_labeled_sample(const char *prologue, CFCParamList *param_list,
-                     size_t start) {
-    size_t        num_vars = CFCParamList_num_vars(param_list);
+                     int start) {
+    int           num_vars = CFCParamList_num_vars(param_list);
     CFCVariable **vars     = CFCParamList_get_variables(param_list);
     const char  **inits    = CFCParamList_get_initial_values(param_list);
 
     size_t max_name_len = 0;
 
     // Find maximum length of parameter name.
-    for (size_t i = start; i < num_vars; i++) {
+    for (int i = start; i < num_vars; i++) {
         const char *name = CFCVariable_get_name(vars[i]);
         size_t name_len = strlen(name);
         if (name_len > max_name_len) { max_name_len = name_len; }
@@ -486,7 +486,7 @@ S_gen_labeled_sample(const char *prologue, CFCParamList 
*param_list,
 
     char *params = CFCUtil_strdup("");
 
-    for (size_t i = start; i < num_vars; i++) {
+    for (int i = start; i < num_vars; i++) {
         const char *name    = CFCVariable_get_name(vars[i]);
         const char *init    = inits[i];
         char       *comment = NULL;

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/src/CFCPerlSub.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCPerlSub.c b/compiler/src/CFCPerlSub.c
index 2f1d71b..a93ea00 100644
--- a/compiler/src/CFCPerlSub.c
+++ b/compiler/src/CFCPerlSub.c
@@ -79,14 +79,14 @@ CFCPerlSub_destroy(CFCPerlSub *self) {
 }
 
 char*
-CFCPerlSub_arg_declarations(CFCPerlSub *self, size_t first) {
+CFCPerlSub_arg_declarations(CFCPerlSub *self, int first) {
     CFCParamList *param_list = self->param_list;
     CFCVariable **arg_vars   = CFCParamList_get_variables(param_list);
-    size_t        num_vars   = CFCParamList_num_vars(param_list);
+    int           num_vars   = CFCParamList_num_vars(param_list);
     char         *decls      = CFCUtil_strdup("");
 
     // Declare variables.
-    for (size_t i = first; i < num_vars; i++) {
+    for (int i = first; i < num_vars; i++) {
         CFCVariable *arg_var  = arg_vars[i];
         CFCType     *type     = CFCVariable_get_type(arg_var);
         const char  *type_str = CFCType_to_c(type);
@@ -102,10 +102,10 @@ char*
 CFCPerlSub_arg_name_list(CFCPerlSub *self) {
     CFCParamList  *param_list = self->param_list;
     CFCVariable  **arg_vars   = CFCParamList_get_variables(param_list);
-    size_t         num_vars   = CFCParamList_num_vars(param_list);
+    int            num_vars   = CFCParamList_num_vars(param_list);
     char          *name_list  = CFCUtil_strdup("");
 
-    for (size_t i = 0; i < num_vars; i++) {
+    for (int i = 0; i < num_vars; i++) {
         const char *var_name = CFCVariable_get_name(arg_vars[i]);
         if (i > 0) {
             name_list = CFCUtil_cat(name_list, ", ", NULL);
@@ -117,18 +117,18 @@ CFCPerlSub_arg_name_list(CFCPerlSub *self) {
 }
 
 char*
-CFCPerlSub_build_param_specs(CFCPerlSub *self, size_t first) {
+CFCPerlSub_build_param_specs(CFCPerlSub *self, int first) {
     CFCParamList  *param_list = self->param_list;
     CFCVariable  **arg_vars   = CFCParamList_get_variables(param_list);
     const char   **arg_inits  = CFCParamList_get_initial_values(param_list);
-    size_t         num_vars   = CFCParamList_num_vars(param_list);
+    int            num_vars   = CFCParamList_num_vars(param_list);
 
     const char *pattern
         = "    static const XSBind_ParamSpec param_specs[%d] = {";
     char *param_specs = CFCUtil_sprintf(pattern, num_vars - first);
 
     // Iterate over args in param list.
-    for (size_t i = first; i < num_vars; i++) {
+    for (int i = first; i < num_vars; i++) {
         if (i != first) {
             param_specs = CFCUtil_cat(param_specs, ",", NULL);
         }
@@ -154,17 +154,17 @@ CFCPerlSub_arg_assignments(CFCPerlSub *self) {
     CFCParamList  *param_list = self->param_list;
     CFCVariable  **arg_vars   = CFCParamList_get_variables(param_list);
     const char   **arg_inits  = CFCParamList_get_initial_values(param_list);
-    size_t         num_vars   = CFCParamList_num_vars(param_list);
+    int            num_vars   = CFCParamList_num_vars(param_list);
 
     char *arg_assigns = CFCUtil_strdup("");
 
-    for (size_t i = 1; i < num_vars; i++) {
+    for (int i = 1; i < num_vars; i++) {
         char stack_location[30];
         if (self->use_labeled_params) {
-            sprintf(stack_location, "locations[%u]", (unsigned)(i - 1));
+            sprintf(stack_location, "locations[%d]", i - 1);
         }
         else {
-            sprintf(stack_location, "%u", (unsigned)i);
+            sprintf(stack_location, "%d", i);
         }
         char *statement = S_arg_assignment(arg_vars[i], arg_inits[i],
                                            stack_location);

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/src/CFCPerlSub.h
----------------------------------------------------------------------
diff --git a/compiler/src/CFCPerlSub.h b/compiler/src/CFCPerlSub.h
index f113d7a..7d33ea2 100644
--- a/compiler/src/CFCPerlSub.h
+++ b/compiler/src/CFCPerlSub.h
@@ -70,7 +70,7 @@ CFCPerlSub_destroy(CFCPerlSub *self);
  * `first` onwards.
  */
 char*
-CFCPerlSub_arg_declarations(CFCPerlSub *self, size_t first);
+CFCPerlSub_arg_declarations(CFCPerlSub *self, int first);
 
 /** Create a comma-separated list of argument names prefixed by "arg_".
  */
@@ -81,7 +81,7 @@ CFCPerlSub_arg_name_list(CFCPerlSub *self);
  * Parameters from `first` onwards are included.
  */
 char*
-CFCPerlSub_build_param_specs(CFCPerlSub *self, size_t first);
+CFCPerlSub_build_param_specs(CFCPerlSub *self, int first);
 
 /** Generate code that that converts and assigns the arguments.
  */

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/src/CFCPyMethod.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCPyMethod.c b/compiler/src/CFCPyMethod.c
index ec29846..05626a6 100644
--- a/compiler/src/CFCPyMethod.c
+++ b/compiler/src/CFCPyMethod.c
@@ -49,12 +49,12 @@ S_maybe_unreachable(CFCType *return_type);
 
 static char*
 S_build_py_args(CFCParamList *param_list) {
-    size_t num_vars = CFCParamList_num_vars(param_list);
+    int num_vars = CFCParamList_num_vars(param_list);
     CFCVariable **vars = CFCParamList_get_variables(param_list);
     char pattern[] = "    PyObject *cfcb_ARGS = S_pack_tuple(%d";
     char *py_args = CFCUtil_sprintf(pattern, num_vars - 1);
 
-    for (size_t i = 1; vars[i] != NULL; i++) {
+    for (int i = 1; vars[i] != NULL; i++) {
         const char *var_name = CFCVariable_get_name(vars[i]);
         CFCType *type = CFCVariable_get_type(vars[i]);
         char *conversion = CFCPyTypeMap_c_to_py(type, var_name);
@@ -69,9 +69,9 @@ S_build_py_args(CFCParamList *param_list) {
 static char*
 S_gen_decs(CFCParamList *param_list, int first_tick) {
     char *decs = CFCUtil_strdup("");
-    size_t num_vars = CFCParamList_num_vars(param_list);
+    int num_vars = CFCParamList_num_vars(param_list);
     CFCVariable **vars = CFCParamList_get_variables(param_list);
-    for (int i = first_tick; i < (int)num_vars; i++) {
+    for (int i = first_tick; i < num_vars; i++) {
         CFCType *type = CFCVariable_get_type(vars[i]);
         const char *name = CFCVariable_get_name(vars[i]);
         decs = CFCUtil_cat(decs, "    ", CFCType_to_c(type), " ", name,
@@ -191,7 +191,7 @@ S_gen_arg_parsing(CFCParamList *param_list, int first_tick, 
char **error) {
 
     CFCVariable **vars = CFCParamList_get_variables(param_list);
     const char **vals = CFCParamList_get_initial_values(param_list);
-    size_t num_vars = CFCParamList_num_vars(param_list);
+    int num_vars = CFCParamList_num_vars(param_list);
 
     char *declarations = CFCUtil_strdup("");
     char *keywords     = CFCUtil_strdup("");
@@ -199,7 +199,7 @@ S_gen_arg_parsing(CFCParamList *param_list, int first_tick, 
char **error) {
     char *targets      = CFCUtil_strdup("");
     int optional_started = 0;
 
-    for (int i = first_tick; i < (int)num_vars; i++) {
+    for (int i = first_tick; i < num_vars; i++) {
         CFCVariable *var  = vars[i];
         const char  *val  = vals[i];
 
@@ -432,9 +432,9 @@ S_meth_top(CFCMethod *method) {
 static char*
 S_gen_arg_increfs(CFCParamList *param_list, int first_tick) {
     CFCVariable **vars = CFCParamList_get_variables(param_list);
-    size_t num_vars = CFCParamList_num_vars(param_list);
+    int num_vars = CFCParamList_num_vars(param_list);
     char *content = CFCUtil_strdup("");
-    for (size_t i = (size_t)first_tick; i < num_vars; i++) {
+    for (int i = first_tick; i < num_vars; i++) {
         CFCType *type = CFCVariable_get_type(vars[i]);
         if (CFCType_decremented(type)) {
             const char *name = CFCVariable_get_name(vars[i]);
@@ -454,10 +454,10 @@ S_gen_arg_increfs(CFCParamList *param_list, int 
first_tick) {
 static char*
 S_gen_decrefs(CFCParamList *param_list, int first_tick) {
     CFCVariable **vars = CFCParamList_get_variables(param_list);
-    size_t num_vars = CFCParamList_num_vars(param_list);
+    int num_vars = CFCParamList_num_vars(param_list);
     char *decrefs = CFCUtil_strdup("");
 
-    for (size_t i = (size_t)first_tick; i < num_vars; i++) {
+    for (int i = first_tick; i < num_vars; i++) {
         CFCVariable *var = vars[i];
         CFCType *type = CFCVariable_get_type(var);
         const char *micro_sym = CFCVariable_get_name(var);
@@ -479,9 +479,9 @@ S_gen_decrefs(CFCParamList *param_list, int first_tick) {
 static char*
 S_gen_arg_list(CFCParamList *param_list, const char *first_arg) {
     CFCVariable **vars = CFCParamList_get_variables(param_list);
-    size_t num_vars = CFCParamList_num_vars(param_list);
+    int num_vars = CFCParamList_num_vars(param_list);
     char *arg_list = CFCUtil_strdup("");
-    for (size_t i = 0; i < num_vars; i++) {
+    for (int i = 0; i < num_vars; i++) {
         if (i > 0) {
             arg_list = CFCUtil_cat(arg_list, ", ", NULL);
         }

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/src/CFCTestParamList.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCTestParamList.c b/compiler/src/CFCTestParamList.c
index 5a375af..9dab0b8 100644
--- a/compiler/src/CFCTestParamList.c
+++ b/compiler/src/CFCTestParamList.c
@@ -60,7 +60,7 @@ S_run_tests(CFCTest *test) {
         OK(test, CFCParamList_variadic(param_list), "variadic");
         STR_EQ(test, CFCParamList_to_c(param_list),
                "neato_Obj* self, int num, ...", "to_c");
-        UINT_EQ(test, CFCParamList_num_vars(param_list), 2, "num_vars");
+        INT_EQ(test, CFCParamList_num_vars(param_list), 2, "num_vars");
         const char **initial_values
             = CFCParamList_get_initial_values(param_list);
         STR_EQ(test, initial_values[0], "NULL", "initial_values[0]"); 
@@ -78,7 +78,7 @@ S_run_tests(CFCTest *test) {
             = CFCTest_parse_param_list(test, parser, "()");
         CFCParamList_resolve_types(param_list);
         STR_EQ(test, CFCParamList_to_c(param_list), "void", "to_c");
-        UINT_EQ(test, CFCParamList_num_vars(param_list), 0, "num_vars");
+        INT_EQ(test, CFCParamList_num_vars(param_list), 0, "num_vars");
         CFCVariable **variables = CFCParamList_get_variables(param_list);
         OK(test, variables[0] == NULL, "get_variables");
 

http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/4496520b/compiler/src/CFCTestParser.c
----------------------------------------------------------------------
diff --git a/compiler/src/CFCTestParser.c b/compiler/src/CFCTestParser.c
index 2219dba..057d5d9 100644
--- a/compiler/src/CFCTestParser.c
+++ b/compiler/src/CFCTestParser.c
@@ -228,12 +228,12 @@ S_run_tests(CFCTest *test) {
             "(int foo)",
             "(Obj *foo, Foo **foo_ptr)"
         };
-        for (size_t i = 0; i < 3; ++i) {
+        for (int i = 0; i < 3; ++i) {
             const char *param_list_string = param_list_strings[i];
             CFCParamList *param_list
                 = CFCTest_parse_param_list(test, parser, param_list_string);
-            UINT_EQ(test, CFCParamList_num_vars(param_list), i,
-                    "param list num_vars: %u", (unsigned)i);
+            INT_EQ(test, CFCParamList_num_vars(param_list), i,
+                   "param list num_vars: %d", i);
             CFCBase_decref((CFCBase*)param_list);
         }
     }

Reply via email to