← Back to team overview

dolfin team mailing list archive

Re: DefaultParameters.h

 

On Fri, Mar 24, 2006 at 11:01:29PM +0100, Garth N. Wells wrote:
> I've tried some more, and this is where I'm at:
> 
> 1. When using the Intel C++ compiler with the gcc header files (which is
> required in order to link with other libraries compiled with gcc), the
> only fatal error is the problem with PArray.h. This I haven't worked
> this out yet. There are a lot of warnings which I can fix. A warning
> which I can't fix (needs to be done in FFC) relates to the virtual
> functions  
>   void BiLinearForm::real [], const AffineMap&, uint) const
>   void LinearForm::real [], const AffineMap&, uint) const
> 
> The error is
> 
> error #654: overloaded virtual function "dolfin::BilinearForm::eval" is
> only partially overridden in class
> "dolfin::ConvectionDiffusion2D::BilinearForm"
>   class BilinearForm : public dolfin::BilinearForm
> 
> Could we put an empty eval() function which takes 3 arguments in the FFC
> generated files?

Is the problem that the two functions have the same name and one is
overloaded but not the other?

I can fix this in FFC, it's a simple fix to generate the extra
function.

> 2. When using the Intel C++ compiler with the Intel header files, I get
> a lot more errors, which can also be fixed. One thing is when using
> STLs, the header files need to be included, which the aren't now. For
> example, in MeshInit.cpp, the function set_intersection() is called,
> which I couldn't find anywhere in DOLFIN. I realised later the it could
> be fixed by
>   #include<algorithm>
> Why don't we need to include this when using g++?
> 
> I think that sorting out this case in particular will enhance
> portability.
> 
> Garth

I don't recognize the set_intersection() stuff, didn't even know it
was there (most likely Johan J has added this). But yes, all the STL
headers should be included where appropriate. I don't know why gcc
does not complain.

/Anders


> On Fri, 2006-03-24 at 14:14 -0600, Anders Logg wrote:
> > On Fri, Mar 24, 2006 at 07:01:44PM +0100, Garth N. Wells wrote:
> > > Another problem is in DefaultParameters.h. Throughout the code, I've had
> > > to include header files for Standard Template Library. In
> > > DefaultParameters.h I get the error mesage
> > > 
> > > /dolfin/DefaultParameters.h(57): error: namespace "std" has no member
> > > "numeric_limits"
> > >   add("homotopy maximum size", std::numeric_limits<int>::max());
> > >                                     ^
> > > 
> > > ./dolfin/DefaultParameters.h(57): error: type name is not allowed
> > >   add("homotopy maximum size", std::numeric_limits<int>::max());
> > > 
> > > but if I add #include<limits> I then get a whole bunch of other errors.
> > > 
> > > Garth
> > 
> > Where did you include <limits>? In ParameterSystem.cpp?
> > 
> > /Anders
> > 
> > _______________________________________________
> > DOLFIN-dev mailing list
> > DOLFIN-dev@xxxxxxxxxx
> > http://www.fenics.org/cgi-bin/mailman/listinfo/dolfin-dev
> 
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/cgi-bin/mailman/listinfo/dolfin-dev
> 

-- 
Anders Logg
Research Assistant Professor
Toyota Technological Institute at Chicago
http://www.tti-c.org/logg/



Follow ups

References