Index: encoding.c =================================================================== --- encoding.c (revision 34755) +++ encoding.c (working copy) @@ -911,6 +911,8 @@ rb_enc_codepoint_len(const char *p, cons } else rb_raise(rb_eArgError, "invalid byte sequence in %s", rb_enc_name(enc)); + + return 0; /* not reached */ } #undef rb_enc_codepoint Index: re.c =================================================================== --- re.c (revision 34755) +++ re.c (working copy) @@ -1665,6 +1665,8 @@ name_to_backref_number(struct re_registe rb_raise(rb_eIndexError, "undefined group name reference: %s", StringValuePtr(s)); } + + return 0; /* not reached */ } /* Index: object.c =================================================================== --- object.c (revision 34755) +++ object.c (working copy) @@ -2470,6 +2470,8 @@ rb_Float(VALUE val) default: return rb_convert_type(val, T_FLOAT, "Float", "to_f"); } + + return Qnil; /* not reached */ } /* Index: io.c =================================================================== --- io.c (revision 34755) +++ io.c (working copy) @@ -2292,6 +2292,8 @@ io_readpartial(int argc, VALUE *argv, VA rb_eof_error(); else return ret; + + return Qnil; /* not reached */ } /* @@ -2353,6 +2355,8 @@ io_read_nonblock(int argc, VALUE *argv, rb_eof_error(); else return ret; + + return Qnil; /* not reached */ } /* Index: pack.c =================================================================== --- pack.c (revision 34755) +++ pack.c (working copy) @@ -2193,6 +2193,8 @@ rb_uv_to_utf8(char buf[6], unsigned long return 6; } rb_raise(rb_eRangeError, "pack(U): value out of range"); + + return 0; /* not reached */ } static const unsigned long utf8_limits[] = { Index: proc.c =================================================================== --- proc.c (revision 34755) +++ proc.c (working copy) @@ -1665,6 +1665,8 @@ rb_method_entry_arity(const rb_method_en } } rb_bug("rb_method_entry_arity: invalid method entry type (%d)", def->type); + + return 0; /* not reached */ } /* Index: vm_method.c =================================================================== --- vm_method.c (revision 34755) +++ vm_method.c (working copy) @@ -64,6 +64,8 @@ VALUE rb_f_notimplement(int argc, VALUE *argv, VALUE obj) { rb_notimplement(); + + return Qnil; /* not reached */ } static void Index: struct.c =================================================================== --- struct.c (revision 34755) +++ struct.c (working copy) @@ -681,6 +681,8 @@ rb_struct_aset_id(VALUE s, ID id, VALUE } } rb_name_error(id, "no member '%s' in struct", rb_id2name(id)); + + return Qnil; /* not reached */ } /* Index: class.c =================================================================== --- class.c (revision 34755) +++ class.c (working copy) @@ -1661,6 +1661,8 @@ rb_scan_args(int argc, const VALUE *argv else rb_raise(rb_eArgError, "wrong number of arguments (%d for %d%s)", argc, n_mand, f_var ? "+" : ""); + + return 0; /* not reached */ } /*! Index: process.c =================================================================== --- process.c (revision 34755) +++ process.c (working copy) @@ -3791,6 +3791,8 @@ rlimit_resource_type(VALUE rtype) return r; rb_raise(rb_eArgError, "invalid resource name: %s", name); + + return 0; /* not reached */ } static rlim_t @@ -3829,6 +3831,8 @@ rlimit_resource_value(VALUE rval) if (strcmp(name, "SAVED_CUR") == 0) return RLIM_SAVED_CUR; #endif rb_raise(rb_eArgError, "invalid resource value: %s", name); + + return (rlim_t)0; /* not reached */ } #endif @@ -5493,6 +5497,8 @@ p_uid_switch(VALUE obj) errno = EPERM; rb_sys_fail(0); } + + return Qnil; /* not reached */ } #else static VALUE @@ -5603,6 +5609,8 @@ p_gid_switch(VALUE obj) errno = EPERM; rb_sys_fail(0); } + + return Qnil; /* not reached */ } #else static VALUE Index: cont.c =================================================================== --- cont.c (revision 34755) +++ cont.c (working copy) @@ -1110,6 +1110,8 @@ return_fiber(void) fib->prev = Qnil; return prev; } + + return Qnil; /* not reached */ } VALUE rb_fiber_transfer(VALUE fib, int argc, VALUE *argv); Index: dmydln.c =================================================================== --- dmydln.c (revision 34755) +++ dmydln.c (working copy) @@ -4,4 +4,6 @@ void* dln_load(const char *file) { rb_loaderror("this executable file can't load extension libraries"); + + return NULL; } Index: vm_insnhelper.c =================================================================== --- vm_insnhelper.c (revision 34755) +++ vm_insnhelper.c (working copy) @@ -1464,6 +1464,8 @@ vm_search_normal_superclass(VALUE klass, else { rb_bug("vm_search_normal_superclass: should not be reach here"); } + + return Qnil; /* not reached */ } static void Index: bignum.c =================================================================== --- bignum.c (revision 34755) +++ bignum.c (working copy) @@ -2992,7 +2992,8 @@ big_fdiv(VALUE x, VALUE y) goto bignum; } rb_bug("big_fdiv"); - /* NOTREACHED */ + + return Qnil; /* NOTREACHED */ } /* Index: marshal.c =================================================================== --- marshal.c (revision 34755) +++ marshal.c (working copy) @@ -1143,6 +1143,8 @@ r_symlink(struct load_arg *arg) return (ID)id; } rb_raise(rb_eArgError, "bad symbol"); + + return (ID)NULL; /* not reached */ } static ID @@ -1190,6 +1192,8 @@ r_symbol(struct load_arg *arg) rb_raise(rb_eArgError, "dump format error for symbol(0x%x)", type); break; } + + return (ID)NULL; /* not reached */ } static VALUE