From e39294cac530389e983a57c59b7daa8a2a77d2f6 Mon Sep 17 00:00:00 2001 From: kosaki Date: Sat, 23 Jul 2011 15:18:32 +0000 Subject: [PATCH] * configure.in: changed default optflags to -O0 if the compiler is llvm-gcc. It prevent ruby crash on OS X 10.7 (Lion). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ configure.in | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) 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