From 3cce5965da45677a6f219ebea422425ade2d9d3b Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 14 Dec 2007 02:54:08 +0000 Subject: [PATCH] * lib/mkmf.rb (try_var): should fail for functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 +++- configure.in | 7 ++++--- lib/mkmf.rb | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0a2ca18700..819bc61c74 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,4 @@ -Fri Dec 14 10:01:40 2007 Nobuyoshi Nakada +Fri Dec 14 11:54:06 2007 Nobuyoshi Nakada * configure.in (RUBY_CHECK_VARTYPE): check if a variable is defined and its type. @@ -7,6 +7,8 @@ Fri Dec 14 10:01:40 2007 Nobuyoshi Nakada * missing/strftime.c (strftime): fix for timezone. [ruby-dev:32536] + * lib/mkmf.rb (try_var): should fail for functions. + Fri Dec 14 08:17:24 2007 Tanaka Akira * eval.c (rb_protect): restore root_jmpbuf even if proc exits by diff --git a/configure.in b/configure.in index c07149b684..469de63449 100644 --- a/configure.in +++ b/configure.in @@ -639,13 +639,14 @@ AC_CACHE_CHECK([for external $1], rb_cv_var_$1, [rb_cv_var_$1=no AC_TRY_COMPILE([#define _XOPEN_SOURCE 1 $2 - void *t;], + const volatile void *volatile t;], [t = &(&$1)[0];], [for t in $3; do AC_TRY_COMPILE([#define _XOPEN_SOURCE 1 $2 - extern $t $1;], - [void *t = &(&$1)[0];], + extern $t $1; + const volatile void *volatile t;], + [t = &(&$1)[0];], [rb_cv_var_$1=$t; break]) done])]) if test "[$rb_cv_var_]$1" != no; then diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 9f450ad6e1..985c70e4a0 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -478,7 +478,7 @@ def try_var(var, headers = nil, &b) #{headers} /*top*/ int main() { return 0; } -int t() { const volatile void *volatile p; p = (void *)&#{var}; return 0; } +int t() { const volatile void *volatile p; p = &(&#{var})[0]; return 0; } SRC end