]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Take over patches 26839 to 26844 from Matthias' branch for cmake conversion. These...
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Tue, 2 Oct 2012 05:32:32 +0000 (05:32 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Tue, 2 Oct 2012 05:32:32 +0000 (05:32 +0000)
git-svn-id: https://svn.dealii.org/trunk@26920 0785d39b-7218-0410-832d-ea1e28bc413d

12 files changed:
deal.II/aclocal.m4
deal.II/configure
deal.II/configure.in
deal.II/include/deal.II/base/symmetric_tensor.h
deal.II/include/deal.II/base/table.h
deal.II/include/deal.II/grid/filtered_iterator.h
deal.II/include/deal.II/lac/block_matrix_base.h
deal.II/include/deal.II/lac/block_vector_base.h
deal.II/include/deal.II/lac/sparse_matrix.h
deal.II/include/deal.II/lac/sparse_matrix_ez.h
deal.II/source/base/polynomial.cc
deal.II/source/base/thread_management.cc

index e7b4b3cd41517af1347876e4fc0a752e3ddc9884..9fb7765dffad9fb53d4314e12a43986373f53d28 100644 (file)
@@ -3070,108 +3070,6 @@ int i=rand_r(&i);
 
 
 
-dnl -------------------------------------------------------------
-dnl On some systems (well, DEC Alphas are the only ones we know of),
-dnl gcc2.95 throws the hands in the air if it sees one of the AssertThrow
-dnl calls, and dies with an internal compiler error. If this is the case,
-dnl we disable AssertThrow and simply replace it with an `abort' if the
-dnl condition is not satisfied.
-dnl
-dnl Usage: DEAL_II_CHECK_ASSERT_THROW("description of options set",
-dnl                                   "compiler options set",
-dnl                                   action if compiler crashes)
-dnl
-dnl -------------------------------------------------------------
-AC_DEFUN(DEAL_II_CHECK_ASSERT_THROW, dnl
-[
-  AC_MSG_CHECKING(whether AssertThrow works with $1 flags)
-  AC_LANG(C++)
-  CXXFLAGS="$2"
-  AC_TRY_COMPILE(
-    [
-#include <exception>
-#include <iostream>
-#include <cstdlib>
-
-#ifndef __GNUC__
-#  define __PRETTY_FUNCTION__ "(unknown)"
-#endif
-class ExceptionBase : public std::exception {
-  public:
-    ExceptionBase ();
-    ExceptionBase (const char* f, const int l, const char *func,
-                   const char* c, const char *e);
-    virtual ~ExceptionBase () throw();
-    void SetFields (const char *f, const int   l, const char *func,
-                    const char *c, const char *e);
-    void PrintExcData (std::ostream &out) const;
-    virtual void PrintInfo (std::ostream &out) const;
-    virtual const char * what () const throw ();
-  protected:
-    const char  *file;
-    unsigned int line;
-    const char  *function, *cond, *exc;
-};
-
-template <class exc>
-void __IssueError_Assert (const char *file,
-                          int         line,
-                          const char *function,
-                          const char *cond,
-                          const char *exc_name,
-                          exc         e){
-  e.SetFields (file, line, function, cond, exc_name);
-  std::cerr << "--------------------------------------------------------"
-            << std::endl;
-  e.PrintExcData (std::cerr);
-  e.PrintInfo (std::cerr);
-  std::cerr << "--------------------------------------------------------"
-            << std::endl;
-  std::abort ();
-}
-
-template <class exc>
-void __IssueError_Throw (const char *file,
-                         int         line,
-                         const char *function,
-                         const char *cond,
-                         const char *exc_name,
-                         exc         e) {
-                                   // Fill the fields of the exception object
-  e.SetFields (file, line, function, cond, exc_name);
-  throw e;
-}
-
-#define AssertThrow(cond, exc)                                    \
-  {                                                               \
-    if (!(cond))                                                  \
-      __IssueError_Throw (__FILE__,                               \
-                          __LINE__,                               \
-                          __PRETTY_FUNCTION__, #cond, #exc, exc); \
-  }
-
-#define DeclException0(Exception0)  \
-class Exception0 :  public ExceptionBase {}
-
-namespace StandardExceptions
-{
-  DeclException0 (ExcInternalError);
-}
-using namespace StandardExceptions;
-    ],
-    [
-        AssertThrow (false, ExcInternalError());
-    ],
-    [
-        AC_MSG_RESULT(yes)
-    ],
-    [
-        AC_MSG_RESULT(no)
-        $3
-    ])
-])
-
-
 
 dnl -------------------------------------------------------------
 dnl Gcc and some other compilers have __PRETTY_FUNCTION__, showing
@@ -3464,148 +3362,6 @@ AC_DEFUN(DEAL_II_CHECK_EXPLICIT_DESTRUCTOR_BUG, dnl
 ])
 
 
-dnl -------------------------------------------------------------
-dnl Versions of GCC before 3.0 had a problem with the following
-dnl code:
-dnl
-dnl /* ----------------------------------------------- */
-dnl namespace NS {
-dnl   template <typename T>  class C  {
-dnl       template <typename N> friend class C;
-dnl   };
-dnl };
-dnl /* ----------------------------------------------- */
-dnl
-dnl This is fixed with gcc at least in snapshots before version 3.1,
-dnl but the following bug remains:
-dnl
-dnl /* ----------------------------------------------- */
-dnl namespace NS {  template <typename number> class C;  };
-dnl
-dnl template <typename T> class X {
-dnl   template <typename N> friend class NS::C;
-dnl };
-dnl
-dnl template class X<int>;
-dnl /* ----------------------------------------------- */
-dnl
-dnl The compiler gets an internal error for these cases. Since we need this
-dnl construct at various places, we check for it and if the compiler
-dnl dies, we use a workaround that is non-ISO C++ but works for these
-dnl compilers.
-dnl
-dnl Usage: DEAL_II_CHECK_NAMESP_TEMPL_FRIEND_BUG
-dnl
-dnl -------------------------------------------------------------
-AC_DEFUN(DEAL_II_CHECK_NAMESP_TEMPL_FRIEND_BUG, dnl
-[
-  AC_MSG_CHECKING(for 1st template friend in namespace bug)
-  AC_LANG(C++)
-  CXXFLAGS="$CXXFLAGSG"
-  AC_TRY_COMPILE(
-    [
-        namespace NS {
-          template <typename T>  class C  {
-              C(const C<T>&);
-              template <typename N> friend class C;
-          };
-        }
-
-        namespace NS2 {  template <typename number> class C;  }
-
-        template <typename T> class X {
-            template <typename N> friend class NS2::C;
-            template <typename N> friend class NS::C;
-        };
-
-        template class X<int>;
-
-        namespace NS {
-          template<typename T>
-          inline C<T>::C(const C<T>&)
-          {}
-        }
-    ],
-    [],
-    [
-      AC_MSG_RESULT(no)
-    ],
-    [
-      AC_MSG_RESULT(yes. using workaround)
-      AC_DEFINE_UNQUOTED(DEAL_II_NAMESP_TEMPL_FRIEND_BUG, 1,
-                         [Define if we have to work around a bug in gcc with
-                          marking all instances of a template class as friends
-                          to this class if the class is inside a namespace.
-                          See the aclocal.m4 file in the top-level directory
-                          for a description of this bug.])
-    ])
-])
-
-
-
-dnl -------------------------------------------------------------
-dnl Another bug in gcc with template and namespaces (fixed since 3.2,
-dnl but present in 3.0):
-dnl
-dnl /* ----------------------------------------------- */
-dnl namespace NS {
-dnl   template <typename> struct Foo;
-dnl }
-dnl
-dnl class Bar {
-dnl     template <typename Y> friend struct NS::Foo;
-dnl };
-dnl
-dnl namespace NS {
-dnl   template <typename> struct Foo { Foo (); };
-dnl }
-dnl
-dnl template struct NS::Foo<int>;
-dnl /* ----------------------------------------------- */
-dnl
-dnl gcc2.95 provides a really unhelpful error message, 3.0 gets an
-dnl internal compiler error.
-dnl
-dnl Usage: DEAL_II_CHECK_NAMESP_TEMPL_FRIEND_BUG2
-dnl
-dnl -------------------------------------------------------------
-AC_DEFUN(DEAL_II_CHECK_NAMESP_TEMPL_FRIEND_BUG2, dnl
-[
-  AC_MSG_CHECKING(for 2nd template friend in namespace bug)
-  AC_LANG(C++)
-  CXXFLAGS="$CXXFLAGSG -Werror"
-  AC_TRY_COMPILE(
-    [
-        namespace NS {
-          template <typename> struct Foo;
-        }
-
-        class Bar {
-            template <typename Y> friend struct NS::Foo;
-        };
-
-        namespace NS {
-          template <typename> struct Foo { Foo (); };
-        }
-
-        template struct NS::Foo<int>;
-    ],
-    [],
-    [
-      AC_MSG_RESULT(no)
-    ],
-    [
-      AC_MSG_RESULT(yes. using workaround)
-      AC_DEFINE_UNQUOTED(DEAL_II_NAMESP_TEMPL_FRIEND_BUG2, 1,
-                         [Define if we have to work around another bug in gcc with
-                          marking all instances of a template class as friends
-                          to this class if the class is inside a namespace.
-                          See the aclocal.m4 file in the top-level directory
-                          for a description of this bug.])
-    ])
-])
-
-
 
 dnl -------------------------------------------------------------
 dnl In some cases, we would like to name partial specializations
@@ -3720,177 +3476,6 @@ AC_DEFUN(DEAL_II_CHECK_IMPLEMENTED_PURE_FUNCTION_BUG, dnl
 
 
 
-dnl -------------------------------------------------------------
-dnl gcc 2.95 dies on this construct:
-dnl -----------------------------
-dnl template <int dim> struct TT { typedef int type; };
-dnl
-dnl template <template <int> class T> struct X {
-dnl     typedef typename T<1>::type type;
-dnl     void foo (type t);
-dnl };
-dnl
-dnl template <template <int> class T>
-dnl void X<T>::foo (type t) {};
-dnl
-dnl template struct X<TT>;
-dnl -----------------------------
-dnl
-dnl We work around this problem, if we encounter it.
-dnl
-dnl Usage: DEAL_II_CHECK_TEMPLATE_TEMPLATE_TYPEDEF_BUG
-dnl
-dnl -------------------------------------------------------------
-AC_DEFUN(DEAL_II_CHECK_TEMPLATE_TEMPLATE_TYPEDEF_BUG, dnl
-[
-  AC_MSG_CHECKING(for template template typedef bug)
-  AC_LANG(C++)
-  CXXFLAGS="$CXXFLAGSG"
-  AC_TRY_COMPILE(
-    [
-        template <int dim> struct TT { typedef int type; };
-
-        template <template <int> class T> struct X {
-            typedef typename T<1>::type type;
-            void foo (type t);
-        };
-
-        template <template <int> class T>
-        void X<T>::foo (type) {}
-
-        template struct X<TT>;
-    ],
-    [],
-    [
-      AC_MSG_RESULT(no)
-    ],
-    [
-      AC_MSG_RESULT(yes. using workaround)
-      AC_DEFINE(DEAL_II_TEMPLATE_TEMPLATE_TYPEDEF_BUG, 1,
-                     [Defined if the compiler refuses to allow a typedef
-                      to a template template class template parameter. For
-                      the exact failure mode, look at aclocal.m4 in the
-                      top-level directory.])
-    ])
-])
-
-
-
-dnl -------------------------------------------------------------
-dnl gcc 2.95 as well as some other compilers do not correctly implement
-dnl the resolution of defect report #45 to the C++ standard (see
-dnl http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_active.html#45).
-dnl try to detect this, and set a flag correspondingly. in short,
-dnl the DR says that this is allowed, since member classes are
-dnl implicitly also friends:
-dnl -----------------------------
-dnl struct X {
-dnl     X ();
-dnl   private:
-dnl     static int f();
-dnl
-dnl     struct Y {
-dnl         int g() { return f(); };
-dnl     };
-dnl };
-dnl -----------------------------
-dnl
-dnl We work around this problem, if we encounter it.
-dnl
-dnl Usage: DEAL_II_CHECK_NESTED_CLASS_FRIEND_BUG
-dnl
-dnl -------------------------------------------------------------
-AC_DEFUN(DEAL_II_CHECK_NESTED_CLASS_FRIEND_BUG, dnl
-[
-  AC_MSG_CHECKING(for nested classes are implicit friends bug)
-  AC_LANG(C++)
-  CXXFLAGS="$CXXFLAGSG"
-  AC_TRY_COMPILE(
-    [
-        struct X {
-            X ();
-          private:
-            static int f();
-
-            struct Y {
-                int g() { return f(); };
-            };
-        };
-    ],
-    [],
-    [
-      AC_MSG_RESULT(no)
-    ],
-    [
-      AC_MSG_RESULT(yes. using workaround)
-      AC_DEFINE(DEAL_II_NESTED_CLASS_FRIEND_BUG, 1,
-                     [Defined if the compiler does not properly implement
-                      the resolution of defect report #45 to the C++
-                      standard, which makes nested types implicit friends
-                      of the enclosing class.])
-    ])
-])
-
-
-
-dnl -------------------------------------------------------------
-dnl gcc up to 3.3 won't accept the following code:
-dnl -----------------------------
-dnl template <typename> class X {
-dnl     template <typename> class Y {};
-dnl
-dnl     template <typename T>
-dnl     template <typename>
-dnl     friend class X<T>::Y;
-dnl };
-dnl
-dnl X<int> x;
-dnl -----------------------------
-dnl
-dnl They don't accept the X<T>::Y here, probably because the class is
-dnl not complete at this point. gcc3.4 gets it right, though. One
-dnl can work around by simply saying
-dnl   template <typename> friend class Y;
-dnl but then icc doesn't understand this :-( So everyone's got a bug
-dnl here. Also, note that the standard says that Y is an implicit friend
-dnl of X, but again, many compiler don't implement this correctly, which
-dnl is why we have to do something like the above in the first place...
-dnl
-dnl Usage: DEAL_II_CHECK_NESTED_CLASS_TEMPL_FRIEND_BUG
-dnl
-dnl -------------------------------------------------------------
-AC_DEFUN(DEAL_II_CHECK_NESTED_CLASS_TEMPL_FRIEND_BUG, dnl
-[
-  AC_MSG_CHECKING(for nested template class friends bug)
-  AC_LANG(C++)
-  CXXFLAGS="$CXXFLAGSG"
-  AC_TRY_COMPILE(
-    [
-      template <typename> class X {
-          template <typename> class Y {};
-
-          template <typename T>
-          template <typename>
-          friend class X<T>::Y;
-      };
-
-      X<int> x;
-    ],
-    [],
-    [
-      AC_MSG_RESULT(no)
-    ],
-    [
-      AC_MSG_RESULT(yes. using workaround)
-      AC_DEFINE(DEAL_II_NESTED_CLASS_TEMPL_FRIEND_BUG, 1,
-                     [Defined if the compiler does not understand friend
-                      declarations for nested member classes when giving
-                      a full class specification.])
-    ])
-])
-
-
-
 dnl -------------------------------------------------------------
 dnl Many compilers get this wrong (see Section 14.7.3.1, number (4)):
 dnl ---------------------------------
@@ -3993,153 +3578,6 @@ AC_DEFUN(DEAL_II_CHECK_MEMBER_ARRAY_SPECIALIZATION_BUG, dnl
 ])
 
 
-
-dnl -------------------------------------------------------------
-dnl gcc 2.95 doesn't like it if we have a member template function
-dnl and define it as a template while specializing the outer class
-dnl template. This is a nasty bug that is hard to work around...
-dnl
-dnl Usage: DEAL_II_CHECK_MEMBER_TEMPLATE_SPECIALIZATION_BUG
-dnl
-dnl -------------------------------------------------------------
-AC_DEFUN(DEAL_II_CHECK_MEMBER_TEMPLATE_SPECIALIZATION_BUG, dnl
-[
-  AC_MSG_CHECKING(for template member function specialization bug)
-  AC_LANG(C++)
-  CXXFLAGS="$CXXFLAGSG"
-  AC_TRY_COMPILE(
-    [
-      template <int dim> struct X
-      {
-        template <typename T> void f(T);
-      };
-
-      template <>
-      template <typename T>
-      void X<1>::f (T)
-      {}
-
-      template void X<1>::f(int);
-    ],
-    [],
-    [
-      AC_MSG_RESULT(no)
-    ],
-    [
-      AC_MSG_RESULT(yes. using workaround)
-      AC_DEFINE(DEAL_II_MEMBER_TEMPLATE_SPECIALIZATION_BUG, 1,
-                     [Defined if the compiler refuses to specialize
-                      an outer class template while keeping a member
-                      as a template. For the exact failure mode, look at
-                      aclocal.m4 in the top-level directory.])
-    ])
-])
-
-
-
-dnl -------------------------------------------------------------
-dnl gcc3.1 (and maybe later compilers) has a bug with long double
-dnl and optimization (see code below), when compiling on Sparc
-dnl machines. Since it affects only one platform and one compiler,
-dnl we take the liberty to disable the function in which the problem
-dnl occurs (Polynomial::shift in base/source/polynomial.cc), since
-dnl this is a function that is rarely used anyway.
-dnl
-dnl For more information: the bug just described is reported to
-dnl the gcc project under number 7335.
-dnl
-dnl Usage: DEAL_II_CHECK_LONG_DOUBLE_LOOP_BUG
-dnl
-dnl -------------------------------------------------------------
-AC_DEFUN(DEAL_II_CHECK_LONG_DOUBLE_LOOP_BUG, dnl
-[
-  AC_MSG_CHECKING(for long double optimization bug)
-  AC_LANG(C++)
-  CXXFLAGS="$CXXFLAGSO"
-  AC_TRY_COMPILE(
-    [
-        double* copy(long double* first, long double* last, double* result)
-        {
-          int n;
-          for (n = last - first; n > 0; --n) {
-            *result = *first;
-            ++first;
-            ++result;
-          }
-          return result;
-        }
-
-        void f()
-        {
-          long double *p1=0, *p2=0;
-          double *p3=0;
-          copy (p1, p2, p3);
-          p3 = copy (p1, p2, p3);
-        };
-    ],
-    [],
-    [
-      AC_MSG_RESULT(no)
-    ],
-    [
-      AC_MSG_RESULT(yes. disabling respective functions)
-      AC_DEFINE(DEAL_II_LONG_DOUBLE_LOOP_BUG, 1,
-                     [Defined if the compiler gets an internal compiler
-                      upon some code involving long doubles, and with
-                      optimization. For the details, look at
-                      aclocal.m4 in the top-level directory.])
-    ])
-])
-
-
-
-dnl -------------------------------------------------------------
-dnl gcc2.95 (but not later compilers) has a bug with taking the
-dnl address of a function with template template parameters (or
-dnl with calling this function by specifying explicitly the template
-dnl arguments). This requires some working around that in turn does
-dnl not work with later compilers.
-dnl
-dnl Usage: DEAL_II_CHECK_FUNPTR_TEMPLATE_TEMPLATE_BUG
-dnl
-dnl -------------------------------------------------------------
-AC_DEFUN(DEAL_II_CHECK_FUNPTR_TEMPLATE_TEMPLATE_BUG, dnl
-[
-  AC_MSG_CHECKING(for address of template template function bug)
-  AC_LANG(C++)
-  CXXFLAGS="$CXXFLAGSG"
-  AC_TRY_COMPILE(
-    [
-      template <int> struct X {};
-
-      template <int dim, template <int> class T>
-      void f(T<dim>);
-
-      template <int dim, template <int> class T>
-      void* g()
-      {
-        void (*p) (T<dim>) = &f<dim,T>;
-        return (void*)p;
-      }
-
-      template void* g<2,X> ();
-    ],
-    [],
-    [
-      AC_MSG_RESULT(no)
-    ],
-    [
-      AC_MSG_RESULT(yes. using workaround)
-      AC_DEFINE(DEAL_II_FUNPTR_TEMPLATE_TEMPLATE_BUG, 1,
-                     [Defined if the compiler needs a workaround for
-                      certain problems with taking the address of
-                      template template functions. For the details, look at
-                      aclocal.m4 in the top-level directory.])
-    ])
-])
-
-
-
 dnl -------------------------------------------------------------
 dnl We compile all the files in the deal.II subdirectory multiple
 dnl times, for the various space dimensions. When a program
@@ -4508,43 +3946,6 @@ AC_DEFUN(DEAL_II_CHECK_ARRAY_CONDITIONAL_DECAY_BUG, dnl
 
 
 
-dnl -------------------------------------------------------------
-dnl Old versions of gcc (in particular gcc 3.3.3) has a problem
-dnl if an argument to a member function is an array with bounds
-dnl that depend on a static const variable inside that class.
-dnl
-dnl Usage: DEAL_II_CHECK_ARRAY_CONDITIONAL_DECAY_BUG
-dnl
-dnl -------------------------------------------------------------
-AC_DEFUN(DEAL_II_CHECK_ARRAY_ARG_BUG, dnl
-[
-  AC_MSG_CHECKING(for array argument bug)
-  AC_LANG(C++)
-  CXXFLAGS="-W -Wall -Werror"
-  AC_TRY_COMPILE(
-    [
-      template <int dim> struct X {
-        static const unsigned int N = 1<<dim;
-        void f(int (&)[N]);
-      };
-
-      template <int dim> void X<dim>::f(int (&)[N]) {}
-    ],
-    [
-    ],
-    [
-      AC_MSG_RESULT(no)
-    ],
-    [
-      AC_MSG_RESULT(yes)
-      AC_DEFINE(DEAL_II_ARRAY_ARG_BUG, 1,
-                     [Defined if the compiler has a problem with
-                      using arrays as arguments in functions])
-    ])
-])
-
-
-
 dnl -------------------------------------------------------------
 dnl Some versions of gcc get this example wrong:
 dnl ---------------------------------
index 863a10b731c1bfdb50a254896fdaf6a4665d68e8..c9e026053e235a783f402bf3fdfe8a15e341a905 100755 (executable)
@@ -1,14 +1,12 @@
 #! /bin/sh
 # From configure.in Revision: 26811 .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for deal.II 7.3.pre.
+# Generated by GNU Autoconf 2.69 for deal.II 7.3.pre.
 #
 # Report bugs to <dealii@dealii.org>.
 #
 #
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
@@ -137,6 +135,31 @@ export LANGUAGE
 # CDPATH.
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
+# Use a proper internal environment variable to ensure we don't fall
+  # into an infinite loop, continuously re-executing ourselves.
+  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+    _as_can_reexec=no; export _as_can_reexec;
+    # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+  fi
+  # We don't want this to propagate to other subprocesses.
+          { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
   emulate sh
@@ -170,7 +193,8 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
 else
   exitcode=1; echo positional parameters were not saved.
 fi
-test x\$exitcode = x0 || exit 1"
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -215,21 +239,25 @@ IFS=$as_save_IFS
 
 
       if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-       # neutralization value for shells without unset; and this also
-       # works around shells that cannot unset nonexistent variables.
-       # Preserve -v and -x to the replacement shell.
-       BASH_ENV=/dev/null
-       ENV=/dev/null
-       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-       export CONFIG_SHELL
-       case $- in # ((((
-         *v*x* | *x*v* ) as_opts=-vx ;;
-         *v* ) as_opts=-v ;;
-         *x* ) as_opts=-x ;;
-         * ) as_opts= ;;
-       esac
-       exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
+  export CONFIG_SHELL
+             # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+  *v*x* | *x*v* ) as_opts=-vx ;;
+  *v* ) as_opts=-v ;;
+  *x* ) as_opts=-x ;;
+  * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
 fi
 
     if test x$as_have_required = xno; then :
@@ -332,6 +360,14 @@ $as_echo X"$as_dir" |
 
 
 } # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -453,6 +489,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   chmod +x "$as_me.lineno" ||
     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
+  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+  # already done that, so ensure we don't try to do so again and fall
+  # in an infinite loop.  This has already happened in practice.
+  _as_can_reexec=no; export _as_can_reexec
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
   # original and so on.  Autoconf is especially sensitive to this).
@@ -487,16 +527,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -508,28 +548,8 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -1289,8 +1309,6 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used" >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1650,9 +1668,9 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 deal.II configure 7.3.pre
-generated by GNU Autoconf 2.68
+generated by GNU Autoconf 2.69
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1766,7 +1784,7 @@ $as_echo "$ac_try_echo"; } >&5
         test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
         test "$cross_compiling" = yes ||
-        $as_test_x conftest$ac_exeext
+        test -x conftest$ac_exeext
        }; then :
   ac_retval=0
 else
@@ -2057,7 +2075,7 @@ This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by deal.II $as_me 7.3.pre, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 
@@ -2621,7 +2639,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CXX="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2697,7 +2715,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2737,7 +2755,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2790,7 +2808,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2831,7 +2849,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
@@ -2889,7 +2907,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -2933,7 +2951,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3379,8 +3397,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdarg.h>
 #include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
+struct stat;
 /* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
 struct buf { int x; };
 FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -3497,7 +3514,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_CC="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3551,7 +3568,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3595,7 +3612,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CXX="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -3812,7 +3829,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_CXX="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -6356,220 +6373,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether AssertThrow works with debug flags" >&5
-$as_echo_n "checking whether AssertThrow works with debug flags... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  CXXFLAGS="$CXXFLAGSG"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <exception>
-#include <iostream>
-#include <cstdlib>
-
-#ifndef __GNUC__
-#  define __PRETTY_FUNCTION__ "(unknown)"
-#endif
-class ExceptionBase : public std::exception {
-  public:
-    ExceptionBase ();
-    ExceptionBase (const char* f, const int l, const char *func,
-                   const char* c, const char *e);
-    virtual ~ExceptionBase () throw();
-    void SetFields (const char *f, const int   l, const char *func,
-                    const char *c, const char *e);
-    void PrintExcData (std::ostream &out) const;
-    virtual void PrintInfo (std::ostream &out) const;
-    virtual const char * what () const throw ();
-  protected:
-    const char  *file;
-    unsigned int line;
-    const char  *function, *cond, *exc;
-};
-
-template <class exc>
-void __IssueError_Assert (const char *file,
-                          int         line,
-                          const char *function,
-                          const char *cond,
-                          const char *exc_name,
-                          exc         e){
-  e.SetFields (file, line, function, cond, exc_name);
-  std::cerr << "--------------------------------------------------------"
-            << std::endl;
-  e.PrintExcData (std::cerr);
-  e.PrintInfo (std::cerr);
-  std::cerr << "--------------------------------------------------------"
-            << std::endl;
-  std::abort ();
-}
-
-template <class exc>
-void __IssueError_Throw (const char *file,
-                         int         line,
-                         const char *function,
-                         const char *cond,
-                         const char *exc_name,
-                         exc         e) {
-                                   // Fill the fields of the exception object
-  e.SetFields (file, line, function, cond, exc_name);
-  throw e;
-}
-
-#define AssertThrow(cond, exc)                                    \
-  {                                                               \
-    if (!(cond))                                                  \
-      __IssueError_Throw (__FILE__,                               \
-                          __LINE__,                               \
-                          __PRETTY_FUNCTION__, #cond, #exc, exc); \
-  }
-
-#define DeclException0(Exception0)  \
-class Exception0 :  public ExceptionBase {}
-
-namespace StandardExceptions
-{
-  DeclException0 (ExcInternalError);
-}
-using namespace StandardExceptions;
-
-int
-main ()
-{
-
-        AssertThrow (false, ExcInternalError());
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-else
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-        CXXFLAGSG="-DDISABLE_ASSERT_THROW $CXXFLAGSG"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether AssertThrow works with optimized flags" >&5
-$as_echo_n "checking whether AssertThrow works with optimized flags... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  CXXFLAGS="$CXXFLAGSO"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <exception>
-#include <iostream>
-#include <cstdlib>
-
-#ifndef __GNUC__
-#  define __PRETTY_FUNCTION__ "(unknown)"
-#endif
-class ExceptionBase : public std::exception {
-  public:
-    ExceptionBase ();
-    ExceptionBase (const char* f, const int l, const char *func,
-                   const char* c, const char *e);
-    virtual ~ExceptionBase () throw();
-    void SetFields (const char *f, const int   l, const char *func,
-                    const char *c, const char *e);
-    void PrintExcData (std::ostream &out) const;
-    virtual void PrintInfo (std::ostream &out) const;
-    virtual const char * what () const throw ();
-  protected:
-    const char  *file;
-    unsigned int line;
-    const char  *function, *cond, *exc;
-};
-
-template <class exc>
-void __IssueError_Assert (const char *file,
-                          int         line,
-                          const char *function,
-                          const char *cond,
-                          const char *exc_name,
-                          exc         e){
-  e.SetFields (file, line, function, cond, exc_name);
-  std::cerr << "--------------------------------------------------------"
-            << std::endl;
-  e.PrintExcData (std::cerr);
-  e.PrintInfo (std::cerr);
-  std::cerr << "--------------------------------------------------------"
-            << std::endl;
-  std::abort ();
-}
-
-template <class exc>
-void __IssueError_Throw (const char *file,
-                         int         line,
-                         const char *function,
-                         const char *cond,
-                         const char *exc_name,
-                         exc         e) {
-                                   // Fill the fields of the exception object
-  e.SetFields (file, line, function, cond, exc_name);
-  throw e;
-}
-
-#define AssertThrow(cond, exc)                                    \
-  {                                                               \
-    if (!(cond))                                                  \
-      __IssueError_Throw (__FILE__,                               \
-                          __LINE__,                               \
-                          __PRETTY_FUNCTION__, #cond, #exc, exc); \
-  }
-
-#define DeclException0(Exception0)  \
-class Exception0 :  public ExceptionBase {}
-
-namespace StandardExceptions
-{
-  DeclException0 (ExcInternalError);
-}
-using namespace StandardExceptions;
-
-int
-main ()
-{
-
-        AssertThrow (false, ExcInternalError());
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-else
-
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-        CXXFLAGSO="-DDISABLE_ASSERT_THROW $CXXFLAGSO"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for local computed template typedef bug" >&5
 $as_echo_n "checking for local computed template typedef bug... " >&6; }
   ac_ext=cpp
@@ -6776,120 +6579,8 @@ _ACEOF
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 1st template friend in namespace bug" >&5
-$as_echo_n "checking for 1st template friend in namespace bug... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  CXXFLAGS="$CXXFLAGSG"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-        namespace NS {
-          template <typename T>  class C  {
-              C(const C<T>&);
-              template <typename N> friend class C;
-          };
-        }
-
-        namespace NS2 {  template <typename number> class C;  }
-
-        template <typename T> class X {
-            template <typename N> friend class NS2::C;
-            template <typename N> friend class NS::C;
-        };
-
-        template class X<int>;
-
-        namespace NS {
-          template<typename T>
-          inline C<T>::C(const C<T>&)
-          {}
-        }
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes. using workaround" >&5
-$as_echo "yes. using workaround" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define DEAL_II_NAMESP_TEMPL_FRIEND_BUG 1
-_ACEOF
-
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 2nd template friend in namespace bug" >&5
-$as_echo_n "checking for 2nd template friend in namespace bug... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  CXXFLAGS="$CXXFLAGSG -Werror"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-        namespace NS {
-          template <typename> struct Foo;
-        }
-
-        class Bar {
-            template <typename Y> friend struct NS::Foo;
-        };
-
-        namespace NS {
-          template <typename> struct Foo { Foo (); };
-        }
-
-        template struct NS::Foo<int>;
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes. using workaround" >&5
-$as_echo "yes. using workaround" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define DEAL_II_NAMESP_TEMPL_FRIEND_BUG2 1
-_ACEOF
-
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
+DEAL_II_CHECK_NAMESP_TEMPL_FRIEND_BUG
+DEAL_II_CHECK_NAMESP_TEMPL_FRIEND_BUG2
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for template specialization friend bug" >&5
 $as_echo_n "checking for template specialization friend bug... " >&6; }
@@ -6995,200 +6686,10 @@ $as_echo "#define DEAL_II_IMPLEMENTED_PURE_FUNCTION_BUG 1" >>confdefs.h
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for template template typedef bug" >&5
-$as_echo_n "checking for template template typedef bug... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  CXXFLAGS="$CXXFLAGSG"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-        template <int dim> struct TT { typedef int type; };
-
-        template <template <int> class T> struct X {
-            typedef typename T<1>::type type;
-            void foo (type t);
-        };
-
-        template <template <int> class T>
-        void X<T>::foo (type) {}
-
-        template struct X<TT>;
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes. using workaround" >&5
-$as_echo "yes. using workaround" >&6; }
-
-$as_echo "#define DEAL_II_TEMPLATE_TEMPLATE_TYPEDEF_BUG 1" >>confdefs.h
-
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for address of template template function bug" >&5
-$as_echo_n "checking for address of template template function bug... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  CXXFLAGS="$CXXFLAGSG"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-      template <int> struct X {};
-
-      template <int dim, template <int> class T>
-      void f(T<dim>);
-
-      template <int dim, template <int> class T>
-      void* g()
-      {
-        void (*p) (T<dim>) = &f<dim,T>;
-        return (void*)p;
-      }
-
-      template void* g<2,X> ();
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes. using workaround" >&5
-$as_echo "yes. using workaround" >&6; }
-
-$as_echo "#define DEAL_II_FUNPTR_TEMPLATE_TEMPLATE_BUG 1" >>confdefs.h
-
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nested classes are implicit friends bug" >&5
-$as_echo_n "checking for nested classes are implicit friends bug... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  CXXFLAGS="$CXXFLAGSG"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-        struct X {
-            X ();
-          private:
-            static int f();
-
-            struct Y {
-                int g() { return f(); };
-            };
-        };
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes. using workaround" >&5
-$as_echo "yes. using workaround" >&6; }
-
-$as_echo "#define DEAL_II_NESTED_CLASS_FRIEND_BUG 1" >>confdefs.h
-
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nested template class friends bug" >&5
-$as_echo_n "checking for nested template class friends bug... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  CXXFLAGS="$CXXFLAGSG"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-      template <typename> class X {
-          template <typename> class Y {};
-
-          template <typename T>
-          template <typename>
-          friend class X<T>::Y;
-      };
-
-      X<int> x;
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes. using workaround" >&5
-$as_echo "yes. using workaround" >&6; }
-
-$as_echo "#define DEAL_II_NESTED_CLASS_TEMPL_FRIEND_BUG 1" >>confdefs.h
-
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
+DEAL_II_CHECK_TEMPLATE_TEMPLATE_TYPEDEF_BUG
+DEAL_II_CHECK_FUNPTR_TEMPLATE_TEMPLATE_BUG
+DEAL_II_CHECK_NESTED_CLASS_FRIEND_BUG
+DEAL_II_CHECK_NESTED_CLASS_TEMPL_FRIEND_BUG
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for member variable specialization bug" >&5
 $as_echo_n "checking for member variable specialization bug... " >&6; }
@@ -7279,111 +6780,8 @@ $as_echo "#define DEAL_II_MEMBER_ARRAY_SPECIALIZATION_BUG 1" >>confdefs.h
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for template member function specialization bug" >&5
-$as_echo_n "checking for template member function specialization bug... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  CXXFLAGS="$CXXFLAGSG"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-      template <int dim> struct X
-      {
-        template <typename T> void f(T);
-      };
-
-      template <>
-      template <typename T>
-      void X<1>::f (T)
-      {}
-
-      template void X<1>::f(int);
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes. using workaround" >&5
-$as_echo "yes. using workaround" >&6; }
-
-$as_echo "#define DEAL_II_MEMBER_TEMPLATE_SPECIALIZATION_BUG 1" >>confdefs.h
-
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double optimization bug" >&5
-$as_echo_n "checking for long double optimization bug... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  CXXFLAGS="$CXXFLAGSO"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-        double* copy(long double* first, long double* last, double* result)
-        {
-          int n;
-          for (n = last - first; n > 0; --n) {
-            *result = *first;
-            ++first;
-            ++result;
-          }
-          return result;
-        }
-
-        void f()
-        {
-          long double *p1=0, *p2=0;
-          double *p3=0;
-          copy (p1, p2, p3);
-          p3 = copy (p1, p2, p3);
-        };
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes. disabling respective functions" >&5
-$as_echo "yes. disabling respective functions" >&6; }
-
-$as_echo "#define DEAL_II_LONG_DOUBLE_LOOP_BUG 1" >>confdefs.h
-
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
+DEAL_II_CHECK_MEMBER_TEMPLATE_SPECIALIZATION_BUG
+DEAL_II_CHECK_LONG_DOUBLE_LOOP_BUG
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for anonymous namespace and name mangling bug" >&5
 $as_echo_n "checking for anonymous namespace and name mangling bug... " >&6; }
@@ -7714,51 +7112,7 @@ $as_echo "#define DEAL_II_ARRAY_CONDITIONAL_DECAY_BUG 1" >>confdefs.h
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for array argument bug" >&5
-$as_echo_n "checking for array argument bug... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  CXXFLAGS="-W -Wall -Werror"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-      template <int dim> struct X {
-        static const unsigned int N = 1<<dim;
-        void f(int (&)[N]);
-      };
-
-      template <int dim> void X<dim>::f(int (&)[N]) {}
-
-int
-main ()
-{
-
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define DEAL_II_ARRAY_ARG_BUG 1" >>confdefs.h
-
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
+DEAL_II_CHECK_ARRAY_ARG_BUG
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for explicit template constructor bug" >&5
 $as_echo_n "checking for explicit template constructor bug... " >&6; }
@@ -9363,7 +8717,7 @@ do
     for ac_prog in grep ggrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+      as_fn_executable_p "$ac_path_GREP" || continue
 # Check for GNU ac_path_GREP and select it if it is found.
   # Check for GNU $ac_path_GREP
 case `"$ac_path_GREP" --version 2>&1` in
@@ -9429,7 +8783,7 @@ do
     for ac_prog in egrep; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+      as_fn_executable_p "$ac_path_EGREP" || continue
 # Check for GNU ac_path_EGREP and select it if it is found.
   # Check for GNU $ac_path_EGREP
 case `"$ac_path_EGREP" --version 2>&1` in
@@ -9724,7 +9078,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_F77="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -9765,7 +9119,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_F77="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10279,7 +9633,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AR="ar"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10318,7 +9672,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10357,7 +9711,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10397,7 +9751,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_RANLIB="ranlib"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -10451,7 +9805,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_RANLIB="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11744,7 +11098,7 @@ do
     for ac_prog in sed gsed; do
     for ac_exec_ext in '' $ac_executable_extensions; do
       ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+      as_fn_executable_p "$ac_path_SED" || continue
 # Check for GNU ac_path_SED and select it if it is found.
   # Check for GNU $ac_path_SED
 case `"$ac_path_SED" --version 2>&1` in
@@ -11809,7 +11163,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -11890,7 +11244,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_H5CC="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14365,7 +13719,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_DOXYGEN="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14428,7 +13782,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_DOT="dot"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14478,7 +13832,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14519,7 +13873,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_prog_QMAKE="qmake"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14559,7 +13913,7 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
     ac_cv_path_QMAKE="$as_dir/$ac_word$ac_exec_ext"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
@@ -14976,16 +14330,16 @@ if (echo >conf$$.file) 2>/dev/null; then
     # ... but there are two gotchas:
     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
+    # In both cases, we have to default to `cp -pR'.
     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
+      as_ln_s='cp -pR'
   elif ln conf$$.file conf$$ 2>/dev/null; then
     as_ln_s=ln
   else
-    as_ln_s='cp -p'
+    as_ln_s='cp -pR'
   fi
 else
-  as_ln_s='cp -p'
+  as_ln_s='cp -pR'
 fi
 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
 rmdir conf$$.dir 2>/dev/null
@@ -15045,28 +14399,16 @@ else
   as_mkdir_p=false
 fi
 
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-       test -d "$1/.";
-      else
-       case $1 in #(
-       -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+  test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -15088,7 +14430,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # values after options handling.
 ac_log="
 This file was extended by deal.II $as_me 7.3.pre, which was
-generated by GNU Autoconf 2.68.  Invocation command line was
+generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -15150,10 +14492,10 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 deal.II config.status 7.3.pre
-configured by $0, generated by GNU Autoconf 2.68,
+configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -15242,7 +14584,7 @@ fi
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
   \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
index 226afdd50f9e52d4cae6d174cb9b8be20ed0a3a9..63775992fd71b2a786aadbd642f4505c8e523d4f 100644 (file)
@@ -201,10 +201,6 @@ dnl whether other flags are set (e.g. the need for defining
 dnl -D__EXTENSIONS__ depends on whether we use/not use threading
 dnl options), this is done after checking for multithreading
 
-DEAL_II_CHECK_ASSERT_THROW(debug, $CXXFLAGSG,
-                           [CXXFLAGSG="-DDISABLE_ASSERT_THROW $CXXFLAGSG"])
-DEAL_II_CHECK_ASSERT_THROW(optimized, $CXXFLAGSO,
-                           [CXXFLAGSO="-DDISABLE_ASSERT_THROW $CXXFLAGSO"])
 DEAL_II_CHECK_LOCAL_TYPEDEF_COMP
 DEAL_II_CHECK_TEMPLATE_SPEC_ACCESS
 DEAL_II_CHECK_MEMBER_OP_TEMPLATE_INST
index 39c626880eeff5bcf881a3d75e9eb4272c8acb36..a190398a659619ac4df70cf6b712622d71008e42 100644 (file)
@@ -407,7 +407,6 @@ namespace internal
                                          // as friends. make sure to
                                          // work around bugs in some
                                          // compilers
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
         template <int,int,typename> friend class SymmetricTensor;
         template <int,int,bool,int,typename>
         friend class Accessor;
@@ -415,10 +414,6 @@ namespace internal
         friend class ::dealii::SymmetricTensor<rank,dim,Number>;
         friend class Accessor<rank,dim,constness,P+1,Number>;
 #  endif
-#else
-        friend class SymmetricTensor<rank,dim,Number>;
-        friend class Accessor<rank,dim,constness,P+1,Number>;
-#endif
     };
 
 
