From: Daniel Arndt Date: Sun, 6 May 2018 15:25:28 +0000 (+0200) Subject: Default copy assignement in Tensor for non-Intel compilers X-Git-Tag: v9.0.0-rc3~7^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F6505%2Fhead;p=dealii.git Default copy assignement in Tensor for non-Intel compilers --- diff --git a/include/deal.II/base/tensor.h b/include/deal.II/base/tensor.h index 03c1591688..67fc58dfc3 100644 --- a/include/deal.II/base/tensor.h +++ b/include/deal.II/base/tensor.h @@ -209,10 +209,15 @@ public: template Tensor &operator = (const Tensor<0,dim,OtherNumber> &rhs); +#ifdef __INTEL_COMPILER /** * Assignment from tensors with same underlying scalar type. + * This is needed for ICC15 because it can't generate a suitable + * copy constructor for Sacado::Rad::ADvar types automatically. + * See https://github.com/dealii/dealii/pull/5865. */ Tensor &operator = (const Tensor<0,dim,Number> &rhs); +#endif /** * This operator assigns a scalar to a tensor. This obviously requires @@ -813,6 +818,7 @@ Tensor<0,dim,Number> &Tensor<0,dim,Number>::operator = (const Tensor<0,dim,Other } +#ifdef __INTEL_COMPILER template inline Tensor<0,dim,Number> &Tensor<0,dim,Number>::operator = (const Tensor<0,dim,Number> &p) @@ -820,6 +826,7 @@ Tensor<0,dim,Number> &Tensor<0,dim,Number>::operator = (const Tensor<0,dim,Numbe value = p.value; return *this; } +#endif template