From 20e911dfa84f20ce9312287abd81056474ddeba1 Mon Sep 17 00:00:00 2001 From: Stefan Karpinski Date: Sat, 11 Jun 2011 12:03:13 -0400 Subject: [PATCH] Make for loops, while loops, and return w/o arg return Nothing. --- src/alloc.c | 2 +- src/builtins.c | 24 ++++++++++++------------ src/codegen.cpp | 2 +- src/interpreter.c | 4 ++-- src/jltypes.c | 3 ++- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/alloc.c b/src/alloc.c index 44b792cfb806c..3e9b62fc537f7 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -489,7 +489,7 @@ void jl_add_constructors(jl_struct_type_t *t) } jl_function_t *fnew=NULL; JL_GC_PUSH(&fnew); - if (t->ctor_factory == (jl_value_t*)jl_null) { + if (t->ctor_factory == (jl_value_t*)jl_nothing) { // no user-defined constructors if (t->parameters->length>0 && (jl_value_t*)t==t->name->primary) { jl_function_t *tf = (jl_function_t*)t; diff --git a/src/builtins.c b/src/builtins.c index ed10301d6669f..0706fbd407c9e 100644 --- a/src/builtins.c +++ b/src/builtins.c @@ -613,14 +613,14 @@ JL_CALLABLE(jl_f_print_array_uint8) ios_t *s = jl_current_output_stream(); jl_array_t *b = (jl_array_t*)args[0]; ios_write(s, (char*)b->data, b->length); - return (jl_value_t*)jl_null; + return (jl_value_t*)jl_nothing; } JL_CALLABLE(jl_f_print_symbol) { ios_t *s = jl_current_output_stream(); ios_puts(((jl_sym_t*)args[0])->name, s); - return (jl_value_t*)jl_null; + return (jl_value_t*)jl_nothing; } // --- showing --- @@ -788,7 +788,7 @@ JL_CALLABLE(jl_f_show_bool) ios_puts("false", s); else ios_puts("true", s); - return (jl_value_t*)jl_null; + return (jl_value_t*)jl_nothing; } JL_CALLABLE(jl_f_show_char) @@ -798,26 +798,26 @@ JL_CALLABLE(jl_f_show_char) ios_putc('\'', s); ios_pututf8(s, wc); ios_putc('\'', s); - return (jl_value_t*)jl_null; + return (jl_value_t*)jl_nothing; } JL_CALLABLE(jl_f_show_float32) { show_float64((double)*(float*)jl_bits_data(args[0]), 1); - return (jl_value_t*)jl_null; + return (jl_value_t*)jl_nothing; } JL_CALLABLE(jl_f_show_float64) { show_float64(*(double*)jl_bits_data(args[0]), 0); - return (jl_value_t*)jl_null; + return (jl_value_t*)jl_nothing; } #define INT_SHOW_FUNC(sgn,nb) \ JL_CALLABLE(jl_f_show_##sgn##nb) \ { \ show_##sgn(jl_bits_data(args[0]), nb); \ - return (jl_value_t*)jl_null; \ + return (jl_value_t*)jl_nothing; \ } INT_SHOW_FUNC(int,8) @@ -842,7 +842,7 @@ JL_CALLABLE(jl_f_show_pointer) #else ios_printf(s, " @0x%08x", (uptrint_t)ptr); #endif - return (jl_value_t*)jl_null; + return (jl_value_t*)jl_nothing; } JL_CALLABLE(jl_f_show_typevar) @@ -858,7 +858,7 @@ JL_CALLABLE(jl_f_show_typevar) ios_puts("<:", s); jl_show((jl_value_t*)tv->ub); } - return (jl_value_t*)jl_null; + return (jl_value_t*)jl_nothing; } JL_CALLABLE(jl_f_show_linfo) @@ -867,7 +867,7 @@ JL_CALLABLE(jl_f_show_linfo) ios_puts("AST(", s); jl_show(((jl_lambda_info_t*)args[0])->ast); ios_putc(')', s); - return (jl_value_t*)jl_null; + return (jl_value_t*)jl_nothing; } JL_CALLABLE(jl_f_show_any) @@ -911,7 +911,7 @@ JL_CALLABLE(jl_f_show_any) ios_putc(')', s); } } - return (jl_value_t*)jl_null; + return (jl_value_t*)jl_nothing; } // --- RTS primitives --- @@ -989,7 +989,7 @@ JL_CALLABLE(jl_f_new_struct_type) JL_TYPECHK(new_struct_type, symbol, args[0]); JL_TYPECHK(new_struct_type, tuple, args[1]); JL_TYPECHK(new_struct_type, tuple, args[2]); - if (args[3] != (jl_value_t*)jl_null) + if (args[3] != (jl_value_t*)jl_nothing) JL_TYPECHK(new_struct_type, function, args[3]); jl_sym_t *name = (jl_sym_t*)args[0]; jl_tuple_t *params = (jl_tuple_t*)args[1]; diff --git a/src/codegen.cpp b/src/codegen.cpp index bad8831258ae9..23079cf57cee5 100644 --- a/src/codegen.cpp +++ b/src/codegen.cpp @@ -1142,7 +1142,7 @@ static Value *emit_expr(jl_value_t *expr, jl_codectx_t *ctx, bool value) return literal_pointer_val(jv); } else if (ex->head == null_sym) { - return literal_pointer_val((jl_value_t*)jl_null); + return literal_pointer_val((jl_value_t*)jl_nothing); // jl_nothing } else if (ex->head == static_typeof_sym) { jl_value_t *extype = expr_type((jl_value_t*)ex); diff --git a/src/interpreter.c b/src/interpreter.c index 51fe50f50f0c9..aa3fe7467e0a6 100644 --- a/src/interpreter.c +++ b/src/interpreter.c @@ -80,7 +80,7 @@ static jl_value_t *eval(jl_value_t *e, jl_value_t **locals, size_t nl) else if (ex->head == assign_sym) { jl_value_t *sym = args[0]; size_t i; - for(i=0; i < nl; i++) { + for (i=0; i < nl; i++) { if (locals[i*2] == sym) { locals[i*2+1] = eval(args[1], locals, nl); return (jl_value_t*)jl_null; @@ -105,7 +105,7 @@ static jl_value_t *eval(jl_value_t *e, jl_value_t **locals, size_t nl) return args[0]; } else if (ex->head == null_sym) { - return (jl_value_t*)jl_null; + return (jl_value_t*)jl_nothing; // jl_nothing } else if (ex->head == body_sym) { return eval_body(ex->args, locals, nl, 0); diff --git a/src/jltypes.c b/src/jltypes.c index 5dcc44602751d..497a06530cf59 100644 --- a/src/jltypes.c +++ b/src/jltypes.c @@ -1294,7 +1294,7 @@ static jl_type_t *inst_type_w_(jl_value_t *t, jl_value_t **env, size_t n, nst->ctor_factory = st->ctor_factory; nst->instance = NULL; nst->uid = 0; - nst->types = jl_null; + nst->types = jl_null; // duplicate assignment? nst->super = (jl_tag_type_t*)inst_type_w_((jl_value_t*)st->super, env,n,stack); jl_tuple_t *ftypes = st->types; if (ftypes != NULL) { @@ -1943,6 +1943,7 @@ void jl_init_types() jl_null = (jl_tuple_t*)newobj((jl_type_t*)jl_tuple_type, 1); jl_null->length = 0; + jl_nothing = (jl_struct_type_t*)jl_null; // for bootstrapping // initialize them. lots of cycles. jl_struct_kind->name = jl_new_typename(jl_symbol("StructKind"));