@@ -526,7 +521,6 @@ namespace internal
                                          // as friends. make sure to
                                          // work around bugs in some
                                          // compilers
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
         template <int,int,typename> friend class SymmetricTensor;
         template <int,int,bool,int,typename>
         friend class SymmetricTensorAccessors::Accessor;
@@ -534,10 +528,6 @@ namespace internal
         friend class ::dealii::SymmetricTensor<rank,dim,Number>;
         friend class SymmetricTensorAccessors::Accessor<rank,dim,constness,2,Number>;
 #  endif
-#else
-        friend class SymmetricTensor<rank,dim,Number>;
-        friend class Accessor<rank,dim,constness,2,Number>;
-#endif
     };
   }
 }
index 531226662a74db98e89ac38b702e4a6870dd55de..051f680bf4816382926d45d5cd37e0aa6af48b49 100644 (file)
@@ -223,7 +223,6 @@ namespace internal
                                          // as friends. make sure to
                                          // work around bugs in some
                                          // compilers
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
         template <int N1, typename T1> friend class dealii::Table;
         template <int N1, typename T1, bool C1, unsigned int P1>
         friend class Accessor;
@@ -231,10 +230,6 @@ namespace internal
         friend class dealii::Table<N,T>;
         friend class Accessor<N,T,C,P+1>;
 #  endif
