[Dune] [Dune-Commit] dune-localfunctions r828 - in trunk/dune/localfunctions: common lagrange test

Andreas Dedner dedner at mathematik.uni-freiburg.de
Fri Feb 12 15:22:33 CET 2010


Hi,
I think we have to discuss to what extend we really want to still
support these old compiler - especially icc 7 and gcc 3.4.
Could somebody who really uses them comment on this. For example
in Karlsruhe on their cluster they have gcc 4.2 and icc 12.
We said we wanted to have the compatibility for 2.0 and lets go ahead
with that but some of the fixes checked in to manage this have  not been
very nice code and if nobody requires the old compiler I would
suggest to revert some of the changes (e.g. in 
dune-lf/dune/lf/utility/field.hh)
in the trunk and to drop those old compilers from the compatibility list
for the next release.
Best
Andreas

Carsten Gräser wrote:
> Am 10.02.2010 16:23, schrieb mdroh_01 at dune-project.org:
>   
>> Author: mdroh_01
>> Date: 2010-02-10 16:23:07 +0100 (Wed, 10 Feb 2010)
>> New Revision: 828
>>
>> Modified:
>>    trunk/dune/localfunctions/common/virtualinterface.hh
>>    trunk/dune/localfunctions/lagrange/interpolation.hh
>>    trunk/dune/localfunctions/test/lagrangeshapefunctiontest.cc
>> Log:
>> make compile with icc 10.1
>>
>> Attention: I think, that because of this patch the virtual interface is not
>> complete when compiled with the intel compiler.
>>     
> Hi,
> this would indeed be very ugly. By specifying the base interface with
> appropiate order in the template interpolate method we could avoid
> the 'using' statement (see attached patch). However, then you can only use
>
>   basis.template evaluate<order>(d,x,y);
>
> and not (at least with gcc-4.4)
>
>   basis.evaluate(d,x,y);
>
> Perhaps we can explicitly specialize the interface template for
> e.g. order 0,...,5.
>
> Regards
>
> Carsten
>
>   
>> Modified: trunk/dune/localfunctions/common/virtualinterface.hh
>> ===================================================================
>> --- trunk/dune/localfunctions/common/virtualinterface.hh	2010-02-10 13:54:07 UTC (rev 827)
>> +++ trunk/dune/localfunctions/common/virtualinterface.hh	2010-02-10 15:23:07 UTC (rev 828)
>> @@ -211,7 +211,11 @@
>>      using BaseInterface::order;
>>      using BaseInterface::evaluateFunction;
>>      using BaseInterface::evaluateJacobian;;
>> +    /* Unfortunately, the intel compiler cannot use the different evaluate
>> +     * methods with varying argument lists. :-( */
>> +#ifndef __INTEL_COMPILER
>>      using BaseInterface::evaluate;
>> +#endif
>>    };
>>  
>>  
>>
>> Modified: trunk/dune/localfunctions/lagrange/interpolation.hh
>> ===================================================================
>> --- trunk/dune/localfunctions/lagrange/interpolation.hh	2010-02-10 13:54:07 UTC (rev 827)
>> +++ trunk/dune/localfunctions/lagrange/interpolation.hh	2010-02-10 15:23:07 UTC (rev 828)
>> @@ -90,6 +90,8 @@
>>      typedef typename LagrangePointSetFactory::Key Key;
>>      typedef const LocalLagrangeInterpolation< LP,dim,F > Object;
>>      typedef LagrangeInterpolationFactory<LP,dim,F> Factory;
>> +
>> +    static const unsigned int dimension = dim;
>>    };
>>  
>>    template< template <class,unsigned int> class LP,
>>
>> Modified: trunk/dune/localfunctions/test/lagrangeshapefunctiontest.cc
>> ===================================================================
>> --- trunk/dune/localfunctions/test/lagrangeshapefunctiontest.cc	2010-02-10 13:54:07 UTC (rev 827)
>> +++ trunk/dune/localfunctions/test/lagrangeshapefunctiontest.cc	2010-02-10 15:23:07 UTC (rev 828)
>> @@ -134,7 +134,9 @@
>>  
>>  int main (int argc, char *argv[]) try
>>  {
>> +#if (!defined __INTEL_COMPILER || __INTEL_COMPILER >= 1010)
>>      feenableexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW);
>> +#endif
>>  
>>      P1LocalFiniteElement<double,double,1> p11d;
>>      testPk(p11d);
>>
>>
>> _______________________________________________
>> Dune-Commit mailing list
>> Dune-Commit at dune-project.org
>> http://lists.dune-project.org/mailman/listinfo/dune-commit
>>     
>
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune





More information about the Dune mailing list