diff --git a/configure.ac b/configure.ac
index f1f4466e7ef2e02988e61209e1866abf8ee579d0..63d2ddad064a8cff12320cc52bbea32506bdaaeb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -440,8 +440,8 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM(
 AC_MSG_RESULT($rtc_ok)
 
 # Add warning flags by default, if these can be used. Option =error adds
-# -Werror to GCC and Intel.  Note do this last as compiler tests may become
-# errors, if that's an issue don't use CFLAGS for these, use an AC_SUBST().
+# -Werror to GCC, clang and Intel.  Note do this last as compiler tests may 
+# become errors, if that's an issue don't use CFLAGS for these, use an AC_SUBST().
 AC_ARG_ENABLE([compiler-warnings],
    [AS_HELP_STRING([--enable-compiler-warnings],
      [Enable compile time warning flags, if compiler is known @<:@error/no/yes)@:>@]
@@ -449,12 +449,23 @@ AC_ARG_ENABLE([compiler-warnings],
    [enable_warn="$enableval"],
    [enable_warn="error"]
 )
-
 if test "$enable_warn" != "no"; then
-    AX_CFLAGS_WARN_ALL
+   
+    # AX_CFLAGS_WARN_ALL does not give good warning flags for the Intel compiler
+    # We will do this by hand instead
+    case "$ax_cv_c_compiler_vendor" in
+          gnu | clang)
+             CFLAGS="$CFLAGS -Wall"
+          ;;
+	  intel )
+             CFLAGS="$CFLAGS -w2"
+          ;;
+    esac
+    
+    # Add a "choke on warning" flag if it exists
     if test "$enable_warn" = "error"; then
        case "$ax_cv_c_compiler_vendor" in
-          intel | gnu )
+          intel | gnu | clang)
              CFLAGS="$CFLAGS -Werror"
           ;;
        esac