Skip to content

Commit

Permalink
* encoding.c (rb_enc_codepoint_len): Use UNREACHABLE to avoid "control
Browse files Browse the repository at this point in the history
  reaches end of non-void function" warnings.  [ruby-trunk - Bug ruby#6066]
* re.c (name_to_backref_number):  ditto.
* object.c (rb_Float):  ditto.
* io.c (io_readpartial):  ditto.
* io.c (io_read_nonblock):  ditto.
* pack.c (rb_uv_to_utf8):  ditto.
* proc.c (rb_method_entry_arity):  ditto.
* vm_method.c (rb_f_notimplement):  ditto.
* struct.c (rb_struct_aset_id):  ditto.
* class.c (rb_scan_args):  ditto.
* process.c (rlimit_resource_type):  ditto.
* process.c (rlimit_resource_value):  ditto.
* process.c (p_uid_switch):  ditto.
* process.c (p_gid_switch):  ditto.
* ext/digest/digest.c (rb_digest_instance_update):  ditto.
* ext/digest/digest.c (rb_digest_instance_finish):  ditto.
* ext/digest/digest.c (rb_digest_instance_reset):  ditto.
* ext/digest/digest.c (rb_digest_instance_block_length):  ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimalCmp):  ditto.
* ext/dl/handle.c (rb_dlhandle_close):  ditto.
* ext/tk/tcltklib.c (pending_exception_check0):  ditto.
* ext/tk/tcltklib.c (pending_exception_check1):  ditto.
* ext/tk/tcltklib.c (ip_cancel_eval_core):  ditto.
* ext/tk/tcltklib.c (lib_get_reltype_name):  ditto.
* ext/tk/tcltklib.c (create_dummy_encoding_for_tk_core):  ditto.
* ext/tk/tkutil/tkutil.c (tk_hash_kv):  ditto.
* ext/openssl/ossl_ssl.c (ossl_ssl_session_reused):  ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_dsa_verify_asn1):  ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_at_infinit):  ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_on_curve):  ditto.
* ext/fiddle/conversions.c (generic_to_value):  ditto.
* ext/socket/raddrinfo.c (rsock_io_socket_addrinfo):  ditto.
* ext/socket/socket.c (sock_s_getnameinfo):  ditto.
* ext/ripper/eventids2.c (ripper_token2eventid):  ditto.
* cont.c (return_fiber):  ditto.
* dmydln.c (dln_load):  ditto.
* vm_insnhelper.c (vm_search_normal_superclass):  ditto.
* bignum.c (big_fdiv):  ditto.
* marshal.c (r_symlink):  ditto.
* marshal.c (r_symbol):  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
drbrain committed Apr 13, 2012
1 parent d377a6f commit da39d32
Show file tree
Hide file tree
Showing 27 changed files with 124 additions and 1 deletion.
44 changes: 44 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,47 @@
Sat Apr 14 08:38:20 2012 Eric Hodel <[email protected]>

* encoding.c (rb_enc_codepoint_len): Use UNREACHABLE to avoid "control
reaches end of non-void function" warnings. [ruby-trunk - Bug #6066]
* re.c (name_to_backref_number): ditto.
* object.c (rb_Float): ditto.
* io.c (io_readpartial): ditto.
* io.c (io_read_nonblock): ditto.
* pack.c (rb_uv_to_utf8): ditto.
* proc.c (rb_method_entry_arity): ditto.
* vm_method.c (rb_f_notimplement): ditto.
* struct.c (rb_struct_aset_id): ditto.
* class.c (rb_scan_args): ditto.
* process.c (rlimit_resource_type): ditto.
* process.c (rlimit_resource_value): ditto.
* process.c (p_uid_switch): ditto.
* process.c (p_gid_switch): ditto.
* ext/digest/digest.c (rb_digest_instance_update): ditto.
* ext/digest/digest.c (rb_digest_instance_finish): ditto.
* ext/digest/digest.c (rb_digest_instance_reset): ditto.
* ext/digest/digest.c (rb_digest_instance_block_length): ditto.
* ext/bigdecimal/bigdecimal.c (BigDecimalCmp): ditto.
* ext/dl/handle.c (rb_dlhandle_close): ditto.
* ext/tk/tcltklib.c (pending_exception_check0): ditto.
* ext/tk/tcltklib.c (pending_exception_check1): ditto.
* ext/tk/tcltklib.c (ip_cancel_eval_core): ditto.
* ext/tk/tcltklib.c (lib_get_reltype_name): ditto.
* ext/tk/tcltklib.c (create_dummy_encoding_for_tk_core): ditto.
* ext/tk/tkutil/tkutil.c (tk_hash_kv): ditto.
* ext/openssl/ossl_ssl.c (ossl_ssl_session_reused): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_key_dsa_verify_asn1): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_at_infinit): ditto.
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_is_on_curve): ditto.
* ext/fiddle/conversions.c (generic_to_value): ditto.
* ext/socket/raddrinfo.c (rsock_io_socket_addrinfo): ditto.
* ext/socket/socket.c (sock_s_getnameinfo): ditto.
* ext/ripper/eventids2.c (ripper_token2eventid): ditto.
* cont.c (return_fiber): ditto.
* dmydln.c (dln_load): ditto.
* vm_insnhelper.c (vm_search_normal_superclass): ditto.
* bignum.c (big_fdiv): ditto.
* marshal.c (r_symlink): ditto.
* marshal.c (r_symbol): ditto.

