* 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
Родитель 2ba6eec1fa
Коммит cfe9dcb886
6 изменённых файлов: 23 добавлений и 9 удалений

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

@ -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>
* ext/socket/ancdata.c (ancillary_unix_rights): check message type.

6
eval.c
Просмотреть файл

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

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

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

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

@ -101,7 +101,8 @@ rb_mark_end_proc(void)
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;
volatile int safe = rb_safe_level();

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

@ -3345,7 +3345,7 @@ recursive_pop(VALUE hash, VALUE obj)
VALUE
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);
if (recursive_check(hash, objid)) {

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

@ -688,7 +688,7 @@ rb_each(VALUE obj)
}
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;
VALUE result = Qundef;