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
@@ -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.
Expand Down
3 changes: 2 additions & 1 deletion bignum.c
Expand Up @@ -3001,7 +3001,8 @@ big_fdiv(VALUE x, VALUE y)
goto bignum; goto bignum;
} }
rb_bug("big_fdiv"); rb_bug("big_fdiv");
/* NOTREACHED */
UNREACHABLE;
} }


/* /*
Expand Down
2 changes: 2 additions & 0 deletions class.c
Expand Up @@ -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;
} }


/*! /*!
Expand Down
2 changes: 2 additions & 0 deletions cont.c
Expand Up @@ -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);
Expand Down
2 changes: 2 additions & 0 deletions dmydln.c
Expand Up @@ -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;
} }
2 changes: 2 additions & 0 deletions encoding.c
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions ext/bigdecimal/bigdecimal.c
Expand Up @@ -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. */
Expand Down
8 changes: 8 additions & 0 deletions ext/digest/digest.c
Expand Up @@ -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;
} }


/* /*
Expand All @@ -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;
} }


/* /*
Expand All @@ -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;
} }


/* /*
Expand Down Expand Up @@ -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;
} }


/* /*
Expand Down
2 changes: 2 additions & 0 deletions ext/dl/handle.c
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions ext/fiddle/conversions.c
Expand Up @@ -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 */
6 changes: 6 additions & 0 deletions ext/openssl/ossl_pkey_ec.c
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"); 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)
Expand Down Expand Up @@ -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;
} }


/* /*
Expand All @@ -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;
} }


/* /*
Expand Down
2 changes: 2 additions & 0 deletions ext/openssl/ossl_ssl.c
Expand Up @@ -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;
} }


/* /*
Expand Down
2 changes: 2 additions & 0 deletions ext/ripper/eventids2.c
Expand Up @@ -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;
} }
2 changes: 2 additions & 0 deletions ext/socket/raddrinfo.c
Expand Up @@ -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;
} }


/* /*
Expand Down
2 changes: 2 additions & 0 deletions ext/socket/socket.c
Expand Up @@ -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;
} }


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

UNREACHABLE;
} }


static int static int
Expand Down Expand Up @@ -1448,6 +1450,8 @@ pending_exception_check1(thr_crit_bup, ptr)
} else { } else {
return 0; 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) #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;


Expand Down Expand Up @@ -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;
} }




Expand Down Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions ext/tk/tkutil/tkutil.c
Expand Up @@ -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
Expand Down
4 changes: 4 additions & 0 deletions io.c
Expand Up @@ -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;
} }


/* /*
Expand Down Expand Up @@ -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;
} }


/* /*
Expand Down
4 changes: 4 additions & 0 deletions marshal.c
Expand Up @@ -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
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); rb_raise(rb_eArgError, "dump format error for symbol(0x%x)", type);
break; break;
} }

UNREACHABLE;
} }


static VALUE static VALUE
Expand Down
2 changes: 2 additions & 0 deletions object.c
Expand Up @@ -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;
} }


/* /*
Expand Down
2 changes: 2 additions & 0 deletions pack.c
Expand Up @@ -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[] = {
Expand Down
2 changes: 2 additions & 0 deletions proc.c
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); rb_bug("rb_method_entry_arity: invalid method entry type (%d)", def->type);

UNREACHABLE;
} }


/* /*
Expand Down
8 changes: 8 additions & 0 deletions process.c
Expand Up @@ -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
Expand Down Expand Up @@ -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


Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions re.c
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", rb_raise(rb_eIndexError, "undefined group name reference: %s",
StringValuePtr(s)); StringValuePtr(s));
} }

UNREACHABLE;
} }


/* /*
Expand Down
2 changes: 2 additions & 0 deletions struct.c
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)); rb_name_error(id, "no member '%s' in struct", rb_id2name(id));

UNREACHABLE;
} }


/* /*
Expand Down
2 changes: 2 additions & 0 deletions vm_insnhelper.c
Expand Up @@ -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
Expand Down

0 comments on commit da39d32

Please sign in to comment.