]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Take over several fixes discovered by testing with DECs cxx from the main branch.
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 10 Jan 2001 17:17:06 +0000 (17:17 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 10 Jan 2001 17:17:06 +0000 (17:17 +0000)
git-svn-id: https://svn.dealii.org/branches/Branch-3-1@3639 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/base/include/base/exceptions.h
deal.II/base/include/base/tensor_base.h
deal.II/base/include/base/thread_management.h
deal.II/base/source/quadrature.cc
deal.II/base/source/thread_management.cc

index 5aa2a879b3cde960d5e36f465d044d88bf73bda7..c6df1486559b493bb3cb5c5ced9d972d0a1b8800 100644 (file)
@@ -491,7 +491,7 @@ void __IssueError_Throw (const char *file,
  * @author Wolfgang Bangerth, November 1997
  */
 #define DeclException0(Exception0)  \
-class Exception0 :  public ExceptionBase {};
+class Exception0 :  public ExceptionBase {}
 
 
 
index 8eb3d210c8829f8e3186e462e1577702aa26aba8..32cefb3a0a4ee7d52cf2dc396c1728662f667f11 100644 (file)
@@ -492,7 +492,6 @@ ostream & operator << (ostream &out, const Tensor<1,dim> &p)
  * implemented specialized from the general template in order to avoid
  * a compiler warning that the loop is empty.
  */
-template <>
 inline
 ostream & operator << (ostream &out, const Tensor<1,1> &p)
 {
index b660d23c7a026353936d586f164d71f53bbaf0e0..36e44200439c43fd78dea7691bc8147f3791e041 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -383,6 +383,17 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+// we should be declaring the following function friend, but gcc2.95
+// does not allow us to do that at present...
+//                                    /**
+//                                     * Declare a function that uses
+//                                     * the @ref{ArgCollector} as
+//                                     * friend.
+//                                     */
+//        friend
+//        FunData0<void>::ArgCollector
+//        encapsulate (void (*fun_ptr)());
   };
 
 
@@ -485,6 +496,16 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <typename Arg1_>
+      friend
+      typename FunData1<Arg1_,void>::ArgCollector
+      encapsulate (void (*fun_ptr)(Arg1_));
   };
 
 
@@ -590,6 +611,16 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <typename Arg1_, typename Arg2_>
+      friend
+      typename FunData2<Arg1_,Arg2_,void>::ArgCollector
+      encapsulate (void (*fun_ptr)(Arg1_, Arg2_));
   };
 
   
@@ -697,6 +728,16 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <typename Arg1_, typename Arg2_, typename Arg3_>
+      friend
+      typename FunData3<Arg1_,Arg2_,Arg3_,void>::ArgCollector
+      encapsulate (void (*fun_ptr)(Arg1_,Arg2_,Arg3_));
   };
 
 
@@ -807,6 +848,16 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <typename Arg1_, typename Arg2_, typename Arg3_, typename Arg4_>
+      friend
+      typename FunData4<Arg1_,Arg2_,Arg3_,Arg4_,void>::ArgCollector
+      encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_, Arg4_));
   };
 
 
@@ -921,6 +972,16 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <typename Arg1_, typename Arg2_, typename Arg3_, typename Arg4_, typename Arg5_>
+      friend
+      typename FunData5<Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,void>::ArgCollector
+      encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_, Arg4_, Arg5_));
   };
 
 
@@ -1037,6 +1098,17 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <typename Arg1_, typename Arg2_, typename Arg3_, typename Arg4_, typename Arg5_, typename Arg6_>
+      friend
+      typename FunData6<Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,Arg6_,void>::ArgCollector
+      encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_,
+                                  Arg4_, Arg5_, Arg6_));
   };
   
   
@@ -1156,6 +1228,17 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <typename Arg1_, typename Arg2_, typename Arg3_, typename Arg4_, typename Arg5_, typename Arg6_, typename Arg7_>
+      friend
+      typename FunData7<Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,Arg6_,Arg7_,void>::ArgCollector
+      encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_,
+                                                      Arg4_, Arg5_, Arg6_, Arg7_));
   };
   
   
