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

ruby-changes:19321

From: nobu <ko1@a...>
Date: Wed, 27 Apr 2011 01:14:34 +0900 (JST)
Subject: [ruby-changes:19321] Ruby:r31361 (trunk): * include/ruby/win32.h (frexp, modf): fix suppressing warnings on

nobu	2011-04-27 01:14:26 +0900 (Wed, 27 Apr 2011)

  New Revision: 31361

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

  Log:
    * include/ruby/win32.h (frexp, modf): fix suppressing warnings on
      mingw.

  Modified files:
    trunk/include/ruby/win32.h

Index: include/ruby/win32.h
===================================================================
--- include/ruby/win32.h	(revision 31360)
+++ include/ruby/win32.h	(revision 31361)
@@ -718,14 +718,16 @@
 #ifdef __MINGW_ATTRIB_PURE
 /* get rid of bugs in math.h of mingw */
 #define frexp(_X, _Y) __extension__ ({\
-    int *intptr_frexp_bug = (_Y);\
-    *intptr_frexp_bug = *intptr_frexp_bug;\
-    frexp((_X), intptr_frexp_bug);\
+    int intpart_frexp_bug = intpart_frexp_bug;\
+    double result_frexp_bug = frexp((_X), &intpart_frexp_bug);\
+    *(_Y) = intpart_frexp_bug;\
+    result_frexp_bug;\
 })
 #define modf(_X, _Y) __extension__ ({\
-    double *intptr_modf_bug = (_Y);\
-    *intptr_modf_bug = *intptr_modf_bug;\
-    modf((_X), intptr_modf_bug);\
+    double intpart_modf_bug = intpart_modf_bug;\
+    double result_modf_bug = modf((_X), &intpart_modf_bug);\
+    *(_Y) = intpart_modf_bug;\
+    result_modf_bug;\
 })
 #endif
 

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

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