-#else
-        friend class Table<N,T>;
-        friend class Accessor<N,T,C,P+1>;
-#endif
     };
 
 
@@ -374,7 +369,6 @@ namespace internal
                                          // as friends. make sure to
                                          // work around bugs in some
                                          // compilers
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
         template <int N1, typename T1> friend class dealii::Table;
         template <int N1, typename T1, bool C1, unsigned int P1>
         friend class Accessor;
@@ -382,10 +376,6 @@ namespace internal
         friend class dealii::Table<2,T>;
         friend class Accessor<N,T,C,2>;
 #  endif
-#else
-        friend class Table<2,T>;
-        friend class Accessor<N,T,C,2>;
-#endif
     };
   }
 
index 895c407bd0b6ab91ce1a08fb59b69d74796292b6..37f1a729693904f5471c7f740c4b31b0a5c26224 100644 (file)
@@ -745,15 +745,6 @@ class FilteredIterator : public BaseIterator
                                       */
     const PredicateBase * predicate;
 
-#ifdef DEAL_II_NESTED_CLASS_FRIEND_BUG
-#  ifdef DEAL_II_NESTED_CLASS_TEMPL_FRIEND_BUG
-    template <typename> friend class PredicateTemplate;
-#  else
-    template <typename T>
-    template <typename>
-    friend class FilteredIterator<T>::PredicateTemplate;
-#  endif
-#endif
 };
 
 