Fri Apr 13 17:12:09 2012 NARUSE, Yui <[email protected]>

* hash.c (inspect_i): keep string's coderange.
Expand Down
3 changes: 2 additions & 1 deletion bignum.c
Original file line number Diff line number Diff line change
Expand Up @@ -3001,7 +3001,8 @@ big_fdiv(VALUE x, VALUE y)
goto bignum;
}
rb_bug("big_fdiv");
/* NOTREACHED */

UNREACHABLE;
}

/*
Expand Down
2 changes: 2 additions & 0 deletions class.c
Original file line number Diff line number Diff line change
Expand Up @@ -1656,6 +1656,8 @@ rb_scan_args(int argc, const VALUE *argv, const char *fmt, ...)

argc_error:
rb_error_arity(argc, n_mand, f_var ? UNLIMITED_ARGUMENTS : n_mand + n_opt);

UNREACHABLE;
}

/*!
Expand Down
2 changes: 2 additions & 0 deletions cont.c
Original file line number Diff line number Diff line change
Expand Up @@ -1110,6 +1110,8 @@ return_fiber(void)
fib->prev = Qnil;
return prev;
}

UNREACHABLE;
}

VALUE rb_fiber_transfer(VALUE fib, int argc, VALUE *argv);
Expand Down
2 changes: 2 additions & 0 deletions dmydln.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@ void*
dln_load(const char *file)
{
rb_loaderror("this executable file can't load extension libraries");

UNREACHABLE;
}
2 changes: 2 additions & 0 deletions encoding.c
Original file line number Diff line number Diff line change
Expand Up @@ -928,6 +928,8 @@ rb_enc_codepoint_len(const char *p, const char *e, int *len_p, rb_encoding *enc)
}
else
rb_raise(rb_eArgError, "invalid byte sequence in %s", rb_enc_name(enc));

UNREACHABLE;
}

#undef rb_enc_codepoint
Expand Down
2 changes: 2 additions & 0 deletions ext/bigdecimal/bigdecimal.c
Original file line number Diff line number Diff line change
Expand Up @@ -971,6 +971,8 @@ BigDecimalCmp(VALUE self, VALUE r,char op)
}

rb_bug("Undefined operation in BigDecimalCmp()");

UNREACHABLE;
}

/* Returns True if the value is zero. */
Expand Down
8 changes: 8 additions & 0 deletions ext/digest/digest.c
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,8 @@ static VALUE
rb_digest_instance_update(VALUE self, VALUE str)
{
rb_digest_instance_method_unimpl(self, "update");

UNREACHABLE;
}

/*
Expand All @@ -172,6 +174,8 @@ static VALUE
rb_digest_instance_finish(VALUE self)
{
rb_digest_instance_method_unimpl(self, "finish");

UNREACHABLE;
}

/*
Expand All @@ -186,6 +190,8 @@ static VALUE
rb_digest_instance_reset(VALUE self)
{
rb_digest_instance_method_unimpl(self, "reset");

UNREACHABLE;
}

/*
Expand Down Expand Up @@ -409,6 +415,8 @@ static VALUE
rb_digest_instance_block_length(VALUE self)
{
rb_digest_instance_method_unimpl(self, "block_length");

UNREACHABLE;
}

/*
Expand Down
2 changes: 2 additions & 0 deletions ext/dl/handle.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ rb_dlhandle_close(VALUE self)
return INT2NUM(ret);
}
rb_raise(rb_eDLError, "dlclose() called too many times");

UNREACHABLE;
}

VALUE
Expand Down
2 changes: 2 additions & 0 deletions ext/fiddle/conversions.c
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,8 @@ generic_to_value(VALUE rettype, fiddle_generic retval)
default:
rb_raise(rb_eRuntimeError, "unknown type %d", type);
}

UNREACHABLE;
}

/* vim: set noet sw=4 sts=4 */
6 changes: 6 additions & 0 deletions ext/openssl/ossl_pkey_ec.c
Original file line number Diff line number Diff line change
Expand Up @@ -700,6 +700,8 @@ static VALUE ossl_ec_key_dsa_verify_asn1(VALUE self, VALUE data, VALUE sig)
}

