* 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35321 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
drbrain 2012-04-13 23:45:37 +00:00
Родитель d377a6fffe
Коммит da39d32f60
27 изменённых файлов: 124 добавлений и 1 удалений

Просмотреть файл

@ -1,3 +1,47 @@
Sat Apr 14 08:38:20 2012 Eric Hodel <drbrain@segment7.net>
* 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 <naruse@ruby-lang.org> Fri Apr 13 17:12:09 2012 NARUSE, Yui <naruse@ruby-lang.org>
* hash.c (inspect_i): keep string's coderange. * hash.c (inspect_i): keep string's coderange.

Просмотреть файл

@ -3001,7 +3001,8 @@ big_fdiv(VALUE x, VALUE y)
goto bignum; goto bignum;
} }
rb_bug("big_fdiv"); rb_bug("big_fdiv");
/* NOTREACHED */
UNREACHABLE;
} }
/* /*

Просмотреть файл

@ -1656,6 +1656,8 @@ rb_scan_args(int argc, const VALUE *argv, const char *fmt, ...)
argc_error: argc_error:
rb_error_arity(argc, n_mand, f_var ? UNLIMITED_ARGUMENTS : n_mand + n_opt); rb_error_arity(argc, n_mand, f_var ? UNLIMITED_ARGUMENTS : n_mand + n_opt);
UNREACHABLE;
} }
/*! /*!

2
cont.c
Просмотреть файл

@ -1110,6 +1110,8 @@ return_fiber(void)
fib->prev = Qnil; fib->prev = Qnil;
return prev; return prev;
} }
UNREACHABLE;
} }
VALUE rb_fiber_transfer(VALUE fib, int argc, VALUE *argv); VALUE rb_fiber_transfer(VALUE fib, int argc, VALUE *argv);

Просмотреть файл

@ -4,4 +4,6 @@ void*
dln_load(const char *file) dln_load(const char *file)
{ {
rb_loaderror("this executable file can't load extension libraries"); rb_loaderror("this executable file can't load extension libraries");
UNREACHABLE;
} }

Просмотреть файл

@ -928,6 +928,8 @@ rb_enc_codepoint_len(const char *p, const char *e, int *len_p, rb_encoding *enc)
} }
else else
rb_raise(rb_eArgError, "invalid byte sequence in %s", rb_enc_name(enc)); rb_raise(rb_eArgError, "invalid byte sequence in %s", rb_enc_name(enc));
UNREACHABLE;
} }
#undef rb_enc_codepoint #undef rb_enc_codepoint

Просмотреть файл

@ -971,6 +971,8 @@ BigDecimalCmp(VALUE self, VALUE r,char op)
} }
rb_bug("Undefined operation in BigDecimalCmp()"); rb_bug("Undefined operation in BigDecimalCmp()");
UNREACHABLE;
} }
/* Returns True if the value is zero. */ /* Returns True if the value is zero. */

Просмотреть файл

@ -154,6 +154,8 @@ static VALUE
rb_digest_instance_update(VALUE self, VALUE str) rb_digest_instance_update(VALUE self, VALUE str)
{ {
rb_digest_instance_method_unimpl(self, "update"); rb_digest_instance_method_unimpl(self, "update");
UNREACHABLE;
} }
/* /*
@ -172,6 +174,8 @@ static VALUE
rb_digest_instance_finish(VALUE self) rb_digest_instance_finish(VALUE self)
{ {
rb_digest_instance_method_unimpl(self, "finish"); rb_digest_instance_method_unimpl(self, "finish");
UNREACHABLE;
} }
/* /*
@ -186,6 +190,8 @@ static VALUE
rb_digest_instance_reset(VALUE self) rb_digest_instance_reset(VALUE self)
{ {
rb_digest_instance_method_unimpl(self, "reset"); rb_digest_instance_method_unimpl(self, "reset");
UNREACHABLE;
} }
/* /*
@ -409,6 +415,8 @@ static VALUE
rb_digest_instance_block_length(VALUE self) rb_digest_instance_block_length(VALUE self)
{ {
rb_digest_instance_method_unimpl(self, "block_length"); rb_digest_instance_method_unimpl(self, "block_length");
UNREACHABLE;
} }
/* /*

Просмотреть файл

@ -78,6 +78,8 @@ rb_dlhandle_close(VALUE self)
return INT2NUM(ret); return INT2NUM(ret);
} }
rb_raise(rb_eDLError, "dlclose() called too many times"); rb_raise(rb_eDLError, "dlclose() called too many times");
UNREACHABLE;
} }
VALUE VALUE

Просмотреть файл

@ -134,6 +134,8 @@ generic_to_value(VALUE rettype, fiddle_generic retval)
default: default:
rb_raise(rb_eRuntimeError, "unknown type %d", type); rb_raise(rb_eRuntimeError, "unknown type %d", type);
} }
UNREACHABLE;
} }
/* vim: set noet sw=4 sts=4 */ /* vim: set noet sw=4 sts=4 */

