[Dune-devel] Clang/GMP problem in localfunctions

Christoph GrĂ¼ninger christoph.grueninger at iws.uni-stuttgart.de
Fri Aug 29 16:38:18 CEST 2014


Hi Dune,
does anybody know what's the problem with Clang and GMP in
localfunction's test-raviartthomassimplex.cc?
I attached the compiler output below.

Bye
Christoph



> /temp/gruenich/dune/complete/dune-common/dune/common/gmpfield.hh:32:9: error: no matching constructor for initialization of 'mpf_class' (aka '__gmp_expr<mpf_t, mpf_t>')
>       : Base( v,precision )
>         ^     ~~~~~~~~~~~
> /temp/gruenich/dune/complete/dune-common/dune/common/densevector.hh:425:29: note: in instantiation of function template specialization 'Dune::GMPField<128>::GMPField<Dune::FieldVector<Dune::GMPField<128>, 0> >' requested here
>       const value_type& k = kk;
>                             ^
> /temp/gruenich/dune/complete/dune-geometry/dune/geometry/referenceelements.hh:254:40: note: in instantiation of function template specialization 'Dune::DenseVector<Dune::FieldVector<Dune::GMPField<128>, 0> >::operator+=<Dune::FieldVector<Dune::GMPField<128>, 0> >'
>       requested here
>             baryCenters_[ codim ][ i ] += baryCenters_[ dim ][ subEntity( i, codim, j, dim ) ];
>                                        ^
> /temp/gruenich/dune/complete/dune-geometry/dune/geometry/referenceelements.hh:424:31: note: in instantiation of member function 'Dune::ReferenceElement<Dune::GMPField<128>, 0>::initialize' requested here
>         values_[ topologyId ].initialize( topologyId );
>                               ^
> /temp/gruenich/dune/complete/dune-geometry/dune/geometry/referenceelements.hh:505:54: note: in instantiation of member function 'Dune::ReferenceElementContainer<Dune::GMPField<128>, 0>::ReferenceElementContainer' requested here
>       static ReferenceElementContainer< ctype, dim > container;
>                                                      ^
> /temp/gruenich/dune/complete/dune-geometry/dune/geometry/referenceelements.hh:484:14: note: in instantiation of member function 'Dune::ReferenceElements<Dune::GMPField<128>, 0>::container' requested here
>       return container() ( type );
>              ^
> /temp/gruenich/dune/complete/dune-geometry/dune/geometry/referenceelements.hh:380:50: note: (skipping 18 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
>       return ReferenceElements< ctype, dim-cc >::general( refElement.type( i, cc ) );
>                                                  ^
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:243:25: note: in instantiation of function template specialization 'Dune::RTL2InterpolationBuilder<2, Dune::GMPField<128>
>       >::build<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Point> > >' requested here
>       builder_.template build<Topology>(order_);
>                         ^
> ../../../dune/localfunctions/raviartthomas/raviartthomassimplex/raviartthomassimplexinterpolation.hh:415:26: note: in instantiation of function template specialization 'Dune::RaviartThomasL2Interpolation<2, Dune::GMPField<128>
>       >::build<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Point> > >' requested here
>       interpol->template build<Topology>(key);
>                          ^
> /temp/gruenich/dune/complete/dune-geometry/dune/geometry/topologyfactory.hh:54:32: note: in instantiation of function template specialization 'Dune::RaviartThomasL2InterpolationFactory<2, Dune::GMPField<128>
>       >::createObject<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Point> > >' requested here
>       return Factory::template createObject<Topology> ( key );
>                                ^
> test-raviartthomassimplex.cc:58:93: note: in instantiation of function template specialization 'Dune::TopologyFactory<Dune::RaviartThomasL2InterpolationFactoryTraits<2, Dune::GMPField<128> >
>       >::create<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Point> > >' requested here
>     const typename InterpolationFactory::Object &interpol = *InterpolationFactory::template create<Topology>(o);
>                                                                                             ^
> test-raviartthomassimplex.cc:90:11: note: in instantiation of function template specialization 'test<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Pyramid<Dune::GenericGeometry::Point> > >' requested here
>   return (test<TOPOLOGY>(order) ? 0 : 1 );
>           ^
> /usr/include/gmpxx.h:1761:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'const __gmp_expr<mpf_t, mpf_t>' for 1st argument
>   __gmp_expr(const __gmp_expr &f, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1772:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'signed char' for 1st argument
>   __gmp_expr(signed char c, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1774:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'unsigned char' for 1st argument
>   __gmp_expr(unsigned char c, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1777:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'int' for 1st argument
>   __gmp_expr(signed int i, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1779:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'unsigned int' for 1st argument
>   __gmp_expr(unsigned int i, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1782:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'short' for 1st argument
>   __gmp_expr(signed short int s, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1784:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'unsigned short' for 1st argument
>   __gmp_expr(unsigned short int s, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1787:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'long' for 1st argument
>   __gmp_expr(signed long int l, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1789:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'unsigned long' for 1st argument
>   __gmp_expr(unsigned long int l, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1792:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'float' for 1st argument
>   __gmp_expr(float f, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1794:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'double' for 1st argument
>   __gmp_expr(double d, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1808:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'const char *' for 1st argument
>   __gmp_expr(const char *s, mp_bitcnt_t prec, int base = 0)
>   ^
> /usr/include/gmpxx.h:1825:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'const std::string' (aka 'const basic_string<char>') for 1st argument
>   __gmp_expr(const std::string &s, mp_bitcnt_t prec, int base = 0)
>   ^
> /usr/include/gmpxx.h:1837:3: note: candidate constructor not viable: no known conversion from 'const Dune::FieldVector<Dune::GMPField<128>, 0>' to 'mpf_srcptr' (aka 'const __mpf_struct *') for 1st argument
>   __gmp_expr(mpf_srcptr f, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1767:3: note: candidate template ignored: could not match '__gmp_expr' against 'FieldVector'
>   __gmp_expr(const __gmp_expr<T, U> &expr, mp_bitcnt_t prec)
>   ^
> /usr/include/gmpxx.h:1764:3: note: candidate constructor template not viable: requires single argument 'expr', but 2 arguments were provided
>   __gmp_expr(const __gmp_expr<T, U> &expr)
>   ^
> /usr/include/gmpxx.h:1770:3: note: candidate constructor not viable: requires single argument 'c', but 2 arguments were provided
>   __GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS
>   ^
> /usr/include/gmpxx.h:1324:3: note: expanded from macro '__GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS'
>   __gmp_expr(signed char c) { init_si(c); }             \
>   ^
> /usr/include/gmpxx.h:1753:3: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
>   __gmp_expr() { mpf_init(mp); }
>   ^
> /usr/include/gmpxx.h:1835:12: note: candidate constructor not viable: requires single argument 'f', but 2 arguments were provided
>   explicit __gmp_expr(mpf_srcptr f)
>            ^
> /usr/include/gmpxx.h:1755:3: note: candidate constructor not viable: requires single argument 'f', but 2 arguments were provided
>   __gmp_expr(const __gmp_expr &f)
>   ^
> /usr/include/gmpxx.h:1817:12: note: candidate constructor not viable: requires single argument 's', but 2 arguments were provided
>   explicit __gmp_expr(const std::string &s)
>            ^
> /usr/include/gmpxx.h:1758:3: note: candidate constructor not viable: requires single argument 'f', but 2 arguments were provided
>   __gmp_expr(__gmp_expr &&f)
>   ^
> /usr/include/gmpxx.h:1800:12: note: candidate constructor not viable: requires single argument 's', but 2 arguments were provided
>   explicit __gmp_expr(const char *s)
>            ^
> /usr/include/gmpxx.h:1770:3: note: candidate constructor not viable: requires single argument 'f', but 2 arguments were provided
>   __GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS
>   ^
> /usr/include/gmpxx.h:1332:3: note: expanded from macro '__GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS'
>   __gmp_expr(float f) { init_d(f); }                    \
>   ^
> /usr/include/gmpxx.h:1770:3: note: candidate constructor not viable: requires single argument 'c', but 2 arguments were provided
> /usr/include/gmpxx.h:1325:3: note: expanded from macro '__GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS'
>   __gmp_expr(unsigned char c) { init_ui(c); }           \
>   ^
> /usr/include/gmpxx.h:1770:3: note: candidate constructor not viable: requires single argument 'i', but 2 arguments were provided
> /usr/include/gmpxx.h:1326:3: note: expanded from macro '__GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS'
>   __gmp_expr(signed int i) { init_si(i); }              \
>   ^
> /usr/include/gmpxx.h:1770:3: note: candidate constructor not viable: requires single argument 'i', but 2 arguments were provided
> /usr/include/gmpxx.h:1327:3: note: expanded from macro '__GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS'
>   __gmp_expr(unsigned int i) { init_ui(i); }            \
>   ^
> /usr/include/gmpxx.h:1770:3: note: candidate constructor not viable: requires single argument 's', but 2 arguments were provided
> /usr/include/gmpxx.h:1328:3: note: expanded from macro '__GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS'
>   __gmp_expr(signed short int s) { init_si(s); }        \
>   ^
> /usr/include/gmpxx.h:1770:3: note: candidate constructor not viable: requires single argument 's', but 2 arguments were provided
> /usr/include/gmpxx.h:1329:3: note: expanded from macro '__GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS'
>   __gmp_expr(unsigned short int s) { init_ui(s); }      \
>   ^
> /usr/include/gmpxx.h:1770:3: note: candidate constructor not viable: requires single argument 'l', but 2 arguments were provided
> /usr/include/gmpxx.h:1330:3: note: expanded from macro '__GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS'
>   __gmp_expr(signed long int l) { init_si(l); }         \
>   ^
> /usr/include/gmpxx.h:1770:3: note: candidate constructor not viable: requires single argument 'l', but 2 arguments were provided
> /usr/include/gmpxx.h:1331:3: note: expanded from macro '__GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS'
>   __gmp_expr(unsigned long int l) { init_ui(l); }       \
>   ^
> /usr/include/gmpxx.h:1770:3: note: candidate constructor not viable: requires single argument 'd', but 2 arguments were provided
> /usr/include/gmpxx.h:1333:3: note: expanded from macro '__GMPXX_DEFINE_ARITHMETIC_CONSTRUCTORS'
>   __gmp_expr(double d) { init_d(d); }
>   ^
> 4 errors generated.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <https://lists.dune-project.org/pipermail/dune-devel/attachments/20140829/b8da3845/attachment.sig>


More information about the Dune-devel mailing list