diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog
index f21088bc42d24ad7029902dddaf1f99e89f097ed..8ebe6f52baca24191013bbdbdfa8b6e570934212 100644
--- a/libcpp/ChangeLog
+++ b/libcpp/ChangeLog
@@ -1,3 +1,10 @@
+2004-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+	PR bootstrap/15651
+	* configure.ac: Fix m4 quoting when picking
+	the size of HOST_WIDE_INT.
+	* configure: Regenerate.
+
 2004-05-25  Paolo Bonzini  <bonzini@gnu.org>
 
 	* Makefile.am: the correct directory for
diff --git a/libcpp/configure b/libcpp/configure
index 713d13935dda82af7274f71a0e78b050f96832d5..9f807f41238ec33922ee85c7d93ad05314cae04f 100755
--- a/libcpp/configure
+++ b/libcpp/configure
@@ -7297,6 +7297,7 @@ _ACEOF
 
 fi
 
+
 case $target in
 	alpha*-*-* | \
 	x86_64-*-* | \
@@ -7309,8 +7310,8 @@ case $target in
 	s390*-*-* | \
 	sparc64*-*-* | ultrasparc-*-freebsd* | \
 	sparcv9-*-solaris2* | \
-	sparc-*-solaris2.789 | sparc-*-solaris2.10-9 | \
-	sh123456789l*-*-*)
+	sparc-*-solaris2.[789] | sparc-*-solaris2.1[0-9] | \
+	sh[123456789l]*-*-*)
 		need_64bit_hwint=yes ;;
 	*)
 		need_64bit_hwint=no ;;
@@ -7322,6 +7323,7 @@ case $need_64bit_hwint:$ac_cv_sizeof_long in
 esac
 
 
+
 cat >>confdefs.h <<_ACEOF
 #define HOST_WIDE_INT $host_wide_int
 _ACEOF
diff --git a/libcpp/configure.ac b/libcpp/configure.ac
index 79c0e417337f8c41e34021e5295c5e520f7eb4e6..d160899ddda0f8f18e614371726cdad17f60492c 100644
--- a/libcpp/configure.ac
+++ b/libcpp/configure.ac
@@ -63,6 +63,7 @@ if test $enable_checking != no ; then
 [Define if you want more run-time sanity checks.])
 fi
 
+m4_changequote(,)
 case $target in
 	alpha*-*-* | \
 	x86_64-*-* | \
@@ -86,6 +87,7 @@ case $need_64bit_hwint:$ac_cv_sizeof_long in
 	*:8 | no:*) host_wide_int=long ;;
 	*) host_wide_int='long long' ;;
 esac
+m4_changequote([,])
 
 AC_DEFINE_UNQUOTED(HOST_WIDE_INT, $host_wide_int,
 [Define to the widest efficient host integer type at least