* eval_error.c (error_print): use volatile to suppress warnings.

* vm_eval.c (eval_string_with_cref): ditto.

* thread.c (rb_exec_recursive): ditto.

* eval_jump.c (rb_exec_end_proc): ditto.

* eval.c (ruby_exec_node): ditto.
  (rb_longjmp): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2009-02-28 11:12:36 +00:00
parent 2ba6eec1fa
commit cfe9dcb886
6 changed files with 23 additions and 9 deletions

View File

@ -1,3 +1,16 @@
Sat Feb 28 20:09:40 2009 Tanaka Akira <akr@fsij.org>
* eval_error.c (error_print): use volatile to suppress warnings.
* vm_eval.c (eval_string_with_cref): ditto.
* thread.c (rb_exec_recursive): ditto.
* eval_jump.c (rb_exec_end_proc): ditto.
* eval.c (ruby_exec_node): ditto.
(rb_longjmp): ditto.
Sat Feb 28 18:28:58 2009 Tanaka Akira <akr@fsij.org> Sat Feb 28 18:28:58 2009 Tanaka Akira <akr@fsij.org>
* ext/socket/ancdata.c (ancillary_unix_rights): check message type. * ext/socket/ancdata.c (ancillary_unix_rights): check message type.

6
eval.c
View File

@ -193,7 +193,7 @@ ruby_cleanup(int ex)
int int
ruby_exec_node(void *n, const char *file) ruby_exec_node(void *n, const char *file)
{ {
int state; volatile int state;
VALUE iseq = (VALUE)n; VALUE iseq = (VALUE)n;
rb_thread_t *th = GET_THREAD(); rb_thread_t *th = GET_THREAD();
@ -332,13 +332,13 @@ rb_frozen_class_p(VALUE klass)
NORETURN(static void rb_longjmp(int, VALUE)); NORETURN(static void rb_longjmp(int, VALUE));
static void static void
rb_longjmp(int tag, VALUE mesg) rb_longjmp(int tag, volatile VALUE mesg)
{ {
VALUE at; VALUE at;
VALUE e; VALUE e;
rb_thread_t *th = GET_THREAD(); rb_thread_t *th = GET_THREAD();
const char *file; const char *file;
int line = 0; volatile int line = 0;
if (rb_thread_set_raised(th)) { if (rb_thread_set_raised(th)) {
th->errinfo = exception_error; th->errinfo = exception_error;

View File

@ -66,11 +66,11 @@ set_backtrace(VALUE info, VALUE bt)
static void static void
error_print(void) error_print(void)
{ {
VALUE errat = Qnil; /* OK */ volatile VALUE errat = Qnil; /* OK */
VALUE errinfo = GET_THREAD()->errinfo; VALUE errinfo = GET_THREAD()->errinfo;
volatile VALUE eclass, e; volatile VALUE eclass, e;
const char *einfo; const char *volatile einfo;
long elen; volatile long elen;
if (NIL_P(errinfo)) if (NIL_P(errinfo))
return; return;

View File

@ -101,7 +101,8 @@ rb_mark_end_proc(void)
void void
rb_exec_end_proc(void) rb_exec_end_proc(void)
{ {
struct end_proc_data *link, *tmp; struct end_proc_data *volatile link;
struct end_proc_data *tmp;
int status; int status;
volatile int safe = rb_safe_level(); volatile int safe = rb_safe_level();

View File

@ -3345,7 +3345,7 @@ recursive_pop(VALUE hash, VALUE obj)
VALUE VALUE
rb_exec_recursive(VALUE (*func) (VALUE, VALUE, int), VALUE obj, VALUE arg) rb_exec_recursive(VALUE (*func) (VALUE, VALUE, int), VALUE obj, VALUE arg)
{ {
VALUE hash = rb_thread_local_aref(rb_thread_current(), recursive_key); volatile VALUE hash = rb_thread_local_aref(rb_thread_current(), recursive_key);
VALUE objid = rb_obj_id(obj); VALUE objid = rb_obj_id(obj);
if (recursive_check(hash, objid)) { if (recursive_check(hash, objid)) {

View File

@ -688,7 +688,7 @@ rb_each(VALUE obj)
} }
static VALUE static VALUE
eval_string_with_cref(VALUE self, VALUE src, VALUE scope, NODE *cref, const char *file, int line) eval_string_with_cref(VALUE self, VALUE src, VALUE scope, NODE *cref, const char *volatile file, volatile int line)
{ {
int state; int state;
VALUE result = Qundef; VALUE result = Qundef;