Просмотреть файл

@ -700,6 +700,8 @@ static VALUE ossl_ec_key_dsa_verify_asn1(VALUE self, VALUE data, VALUE sig)
} }
ossl_raise(eECError, "ECDSA_verify"); ossl_raise(eECError, "ECDSA_verify");
UNREACHABLE;
} }
static void ossl_ec_group_free(ossl_ec_group *ec_group) static void ossl_ec_group_free(ossl_ec_group *ec_group)
@ -1349,6 +1351,8 @@ static VALUE ossl_ec_point_is_at_infinity(VALUE self)
case 0: return Qfalse; case 0: return Qfalse;
default: ossl_raise(cEC_POINT, "EC_POINT_is_at_infinity"); default: ossl_raise(cEC_POINT, "EC_POINT_is_at_infinity");
} }
UNREACHABLE;
} }
/* /*
@ -1370,6 +1374,8 @@ static VALUE ossl_ec_point_is_on_curve(VALUE self)
case 0: return Qfalse; case 0: return Qfalse;
default: ossl_raise(cEC_POINT, "EC_POINT_is_on_curve"); default: ossl_raise(cEC_POINT, "EC_POINT_is_on_curve");
} }
UNREACHABLE;
} }
/* /*

Просмотреть файл

@ -1593,6 +1593,8 @@ ossl_ssl_session_reused(VALUE self)
case 0: return Qfalse; case 0: return Qfalse;
default: ossl_raise(eSSLError, "SSL_session_reused"); default: ossl_raise(eSSLError, "SSL_session_reused");
} }
UNREACHABLE;
} }
/* /*

Просмотреть файл

@ -275,4 +275,6 @@ ripper_token2eventid(int tok)
return ripper_id_CHAR; return ripper_id_CHAR;
} }
rb_raise(rb_eRuntimeError, "[Ripper FATAL] unknown token %d", tok); rb_raise(rb_eRuntimeError, "[Ripper FATAL] unknown token %d", tok);
UNREACHABLE;
} }

Просмотреть файл

@ -2144,6 +2144,8 @@ rsock_io_socket_addrinfo(VALUE io, struct sockaddr *addr, socklen_t len)
default: default:
rb_raise(rb_eTypeError, "neither IO nor file descriptor"); rb_raise(rb_eTypeError, "neither IO nor file descriptor");
} }
UNREACHABLE;
} }
/* /*

Просмотреть файл

@ -1334,6 +1334,8 @@ sock_s_getnameinfo(int argc, VALUE *argv)
error_exit_name: error_exit_name:
if (res) freeaddrinfo(res); if (res) freeaddrinfo(res);
rsock_raise_socket_error("getnameinfo", error); rsock_raise_socket_error("getnameinfo", error);
UNREACHABLE;
} }
/* /*

Просмотреть файл

@ -1407,6 +1407,8 @@ pending_exception_check0()
} else { } else {
return 0; return 0;
} }
UNREACHABLE;
} }
static int static int
@ -1448,6 +1450,8 @@ pending_exception_check1(thr_crit_bup, ptr)
} else { } else {
return 0; return 0;
} }
UNREACHABLE;
} }
@ -7781,6 +7785,8 @@ ip_cancel_eval_core(interp, msg, flag)
#if TCL_MAJOR_VERSION < 8 || (TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 6) #if TCL_MAJOR_VERSION < 8 || (TCL_MAJOR_VERSION == 8 && TCL_MINOR_VERSION < 6)
rb_raise(rb_eNotImpError, rb_raise(rb_eNotImpError,
"cancel_eval is supported Tcl/Tk8.6 or later."); "cancel_eval is supported Tcl/Tk8.6 or later.");
UNREACHABLE;
#else #else
Tcl_Obj *msg_obj; Tcl_Obj *msg_obj;
@ -10014,6 +10020,8 @@ lib_get_reltype_name(self)
default: default:
rb_raise(rb_eRuntimeError, "tcltklib has invalid release type number"); rb_raise(rb_eRuntimeError, "tcltklib has invalid release type number");
} }
UNREACHABLE;
} }
@ -10117,6 +10125,8 @@ create_dummy_encoding_for_tk_core(interp, name, error_mode)
return Qnil; return Qnil;
} }
} }
UNREACHABLE;
#else #else
return name; return name;
#endif #endif

Просмотреть файл

@ -800,6 +800,8 @@ tk_hash_kv(argc, argv, self)
} }
rb_raise(rb_eArgError, "Hash is expected for 1st argument"); rb_raise(rb_eArgError, "Hash is expected for 1st argument");
} }
UNREACHABLE;
} }
static VALUE static VALUE

4
io.c
Просмотреть файл

@ -2338,6 +2338,8 @@ io_readpartial(int argc, VALUE *argv, VALUE io)
rb_eof_error(); rb_eof_error();
else else
return ret; return ret;
UNREACHABLE;
} }
/* /*
@ -2399,6 +2401,8 @@ io_read_nonblock(int argc, VALUE *argv, VALUE io)
rb_eof_error(); rb_eof_error();
else else
return ret; return ret;
UNREACHABLE;
} }
/* /*

Просмотреть файл

@ -1147,6 +1147,8 @@ r_symlink(struct load_arg *arg)
return (ID)id; return (ID)id;
} }
rb_raise(rb_eArgError, "bad symbol"); rb_raise(rb_eArgError, "bad symbol");
UNREACHABLE;
} }
static ID static ID
@ -1193,6 +1195,8 @@ r_symbol(struct load_arg *arg)
rb_raise(rb_eArgError, "dump format error for symbol(0x%x)", type); rb_raise(rb_eArgError, "dump format error for symbol(0x%x)", type);
break; break;
} }
UNREACHABLE;
} }
static VALUE static VALUE

Просмотреть файл

@ -2483,6 +2483,8 @@ rb_Float(VALUE val)
default: default:
return rb_convert_type(val, T_FLOAT, "Float", "to_f"); return rb_convert_type(val, T_FLOAT, "Float", "to_f");
} }
UNREACHABLE;
} }
/* /*

2
pack.c
Просмотреть файл

@ -2199,6 +2199,8 @@ rb_uv_to_utf8(char buf[6], unsigned long uv)
return 6; return 6;
} }
rb_raise(rb_eRangeError, "pack(U): value out of range"); rb_raise(rb_eRangeError, "pack(U): value out of range");
UNREACHABLE;
} }
static const unsigned long utf8_limits[] = { static const unsigned long utf8_limits[] = {

2
proc.c
Просмотреть файл

@ -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); rb_bug("rb_method_entry_arity: invalid method entry type (%d)", def->type);
UNREACHABLE;
} }
/* /*

Просмотреть файл

@ -3829,6 +3829,8 @@ rlimit_resource_type(VALUE rtype)
return r; return r;
rb_raise(rb_eArgError, "invalid resource name: %s", name); rb_raise(rb_eArgError, "invalid resource name: %s", name);
UNREACHABLE;
} }
static rlim_t static rlim_t
@ -3867,6 +3869,8 @@ rlimit_resource_value(VALUE rval)
if (strcmp(name, "SAVED_CUR") == 0) return RLIM_SAVED_CUR; if (strcmp(name, "SAVED_CUR") == 0) return RLIM_SAVED_CUR;
#endif #endif
rb_raise(rb_eArgError, "invalid resource value: %s", name); rb_raise(rb_eArgError, "invalid resource value: %s", name);
UNREACHABLE;
} }
#endif #endif
@ -5690,6 +5694,8 @@ p_uid_switch(VALUE obj)
errno = EPERM; errno = EPERM;
rb_sys_fail(0); rb_sys_fail(0);
} }
UNREACHABLE;
} }
#else #else
static VALUE static VALUE
@ -5803,6 +5809,8 @@ p_gid_switch(VALUE obj)
errno = EPERM; errno = EPERM;
rb_sys_fail(0); rb_sys_fail(0);
} }
UNREACHABLE;
} }
#else #else
static VALUE static VALUE

2
re.c
Просмотреть файл

@ -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", rb_raise(rb_eIndexError, "undefined group name reference: %s",
StringValuePtr(s)); StringValuePtr(s));
} }
UNREACHABLE;
} }
/* /*

Просмотреть файл

@ -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)); rb_name_error(id, "no member '%s' in struct", rb_id2name(id));
UNREACHABLE;
} }
/* /*

Просмотреть файл

@ -1462,6 +1462,8 @@ vm_search_normal_superclass(VALUE klass, VALUE recv)
else { else {
rb_bug("vm_search_normal_superclass: should not be reach here"); rb_bug("vm_search_normal_superclass: should not be reach here");
} }
UNREACHABLE;
} }
static void static void

Просмотреть файл

@ -66,6 +66,8 @@ VALUE
rb_f_notimplement(int argc, VALUE *argv, VALUE obj) rb_f_notimplement(int argc, VALUE *argv, VALUE obj)
{ {
rb_notimplement(); rb_notimplement();
UNREACHABLE;
} }
static void static void