Skip to content

`m_BField->getField(pos,bCache).value()` compile failure in eigen with gcc@12

     291        inlined from 'void Eigen::PlainObjectBase<Derived>::_init1(const Eigen::DenseBase<ElseDerived>&) [with T = Eigen::Transpose<Eigen::CwiseBinaryOp<Eigen::internal::scalar_quotient_op<double, double>, const Eigen::Matrix<d
            ouble, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > > >; OtherDerived = Eigen::Transpose<Eigen::CwiseBinaryOp<Eigen::internal::scalar_quotient_op<double
            , double>, const Eigen::Matrix<double, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > > >; Derived = Eigen::Matrix<double, 1, 3>]' at /opt/software/linux-
            ubuntu22.04-skylake/gcc-12.1.0/eigen-3.4.0-xmmbrla23rhtxamudlr2l7362yihflsn/include/eigen3/Eigen/src/Core/PlainObjectBase.h:883:25,
     292        inlined from 'Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::Transpose<Eigen::CwiseBinaryOp<Eigen::internal::scalar_quotient_op<double, double>, const Eigen::Matrix
            <double, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > > >; _Scalar = double; int _Rows = 1; int _Cols = 3; int _Options = 1; int _MaxRows = 1; int _MaxC
            ols = 3]' at /opt/software/linux-ubuntu22.04-skylake/gcc-12.1.0/eigen-3.4.0-xmmbrla23rhtxamudlr2l7362yihflsn/include/eigen3/Eigen/src/Core/Matrix.h:332:31,
     293        inlined from 'Eigen::DenseBase<Derived>::EvalReturnType Eigen::DenseBase<Derived>::eval() const [with Derived = Eigen::Transpose<Eigen::CwiseBinaryOp<Eigen::internal::scalar_quotient_op<double, double>, const Eigen::Mat
            rix<double, 3, 1>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > > >]' at /opt/software/linux-ubuntu22.04-skylake/gcc-12.1.0/eigen-3.4.0-xmmbrla23rhtxamudlr2l73
            62yihflsn/include/eigen3/Eigen/src/Core/DenseBase.h:412:62,
     294        inlined from 'std::ostream& Eigen::operator<<(std::ostream&, const DenseBase<Derived>&) [with Derived = Transpose<CwiseBinaryOp<internal::scalar_quotient_op<double, double>, const Matrix<double, 3, 1>, const CwiseNullar
            yOp<internal::scalar_constant_op<double>, const Matrix<double, 3, 1> > > >]' at /opt/software/linux-ubuntu22.04-skylake/gcc-12.1.0/eigen-3.4.0-xmmbrla23rhtxamudlr2l7362yihflsn/include/eigen3/Eigen/src/Core/IO.h:253:32,
     295        inlined from 'MsgStream& operator<<(MsgStream&, const T&) [with T = Eigen::Transpose<Eigen::CwiseBinaryOp<Eigen::internal::scalar_quotient_op<double, double>, const Eigen::Matrix<double, 3, 1>, const Eigen::CwiseNullary
            Op<Eigen::internal::scalar_constant_op<double>, const Eigen::Matrix<double, 3, 1> > > >]' at /opt/software/linux-ubuntu22.04-skylake/gcc-12.1.0/gaudi-36.5-scgkwadreca7hlk34q57xs7ccyotugf7/include/GaudiKernel/MsgStream.h:304
            :20,
     296        inlined from 'virtual StatusCode Jug::Reco::CKFTracking::initialize()' at /home/wdconinc/.spack/stage/spack-stage-juggler-master-szupytavynub76mjf5bggc7fe77kczk5/spack-src/JugTrack/src/components/CKFTracking.cpp:92:64:
  >> 297    /usr/lib/gcc/x86_64-linux-gnu/12/include/emmintrin.h:131:24: error: '*(__m128d_u*)((char*)&<unnamed> + offsetof(Eigen::Matrix<double, 3, 1, 0, 3, 1>,Eigen::Matrix<double, 3, 1, 0, 3, 1>::<unnamed>.Eigen::PlainObjectBase<Eig
            en::Matrix<double, 3, 1, 0, 3, 1> >::<unnamed>.Eigen::MatrixBase<Eigen::Matrix<double, 3, 1, 0, 3, 1> >::<unnamed>.Eigen::DenseBase<Eigen::Matrix<double, 3, 1, 0, 3, 1> >::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<doub
            le, 3, 1, 0, 3, 1>, 3>::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<double, 3, 1, 0, 3, 1>, 1>::<unnamed>.Eigen::DenseCoeffsBase<Eigen::Matrix<double, 3, 1, 0, 3, 1>, 0>::<unnamed>))' may be used uninitialized [-Werror=m
            aybe-uninitialized]
     298      131 |   return *(__m128d_u *)__P;
     299          |                        ^~~
     300    /home/wdconinc/.spack/stage/spack-stage-juggler-master-szupytavynub76mjf5bggc7fe77kczk5/spack-src/JugTrack/src/components/CKFTracking.cpp: In member function 'virtual StatusCode Jug::Reco::CKFTracking::initialize()':
     301    /home/wdconinc/.spack/stage/spack-stage-juggler-master-szupytavynub76mjf5bggc7fe77kczk5/spack-src/JugTrack/src/components/CKFTracking.cpp:91:68: note: '<anonymous>' declared here
     302       91 |       auto b = m_BField->getField({0.0,0.0,double(z)},bCache).value()/(Acts::UnitConstants::T);
     303          |                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~