diff --git a/ChangeLog b/ChangeLog index 910a248bb8..7344e03f29 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sun Jul 24 00:16:13 2011 KOSAKI Motohiro + + * configure.in: changed default optflags to -O0 if the compiler is + llvm-gcc. It prevent ruby crash on OS X 10.7 (Lion). + Sun Jul 24 00:05:00 2011 Jeremy Evans * error.c (rb_name_error_str): new function to raise NameError diff --git a/configure.in b/configure.in index 29c5c126eb..b90f689e8b 100644 --- a/configure.in +++ b/configure.in @@ -277,7 +277,13 @@ AC_PROG_GCC_TRADITIONAL AC_SUBST(GCC) if test "$GCC" = yes; then linker_flag=-Wl, - : ${optflags=-O3} + if test "$CC -v 2>&1 | grep LLVM" ; then + # llvm-gcc's optimization strategy is far different from gcc. + # It makes confusing our gcc specific optimized code. + : ${optflags=-O0} + else + : ${optflags=-O3} + fi AS_CASE(["$target_os"], [linux*|darwin*], [: ${debugflags=-ggdb}]) RUBY_APPEND_OPTIONS(XCFLAGS, ["-include ruby/config.h" "-include ruby/missing.h"]) else