[前][次][番号順一覧][スレッド一覧]

ruby-changes:33425

From: nobu <ko1@a...>
Date: Wed, 2 Apr 2014 19:57:48 +0900 (JST)
Subject: [ruby-changes:33425] nobu:r45504 (trunk): eval_intern.h: __builtin_longjmp requires literal 1 on gcc 4.9

nobu	2014-04-02 19:57:45 +0900 (Wed, 02 Apr 2014)

  New Revision: 45504

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=45504

  Log:
    eval_intern.h: __builtin_longjmp requires literal 1 on gcc 4.9
    
    * eval_intern.h (rb_threadptr_tag_jump): gcc 4.9 disallows other than
      literal 1 as the second argument of __builtin_longjmp().
      [ruby-core:61800] [Bug #9692]

  Modified files:
    trunk/eval_intern.h
Index: eval_intern.h
===================================================================
--- eval_intern.h	(revision 45503)
+++ eval_intern.h	(revision 45504)
@@ -141,7 +141,8 @@ NORETURN(static inline void rb_threadptr https://github.com/ruby/ruby/blob/trunk/eval_intern.h#L141
 static inline void
 rb_threadptr_tag_jump(rb_thread_t *th, int st)
 {
-    ruby_longjmp(th->tag->buf, (th->state = st));
+    th->state = st;
+    ruby_longjmp(th->tag->buf, 1);
 }
 
 /*

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]