[#70257] [Ruby trunk - Feature #11420] [Open] Introduce ID key table into MRI — ko1@...

Issue #11420 has been reported by Koichi Sasada.

11 messages 2015/08/06

[ruby-core:70578] [Ruby trunk - Bug #11483] [Open] internal.h included after math.h in complex.c

From: Rei.Odaira@...
Date: 2015-08-24 18:56:00 UTC
List: ruby-core #70578
Issue #11483 has been reported by Rei Odaira.

----------------------------------------
Bug #11483: internal.h included after math.h in complex.c
https://bugs.ruby-lang.org/issues/11483

* Author: Rei Odaira
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0dev (2015-08-23 trunk 51669) [powerpc-aix7.1.2.0]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
r51313 modified complex.c to include internal.h after math.h, so that ruby/missing.h (included from internal.h) can test whether `M_PI` is defined or not in math.h. Unfortunately, ruby/config.h, which is included from internal.h, defines `_LARGE_FILES`, which must be defined before sys/types.h is included from math.h. Otherwise, in AIX, `off_t` would be incorrectly defined as a 32-bit integer even when large files are used.

~~~diff
--- complex.c   (revision 51312)
+++ complex.c   (revision 51313)
@@ -5,12 +5,12 @@
   which is written in ruby.
 */
 
-#include "internal.h"
 #if defined _MSC_VER
 /* Microsoft Visual C does not define M_PI and others by default */
 # define _USE_MATH_DEFINES 1
 #endif
 #include <math.h>
+#include "internal.h"
 
 #define NDEBUG
 #include <assert.h>
~~~

There would be a couple of workarounds to fix this problem, but since I am relatively new to the Ruby core, I am wondering what would be the most acceptable way.



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next