1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

check INFINITY and NAN without C99 option

* configure.in: check INFINITY and NAN without an option for C99
  so that rb_infinity and rb_nan are respectively available
  regardless that option if they may be used.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2015-10-19 16:29:31 +00:00
parent 9949407fd9
commit 603cdc2710
3 changed files with 16 additions and 7 deletions

View file

@ -839,6 +839,20 @@ if test "$GCC:${warnflags+set}:no" = yes::no; then
fi
RUBY_TRY_CFLAGS(-Qunused-arguments, [RUBY_APPEND_OPTIONS(rb_cv_wsuppress_flags, -Qunused-arguments)])
for n in infinity nan; do
m=AS_TR_CPP($n)
AC_CACHE_CHECK([whether $m is available without C99 option], rb_cv_$n,
[AC_COMPILE_IFELSE(
[AC_LANG_BOOL_COMPILE_TRY(AC_INCLUDES_DEFAULT([@%:@include <math.h>
@%:@ifndef $m
@%:@error no $m
@%:@endif
]), [1])], [eval rb_cv_$n=yes], [eval rb_cv_$n=no])])
if eval test '"$rb_cv_'$n'"' = yes; then
AC_DEFINE_UNQUOTED([HAVE_]$m)
fi
done
if test "$GCC" = yes; then
# NaCl's glibc build generates undefined references to __memset_chk.
# TODO(sbc): Remove this once NaCl's glibc is fixed.

View file

@ -1,3 +1,2 @@
require 'mkmf'
append_cflags("-std=iso9899:1999")
create_makefile('date_core')

View file

@ -143,17 +143,13 @@ union bytesequence4_or_float {
};
#endif
#ifdef INFINITY
# define HAVE_INFINITY
#else
#ifndef INFINITY
/** @internal */
RUBY_EXTERN const union bytesequence4_or_float rb_infinity;
# define INFINITY (rb_infinity.float_value)
#endif
#ifdef NAN
# define HAVE_NAN
#else
#ifndef NAN
/** @internal */
RUBY_EXTERN const union bytesequence4_or_float rb_nan;
# define NAN (rb_nan.float_value)