diff --git a/aclocal.m4 b/aclocal.m4
index a4b1767365e810ad1dcb35fe7e6ef507aa98ef23..7ca87ccec3a9b49108b048892e75dcdd9d5b058c 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -244,7 +244,7 @@ AC_DEFUN(AC_HAVE_GCC,
     ac_cv_have_gcc='no'
 else
 changequote(, )dnl
-    cmd_string="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/expr 20 \\\< \1 \\\* 10 + \2/g' `"
+    cmd_string="`$CC -v 2>&1 | grep 'version ' | sed -e 's/.*version [^0-9]*\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/expr 20 \\\< \1 \\\* 10 + \2/g' `"
 changequote([, ])dnl
     if test `eval $cmd_string 2>/dev/null` != "1"; then
 	echo ''
@@ -270,7 +270,7 @@ AC_DEFUN(AC_PROG_GNUCPP,
 	echo > conftest.c
 	gcc -v -E conftest.c >/dev/null 2>conftest.out
 	echo '/(\S+(\/|\\\\)cpp)/ && print "[$]1";' > conftest.pl
-	ac_cv_gnu_cpp="`eval $PerlCmd -n conftest.pl conftest.out`"
+	ac_cv_gnu_cpp="`eval $PerlCmd -n conftest.pl conftest.out | tr '\\\' / `"
 	rm -fr conftest*
  else
 	# We need to be able to invoke CPP directly, preferably