@@ -1278,6 +1361,18 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <typename Arg1_, typename Arg2_, typename Arg3_, typename Arg4_, typename Arg5_, typename Arg6_, typename Arg7_, typename Arg8_>
+      friend
+      typename FunData8<Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,Arg6_,Arg7_,Arg8_,void>::ArgCollector
+      encapsulate (void (*fun_ptr)(Arg1_, Arg2_, Arg3_,
+                                                      Arg4_, Arg5_, Arg6_,
+                                                      Arg7_, Arg8_));
   };
   
   
@@ -1393,6 +1488,16 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <class Class_>
+      friend
+      typename MemFunData0<Class,void>::ArgCollector
+      encapsulate (void (Class_::*fun_ptr)());
   };
 
 
@@ -1518,6 +1623,16 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <class Class_, typename Arg1_>
+      friend
+      typename MemFunData1<Class,Arg1_,void>::ArgCollector
+      encapsulate (void (Class_::*fun_ptr)(Arg1_));
   };
 
 
@@ -1647,6 +1762,16 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <class Class_, typename Arg1_, typename Arg2_>
+      friend
+      typename MemFunData2<Class,Arg1_,Arg2_,void>::ArgCollector
+      encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_));
   };
 
   
@@ -1779,6 +1904,16 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <class Class_, typename Arg1_, typename Arg2_, typename Arg3_>
+      friend 
+      typename MemFunData3<Class,Arg1_,Arg2_,Arg3_,void>::ArgCollector
+      encapsulate (void (Class_::*fun_ptr)(Arg1_,Arg2_,Arg3_));
   };
 
 
@@ -1915,6 +2050,16 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <class Class_, typename Arg1_, typename Arg2_, typename Arg3_, typename Arg4_>
+      friend
+      typename MemFunData4<Class,Arg1_,Arg2_,Arg3_,Arg4_,void>::ArgCollector
+      encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_, Arg4_));
   };
 
 
@@ -2055,6 +2200,17 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <class Class_, typename Arg1_, typename Arg2_, typename Arg3_, typename Arg4_, typename Arg5_>
+      friend 
+      typename MemFunData5<Class,Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,void>::ArgCollector
+      encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_,
+                                          Arg4_, Arg5_));
   };
   
 
@@ -2199,6 +2355,17 @@ namespace Threads
                                            */
          FunPtr fun_ptr;
       };
+
+                                      /**
+                                       * Declare a function that uses
+                                       * the @ref{ArgCollector} as
+                                       * friend.
+                                       */
+      template <class Class_, typename Arg1_, typename Arg2_, typename Arg3_, typename Arg4_, typename Arg5_, typename Arg6_>
+      friend 
+      typename MemFunData6<Class,Arg1_,Arg2_,Arg3_,Arg4_,Arg5_,Arg6_,void>::ArgCollector
+      encapsulate (void (Class_::*fun_ptr)(Arg1_, Arg2_, Arg3_,
+                                          Arg4_, Arg5_, Arg6_));
   };
   
   
index 4009ab68ba9558f6045fbf499cf1bd45df3e3e66..3cf6e79823cab8398712e69c8784ee3e65f43b50 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000 by the deal.II authors
+//    Copyright (C) 1998, 1999, 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -49,6 +49,7 @@ Quadrature<dim>::Quadrature (const vector<Point<dim> > & points,
 template <>
 Quadrature<0>::Quadrature (const Quadrature<-1> &,
                           const Quadrature<1> &)
+               : n_quadrature_points (0)
 {
   Assert (false, ExcInternalError());
 };
index 0ce3df3d1898666f7333dd5bb0dc4edd1735510e..e761faf6583a79f194426b3fac5fdf83007c0593 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 2000 by the deal.II authors
+//    Copyright (C) 2000, 2001 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -101,8 +101,11 @@ namespace Threads
   const FunEncapsulation &
   FunEncapsulation::operator = (const FunEncapsulation &/*fun_data*/)
   {
-                                    // this is not implemented at present
-    abort ();
+                                    // this is not implemented at
+                                    // present. return dummy value
+                                    // instead
+    Assert (false, ExcNotImplemented());
+    return *static_cast<const FunEncapsulation *>(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.