index 8f68491ec64a12a3e638c156a56bdd74a0447815..2e3cecf83c78c5f2804c952f4e6e8f5408c5157b 100644 (file)
@@ -1237,20 +1237,11 @@ class BlockMatrixBase : public Subscriptor
                                       * friend. We have to work around
                                       * a compiler bug here again.
                                       */
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
     template <typename, bool>
     friend class BlockMatrixIterators::Accessor;
 
     template <typename>
     friend class MatrixIterator;
-#else
-    typedef BlockMatrixIterators::Accessor<BlockMatrixBase, true> ConstAccessor;
-    typedef BlockMatrixIterators::Accessor<BlockMatrixBase, false> Accessor;
-    friend class ConstAccessor;
-
-    friend class const_iterator;
-#endif
-
 };
 
 
index f5f3aaecbc4cc6a279bbfa24f1f2984bdecf7d58..33039ec2f134d9245fece9d44e370bc1dd944eaf 100644 (file)
@@ -645,7 +645,6 @@ namespace internal
         void move_backward ();
 
 
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
                                          /**
                                           * Mark all other instances of
                                           * this template as friends. In
@@ -653,19 +652,10 @@ namespace internal
                                           * inverse constness iterator
                                           * as friend, but this is
                                           * something that ISO C++ does
-                                          * not allow to specify. If we
-                                          * have detected a compiler bug
-                                          * during configuration of the
-                                          * library, use a workaround
-                                          * that works for this
-                                          * particular compiler, but is
-                                          * not ISO C++ conforming.
+                                          * not allow to specify.
                                           */
         template <typename N, bool C>
         friend class Iterator;