ossl_raise(eECError, "ECDSA_verify");

UNREACHABLE;
}

static void ossl_ec_group_free(ossl_ec_group *ec_group)
Expand Down Expand Up @@ -1349,6 +1351,8 @@ static VALUE ossl_ec_point_is_at_infinity(VALUE self)
case 0: return Qfalse;
default: ossl_raise(cEC_POINT, "EC_POINT_is_at_infinity");
}

UNREACHABLE;
}

/*
Expand All @@ -1370,6 +1374,8 @@ static VALUE ossl_ec_point_is_on_curve(VALUE self)
case 0: return Qfalse;
default: ossl_raise(cEC_POINT, "EC_POINT_is_on_curve");
}

UNREACHABLE;
}

/*
Expand Down
2 changes: 2 additions & 0 deletions ext/openssl/ossl_ssl.c
Original file line number Diff line number Diff line change
Expand Up @@ -1593,6 +1593,8 @@ ossl_ssl_session_reused(VALUE self)
case 0: return Qfalse;
default: ossl_raise(eSSLError, "SSL_session_reused");
}

UNREACHABLE;
}

/*
Expand Down
2 changes: 2 additions & 0 deletions ext/ripper/eventids2.c
Original file line number Diff line number Diff line change
Expand Up @@ -275,4 +275,6 @@ ripper_token2eventid(int tok)
return ripper_id_CHAR;
}
rb_raise(rb_eRuntimeError, "[Ripper FATAL] unknown token %d", tok);

UNREACHABLE;
}
2 changes: 2 additions & 0 deletions ext/socket/raddrinfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -2144,6 +2144,8 @@ rsock_io_socket_addrinfo(VALUE io, struct sockaddr *addr, socklen_t len)
default:
rb_raise(rb_eTypeError, "neither IO nor file descriptor");
}

UNREACHABLE;
}

/*
Expand Down
2 changes: 2 additions & 0 deletions ext/socket/socket.c
Original file line number Diff line number Diff line change
Expand Up @@ -1334,6 +1334,8 @@ sock_s_getnameinfo(int argc, VALUE *argv)
error_exit_name:
if (res) freeaddrinfo(res);
rsock_raise_socket_error("getnameinfo", error);

UNREACHABLE;
}

/*
Expand Down
10 changes: 10 additions & 0 deletions ext/tk/tcltklib.c
Original file line number Diff line number Diff line change
Expand Up @@ -1407,6 +1407,8 @@ pending_exception_check0()
} else {
return 0;
}

UNREACHABLE;
}

static int
Expand Down Expand Up @@ -1448,6 +1450,8 @@ pending_exception_check1(thr_crit_bup, ptr)
} else {
return 0;
}

UNREACHABLE;
}


Expand Down Expand Up @@ -7781,6 +7785,8 @@ ip_cancel_eval_core(interp, msg, flag)
#if TCL_MAJOR_VERSION < 8 || (TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 6)
rb_raise(rb_eNotImpError,
"cancel_eval is supported Tcl/Tk8.6 or later.");

UNREACHABLE;
#else
Tcl_Obj *msg_obj;

Expand Down Expand Up @@ -10014,6 +10020,8 @@ lib_get_reltype_name(self)
default:
rb_raise(rb_eRuntimeError, "tcltklib has invalid release type number");
}

UNREACHABLE;
}


Expand Down Expand Up @@ -10117,6 +10125,8 @@ create_dummy_encoding_for_tk_core(interp, name, error_mode)
return Qnil;
}
}

UNREACHABLE;
#else
return name;
#endif
Expand Down
2 changes: 2 additions & 0 deletions ext/tk/tkutil/tkutil.c
Original file line number Diff line number Diff line change
Expand Up @@ -800,6 +800,8 @@ tk_hash_kv(argc, argv, self)
}
rb_raise(rb_eArgError, "Hash is expected for 1st argument");
}

UNREACHABLE;
}

static VALUE
Expand Down
4 changes: 4 additions & 0 deletions io.c
Original file line number Diff line number Diff line change
Expand Up @@ -2338,6 +2338,8 @@ io_readpartial(int argc, VALUE *argv, VALUE io)
rb_eof_error();
else
return ret;

UNREACHABLE;
}

/*
Expand Down Expand Up @@ -2399,6 +2401,8 @@ io_read_nonblock(int argc, VALUE *argv, VALUE io)
rb_eof_error();
else
return ret;

UNREACHABLE;
}

/*
Expand Down
4 changes: 4 additions & 0 deletions marshal.c
Original file line number Diff line number Diff line change
Expand Up @@ -1147,6 +1147,8 @@ r_symlink(struct load_arg *arg)
return (ID)id;
}
rb_raise(rb_eArgError, "bad symbol");

UNREACHABLE;
}

static ID
Expand Down Expand Up @@ -1193,6 +1195,8 @@ r_symbol(struct load_arg *arg)
rb_raise(rb_eArgError, "dump format error for symbol(0x%x)", type);
break;
}

UNREACHABLE;
}

static VALUE
Expand Down
2 changes: 2 additions & 0 deletions object.c
Original file line number Diff line number Diff line change
Expand Up @@ -2483,6 +2483,8 @@ rb_Float(VALUE val)
default:
return rb_convert_type(val, T_FLOAT, "Float", "to_f");
}

UNREACHABLE;
}

/*
Expand Down
2 changes: 2 additions & 0 deletions pack.c
Original file line number Diff line number Diff line change
Expand Up @@ -2199,6 +2199,8 @@ rb_uv_to_utf8(char buf[6], unsigned long uv)
return 6;
}
rb_raise(rb_eRangeError, "pack(U): value out of range");

UNREACHABLE;
}

static const unsigned long utf8_limits[] = {
Expand Down
2 changes: 2 additions & 0 deletions proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1663,6 +1663,8 @@ rb_method_entry_arity(const rb_method_entry_t *me)
}
}
rb_bug("rb_method_entry_arity: invalid method entry type (%d)", def->type);

UNREACHABLE;
}

/*
Expand Down
8 changes: 8 additions & 0 deletions process.c
Original file line number Diff line number Diff line change
Expand Up @@ -3829,6 +3829,8 @@ rlimit_resource_type(VALUE rtype)
return r;

rb_raise(rb_eArgError, "invalid resource name: %s", name);

UNREACHABLE;
}

static rlim_t
Expand Down Expand Up @@ -3867,6 +3869,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);

UNREACHABLE;
}
#endif

Expand Down Expand Up @@ -5690,6 +5694,8 @@ p_uid_switch(VALUE obj)
errno = EPERM;
rb_sys_fail(0);
}

UNREACHABLE;
}
#else
static VALUE
Expand Down Expand Up @@ -5803,6 +5809,8 @@ p_gid_switch(VALUE obj)
errno = EPERM;
rb_sys_fail(0);
}

UNREACHABLE;
}
#else
static VALUE
Expand Down
2 changes: 2 additions & 0 deletions re.c
Original file line number Diff line number Diff line change
Expand Up @@ -1665,6 +1665,8 @@ name_to_backref_number(struct re_registers *regs, VALUE regexp, const char* name
rb_raise(rb_eIndexError, "undefined group name reference: %s",
StringValuePtr(s));
}

UNREACHABLE;
}

/*
Expand Down
2 changes: 2 additions & 0 deletions struct.c
Original file line number Diff line number Diff line change
Expand Up @@ -681,6 +681,8 @@ rb_struct_aset_id(VALUE s, ID id, VALUE val)
}
}
rb_name_error(id, "no member '%s' in struct", rb_id2name(id));

UNREACHABLE;
}

/*
Expand Down
2 changes: 2 additions & 0 deletions vm_insnhelper.c
Original file line number Diff line number Diff line change
Expand Up @@ -1462,6 +1462,8 @@ vm_search_normal_superclass(VALUE klass, VALUE recv)
else {
rb_bug("vm_search_normal_superclass: should not be reach here");
}

UNREACHABLE;
}

static void
Expand Down
Loading

0 comments on commit da39d32

Please sign in to comment.