From d503fef2c72eef5fae21a11e7703103d2ab77348 Mon Sep 17 00:00:00 2001 From: wolf Date: Mon, 22 Apr 2002 12:59:13 +0000 Subject: [PATCH] . git-svn-id: https://svn.dealii.org/trunk@5708 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/base/include/base/config.h.in | 14 +++-- deal.II/configure | 74 ++++++++++++++++++++++++++- 2 files changed, 83 insertions(+), 5 deletions(-) diff --git a/deal.II/base/include/base/config.h.in b/deal.II/base/include/base/config.h.in index 035dbe6e72..bd3541c71d 100644 --- a/deal.II/base/include/base/config.h.in +++ b/deal.II/base/include/base/config.h.in @@ -33,6 +33,12 @@ */ #undef DEAL_II_COMPAT_MAPPING +/* Define if we have to work around another bug in Intel's icc compiler in + which the compiler refuses to store the const attribute at a member + function pointer with a constant class. See the aclocal.m4 file in the + top-level directory for a description of this bug. */ +#undef DEAL_II_CONST_MEM_FUN_PTR_BUG + /* Flag indicating whether the library shall be compiled to use the Tecplot interface */ #undef DEAL_II_HAVE_TECPLOT @@ -64,10 +70,10 @@ */ #undef DEAL_II_TEMPLATE_SPEC_ACCESS_WORKAROUND -/* Define if we have to work around a bug in icc in which the compiler refuses - to consider a template when given a pointer to a constant member function. - See the aclocal.m4 file in the top-level directory for a description of - this bug. */ +/* Define if we have to work around a bug in Intel's icc compiler in which the + compiler refuses to consider a template when given a pointer to a constant + member function. See the aclocal.m4 file in the top-level directory for a + description of this bug. */ #undef DEAL_II_TEMPL_CONST_MEM_PTR_BUG /* Flag indicating whether the library shall be compiler for multithreaded diff --git a/deal.II/configure b/deal.II/configure index 52dab8d0e6..23b48350f0 100755 --- a/deal.II/configure +++ b/deal.II/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 1.105 . +# From configure.in Revision: 1.106 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.53a. # @@ -3904,6 +3904,78 @@ cat >>confdefs.h <<\_ACEOF _ACEOF +fi +rm -f conftest.$ac_objext conftest.$ac_ext + + + echo "$as_me:$LINENO: checking for templates and pointers to const member functions bug" >&5 +echo $ECHO_N "checking for templates and pointers to const member functions bug... $ECHO_C" >&6 + ac_ext=cc +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 >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + + template struct Y { + typedef void (Class::*FunPtr) (); + FunPtr fun_ptr; + Class *object; + void foo () { + (object->*fun_ptr)(); + }; + }; + + struct X {}; + + template class Y; + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 + + echo "$as_me:$LINENO: result: yes. using workaround" >&5 +echo "${ECHO_T}yes. using workaround" >&6 + +cat >>confdefs.h <<\_ACEOF +#define DEAL_II_CONST_MEM_FUN_PTR_BUG 1 +_ACEOF + + fi rm -f conftest.$ac_objext conftest.$ac_ext -- 2.39.5