-#else
-        friend class InverseConstnessIterator;
-#endif
     };
   }  // namespace BlockVectorIterators
 }  // namespace internal
@@ -1165,16 +1155,10 @@ class BlockVectorBase : public Subscriptor
 
                                      /**
                                       * Make the iterator class a
-                                      * friend. We have to work around
-                                      * a compiler bug here again.
+                                      * friend.
                                       */
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
     template <typename N, bool C>
     friend class dealii::internal::BlockVectorIterators::Iterator;
-#else
-    friend class iterator;
-    friend class const_iterator;
-#endif
 
     template <typename> friend class BlockVectorBase;
 };
index caf2c445bb4d113c682650128da8f727d5784a76..f9217a8a50623bb9234a8095d43642245932d236 100644 (file)
@@ -332,9 +332,6 @@ namespace SparseMatrixIterators
                                         * friend if the compiler has a bug
                                         * and requires this.
                                         */
-#ifdef DEAL_II_NESTED_CLASS_FRIEND_BUG
-      friend class Reference;
-#endif
   };
 
 
index ca0742ff546b2c758c78b49fa84092fb278ad25e..f921bc08054ad425b8bd4bdbbb1b8a0999df2c5e 100644 (file)
@@ -319,9 +319,6 @@ class SparseMatrixEZ : public Subscriptor
                                           * class being granted
                                           * friendship...
                                           */
