Set explicit type conversion for Ruby
* RbConfig::CONFIG["CFLAGS"] includes -Wshorten-64-to-32
* This will cause compiler errors
Conflicts:
clownfish/compiler/src/CFCPerlPod.c
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/b9f1b6d2
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/b9f1b6d2
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/b9f1b6d2
Branch: refs/heads/master
Commit: b9f1b6d2857493f762899ca0f1536f5788b42c45
Parents: b7548c4
Author: Logan Bell <[email protected]>
Authored: Sat Feb 9 14:39:11 2013 -0800
Committer: Logan Bell <[email protected]>
Committed: Sat Feb 9 15:46:45 2013 -0800
----------------------------------------------------------------------
clownfish/compiler/src/CFCParseHeader.y | 2 +-
clownfish/compiler/src/CFCPerlMethod.c | 6 +++---
clownfish/compiler/src/CFCPerlPod.c | 8 ++++----
clownfish/compiler/src/CFCPerlSub.c | 4 ++--
4 files changed, 10 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy/blob/b9f1b6d2/clownfish/compiler/src/CFCParseHeader.y
----------------------------------------------------------------------
diff --git a/clownfish/compiler/src/CFCParseHeader.y
b/clownfish/compiler/src/CFCParseHeader.y
index ab72de5..a86a3c4 100644
--- a/clownfish/compiler/src/CFCParseHeader.y
+++ b/clownfish/compiler/src/CFCParseHeader.y
@@ -128,7 +128,7 @@ S_new_type(CFCParser *state, int flags, char *type_name,
(void)state; /* unused */
CFCType *type = NULL;
size_t type_name_len = strlen(type_name);
- int indirection = asterisk_postfix ? strlen(asterisk_postfix) : 0;
+ int indirection = asterisk_postfix ? (int)strlen(asterisk_postfix) : 0;
/* Apply "nullable" to outermost pointer, but "const", etc to innermost
* type. This is an ugly kludge and the Clownfish header language needs to
http://git-wip-us.apache.org/repos/asf/lucy/blob/b9f1b6d2/clownfish/compiler/src/CFCPerlMethod.c
----------------------------------------------------------------------
diff --git a/clownfish/compiler/src/CFCPerlMethod.c
b/clownfish/compiler/src/CFCPerlMethod.c
index c6bbc82..75082f5 100644
--- a/clownfish/compiler/src/CFCPerlMethod.c
+++ b/clownfish/compiler/src/CFCPerlMethod.c
@@ -285,7 +285,7 @@ S_xsub_def_positional_args(CFCPerlMethod *self) {
CFCParamList *param_list = CFCMethod_get_param_list(method);
CFCVariable **arg_vars = CFCParamList_get_variables(param_list);
const char **arg_inits = CFCParamList_get_initial_values(param_list);
- unsigned num_vars = CFCParamList_num_vars(param_list);
+ unsigned num_vars = (unsigned)CFCParamList_num_vars(param_list);
char *body = S_xsub_body(self);
// Determine how many args are truly required and build an error check.
@@ -461,7 +461,7 @@ S_callback_start(CFCMethod *method) {
" SAVETMPS;\n"
" PUSHMARK(SP);\n"
" mPUSHs((SV*)Cfish_Obj_To_Host((cfish_Obj*)self));\n";
- int num_args = CFCParamList_num_vars(param_list) - 1;
+ int num_args = (int)CFCParamList_num_vars(param_list) - 1;
int num_to_extend = num_args == 0 ? 1
: num_args == 1 ? 2
: 1 + (num_args * 2);
@@ -495,7 +495,7 @@ S_callback_start(CFCMethod *method) {
}
else if (CFCType_is_integer(type)) {
// Convert primitive integer types to IV Perl scalars.
- int width = CFCType_get_width(type);
+ int width = (int)CFCType_get_width(type);
if (width != 0 && width <= 4) {
params = CFCUtil_cat(params, " mPUSHi(",
name, ");\n", NULL);
http://git-wip-us.apache.org/repos/asf/lucy/blob/b9f1b6d2/clownfish/compiler/src/CFCPerlPod.c
----------------------------------------------------------------------
diff --git a/clownfish/compiler/src/CFCPerlPod.c
b/clownfish/compiler/src/CFCPerlPod.c
index d7a9c7e..ffc440a 100644
--- a/clownfish/compiler/src/CFCPerlPod.c
+++ b/clownfish/compiler/src/CFCPerlPod.c
@@ -227,9 +227,9 @@ static char*
S_global_replace(const char *string, const char *match,
const char *replacement) {
char *found = (char*)string;
- int string_len = strlen(string);
- int match_len = strlen(match);
- int replacement_len = strlen(replacement);
+ int string_len = (int)strlen(string);
+ int match_len = (int)strlen(match);
+ int replacement_len = (int)strlen(replacement);
int len_diff = replacement_len - match_len;
// Allocate space.
@@ -275,7 +275,7 @@ CFCPerlPod_gen_subroutine_pod(CFCPerlPod *self, CFCFunction
*func,
}
CFCParamList *param_list = CFCFunction_get_param_list(func);
- int num_vars = CFCParamList_num_vars(param_list);
+ int num_vars = (int)CFCParamList_num_vars(param_list);
char *pod = CFCUtil_sprintf("=head2 %s", alias);
// Get documentation, which may be inherited.
http://git-wip-us.apache.org/repos/asf/lucy/blob/b9f1b6d2/clownfish/compiler/src/CFCPerlSub.c
----------------------------------------------------------------------
diff --git a/clownfish/compiler/src/CFCPerlSub.c
b/clownfish/compiler/src/CFCPerlSub.c
index cb4a5d3..af98cde 100644
--- a/clownfish/compiler/src/CFCPerlSub.c
+++ b/clownfish/compiler/src/CFCPerlSub.c
@@ -47,7 +47,7 @@ CFCPerlSub_init(CFCPerlSub *self, CFCParamList *param_list,
self->c_name = (char*)MALLOCATE(c_name_len);
int j = 3;
memcpy(self->c_name, "XS_", j);
- for (int i = 0, max = strlen(self->perl_name); i < max; i++) {
+ for (int i = 0, max = (int)strlen(self->perl_name); i < max; i++) {
char c = self->perl_name[i];
if (c == ':') {
while (self->perl_name[i + 1] == ':') { i++; }
@@ -137,7 +137,7 @@ struct allot_macro_map prim_type_to_allot_macro[] = {
static char*
S_allot_params_arg(CFCType *type, const char *label, int required) {
const char *type_c_string = CFCType_to_c(type);
- unsigned label_len = strlen(label);
+ unsigned label_len = (unsigned)strlen(label);
const char *req_string = required ? "true" : "false";
if (CFCType_is_object(type)) {