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

ruby-changes:37532

From: nobu <ko1@a...>
Date: Mon, 16 Feb 2015 14:15:02 +0900 (JST)
Subject: [ruby-changes:37532] nobu:r49613 (trunk): configure.in: refine __builtin_choose_expr check

nobu	2015-02-16 14:14:48 +0900 (Mon, 16 Feb 2015)

  New Revision: 49613

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

  Log:
    configure.in: refine __builtin_choose_expr check
    
    * configure.in (__builtin_choose_expr): check more precisely the
      results.

  Modified files:
    trunk/configure.in
Index: configure.in
===================================================================
--- configure.in	(revision 49612)
+++ configure.in	(revision 49613)
@@ -2183,8 +2183,16 @@ RUBY_CHECK_BUILTIN_FUNC(__builtin_bswap6 https://github.com/ruby/ruby/blob/trunk/configure.in#L2183
 RUBY_CHECK_BUILTIN_FUNC(__builtin_clz, [__builtin_clz(0)])
 RUBY_CHECK_BUILTIN_FUNC(__builtin_clzl, [__builtin_clzl(0)])
 RUBY_CHECK_BUILTIN_FUNC(__builtin_clzll, [__builtin_clzll(0)])
-RUBY_CHECK_BUILTIN_FUNC(__builtin_choose_expr, [__builtin_choose_expr(0, 0, 0)])
-RUBY_CHECK_BUILTIN_FUNC(__builtin_choose_expr_constant_p, [__builtin_choose_expr(__builtin_constant_p(foo), 0, 0)])
+RUBY_CHECK_BUILTIN_FUNC(__builtin_choose_expr, [
+    [int x[__extension__(__builtin_choose_expr(1, 1, -1))]];
+    [int y[__extension__(__builtin_choose_expr(0, -1, 1))]];
+    ])
+if test x$rb_cv_builtin___builtin_choose_expr = xyes; then
+    RUBY_CHECK_BUILTIN_FUNC(__builtin_choose_expr_constant_p, [
+    [int x[__extension__(__builtin_choose_expr(__builtin_constant_p(1), 1, -1))]];
+    [int y[__extension__(__builtin_choose_expr(__builtin_constant_p(foo), -1, 1))]];
+    ])
+fi
 RUBY_CHECK_BUILTIN_FUNC(__builtin_types_compatible_p, [__builtin_types_compatible_p(int, int)])
 
 if test "$ac_cv_func_qsort_r" != no; then

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

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