-#ifdef DEAL_II_NESTED_CLASS_FRIEND_BUG
-        template <typename> friend class SparseMatrixEZ;
-#endif
     };
 
                                      /**
@@ -1077,10 +1074,6 @@ class SparseMatrixEZ : public Subscriptor
                                       * standard, but some compilers
                                       * require this...
                                       */
-#ifdef DEAL_II_NESTED_CLASS_FRIEND_BUG
-    friend class const_iterator;
-    friend class const_iterator::Accessor;
-#endif
 };
 
 /*@}*/
index 652d9d972c28ca181c05b40aa958a9dedfbd703f..e05e81f86a74f470c9125ee3ed556c6845b7b4ba 100644 (file)
@@ -521,19 +521,6 @@ namespace Polynomials
   Polynomial<number>::shift(std::vector<number>& coefficients,
                             const number2 offset)
   {
-#ifdef DEAL_II_LONG_DOUBLE_LOOP_BUG
-    AssertThrow (false,
-                 ExcMessage("Sorry, but the compiler you are using has a bug that disallows "
-                            "compilation of this function, so you cannot use it. Read more "
-                            "about the bug and when it occurs in the aclocal.m4 file in the "
-                            "top level directory (watch for the string "
-                            "DEAL_II_LONG_DOUBLE_LOOP_BUG)"));
-                                     // calm down warning for unused
-                                     // args. note that this code is
-                                     // actually unreachable
-    coefficients[0] = offset;
-#else
-
                                 // too many coefficients cause overflow in
                                 // the binomial coefficient used below
     Assert (coefficients.size() < 31, ExcNotImplemented());
@@ -587,7 +574,6 @@ namespace Polynomials
 
                                      // copy new elements to old vector
     coefficients.assign(new_coefficients.begin(), new_coefficients.end());
-#endif
   }
 
 
index 7549689b4827ca483a588ca15f91083ebfd2dcfc..e439ecd9063e3b2fab2aa5c2d39fbda96ebdb07b 100644 (file)
@@ -148,10 +148,10 @@ namespace Threads
 
   unsigned int this_thread_id ()
   {
-#ifdef SYS_gettid
-    const int this_id = syscall(SYS_gettid);
-#elif HAVE_GETPID
+#if HAVE_GETPID
     const pid_t this_id = getpid();
+#elif SYS_gettid
+    const int this_id = syscall(SYS_gettid);
 #else
 #  ifdef DEAL_II_MSVC
     const unsigned int this_id = 0;

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.