From f104e7c9f9b2b81c793b5d4d1525fb4bd72c2747 Mon Sep 17 00:00:00 2001 From: tg Date: Mon, 4 Jun 2007 20:00:50 +0000 Subject: [PATCH] =?UTF-8?q?work=20around=20=E2=80=9Ca=20fucking=20bug=20in?= =?UTF-8?q?=20the=20fuckin'=20optimiser=E2=80=9D=20(hi=20=D0=90=D0=BB?= =?UTF-8?q?=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Build.sh | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/Build.sh b/Build.sh index 7277ca8..9fa93c5 100644 --- a/Build.sh +++ b/Build.sh @@ -1,5 +1,5 @@ #!/bin/sh -# $MirOS: src/bin/mksh/Build.sh,v 1.189 2007/06/03 17:29:29 tg Exp $ +# $MirOS: src/bin/mksh/Build.sh,v 1.190 2007/06/04 20:00:50 tg Exp $ #- # Environment used: CC CFLAGS CPP CPPFLAGS LDFLAGS LIBS NOWARN NROFF TARGET_OS # CPPFLAGS recognised: MKSH_SMALL MKSH_ASSUME_UTF8 MKSH_NEED_MKNOD MKSH_NOPWNAM @@ -120,9 +120,15 @@ ac_test() eval CPPFLAGS=\"\$CPPFLAGS -DHAVE_$fu=\$HAVE_$fu\" } -# ac_flags add varname flags [text] +# ac_flags [-] add varname flags [text] ac_flags() { + if test x"$1" = x"-"; then + shift + hf=1 + else + hf=0 + fi fa=$1 vn=$2 f=$3 @@ -130,9 +136,13 @@ ac_flags() test x"$ft" = x"" && ft="if $f can be used" save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS $f" - ac_testn can_$vn '' "$ft" <<-'EOF' - int main(void) { return (0); } - EOF + if test $hf = 1; then + ac_testn can_$vn '' "$ft" + else + ac_testn can_$vn '' "$ft" <<-'EOF' + int main(void) { return (0); } + EOF + fi eval fv=\$HAVE_CAN_`upper $vn` test 11 = $fa$fv || CFLAGS=$save_CFLAGS } @@ -361,7 +371,15 @@ NOWARN=$save_NOWARN # i=`echo :"$CFLAGS" | sed 's/^://' | tr -c -d $alll$allu$alln-` if test $ct = sunpro; then - test x"$i" = x"" && ac_flags 1 otwo "-xO2" + test x"$i" = x"" && ( + cat <<-'EOF' + int main(void) { return (0); } + #define __IDSTRING_CONCAT(l,p) __LINTED__ ## l ## _ ## p + #define __IDSTRING_EXPAND(l,p) __IDSTRING_CONCAT(l,p) + #define pad void __IDSTRING_EXPAND(__LINE__,x)(void) { } + EOF + yes pad | head -n 256 + ) | ac_flags - 1 otwo "-xO2" else test x"$i" = x"" && ac_flags 1 otwo "-O2" fi