changeset 108364:243bfb706af1

Add check for buggy version of GCC (Bug#6031). * configure.in: Add check for buggy version of GCC (Bug#6031). * configure: Regenerate * etc/NEWS: Minor tweak to problem description.
author Chong Yidong <cyd@stupidchicken.com>
date Sun, 02 May 2010 21:42:50 -0400
parents 642b031fce0f
children f51f0593c840
files ChangeLog configure configure.in etc/PROBLEMS
diffstat 4 files changed, 23 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun May 02 11:15:29 2010 -0400
+++ b/ChangeLog	Sun May 02 21:42:50 2010 -0400
@@ -1,3 +1,7 @@
+2010-05-03  Chong Yidong  <cyd@stupidchicken.com>
+
+	* configure.in: Add check for buggy version of GCC (Bug#6031).
+
 2010-01-31  Juri Linkov  <juri@jurta.org>
 
 	* .bzrignore: Add TAGS-LISP.
--- a/configure	Sun May 02 11:15:29 2010 -0400
+++ b/configure	Sun May 02 21:42:50 2010 -0400
@@ -25559,6 +25559,16 @@
 CFLAGS="$REAL_CFLAGS"
 CPPFLAGS="$REAL_CPPFLAGS"
 
+## Hack to detect a buggy GCC version.
+if test "x$GCC" = xyes \
+   && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \
+   && test x"`echo $CFLAGS | grep '\-O[23]'`" != x \
+   && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then
+   { { $as_echo "$as_me:$LINENO: error: GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." >&5
+$as_echo "$as_me: error: GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
 #### Find out which version of Emacs this is.
 version=`grep 'defconst[	 ]*emacs-version' ${srcdir}/lisp/version.el \
 	 | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`
--- a/configure.in	Sun May 02 11:15:29 2010 -0400
+++ b/configure.in	Sun May 02 21:42:50 2010 -0400
@@ -2600,6 +2600,14 @@
 CFLAGS="$REAL_CFLAGS"
 CPPFLAGS="$REAL_CPPFLAGS"
 
+## Hack to detect a buggy GCC version.
+if test "x$GCC" = xyes \
+   && test x"`$CC --version 2> /dev/null | grep 'gcc.* 4.5.0'`" != x \
+   && test x"`echo $CFLAGS | grep '\-O@<:@23@:>@'`" != x \
+   && test x"`echo $CFLAGS | grep '\-fno-optimize-sibling-calls'`" = x; then
+   AC_MSG_ERROR([GCC 4.5.0 has problems compiling Emacs; see etc/PROBLEMS'.])
+fi
+
 #### Find out which version of Emacs this is.
 [version=`grep 'defconst[	 ]*emacs-version' ${srcdir}/lisp/version.el \
 	 | sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`]
--- a/etc/PROBLEMS	Sun May 02 11:15:29 2010 -0400
+++ b/etc/PROBLEMS	Sun May 02 21:42:50 2010 -0400
@@ -167,7 +167,7 @@
 
 * Crash bugs
 
-** Emacs crashes when running in a terminal, if compiled with gcc-4.5.
+** Emacs crashes when running in a terminal, if compiled with GCC 4.5.0
 This version of GCC is buggy: see
 
   http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6031