DCPROGS / HJCFIT

Full maximum likelihood fitting of a mechanism directly to the entire sequence of open and shut times, with exact missed events correction.
GNU General Public License v3.0
7 stars 4 forks source link

experimenting with clang-tidy #140

Open jenshnielsen opened 8 years ago

jenshnielsen commented 8 years ago

Building using

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
cp buildclang/compile_commands.json .

gives

(dcprogsclang) ✔ ~/ucl/dcprogs/HJCFIT [develop|✚ 1…15⚑ 8] clang-tidy-3.8 likelihood/*.cc
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
2 warnings generated.
7 warnings generated.
7 warnings generated.
8 warnings generated.
9 warnings generated.
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/exact_survivor.cc:166:9: warning: Variable 'current_t' with floating point type 't_real' should not be used as a loop counter [clang-analyzer-security.FloatLoopCounter]
        for(current_t -= _tau; current_t > 0; current_t -= _tau, ++m)  {
        ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/exact_survivor.cc:166:9: note: Variable 'current_t' with floating point type 't_real' should not be used as a loop counter
        for(current_t -= _tau; current_t > 0; current_t -= _tau, ++m)  {
        ^
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:159:5: warning: Call to 'alloca' has an allocation size of 0 bytes [clang-analyzer-unix.API]
    ei_declare_aligned_stack_constructed_variable(LhsScalar, blockA, sizeA, blocking.blockA());
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:592:75: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
                      (sizeof(TYPE)*SIZE<=EIGEN_STACK_ALLOCATION_LIMIT) ? EIGEN_ALIGNED_ALLOCA(sizeof(TYPE)*SIZE) \
                                                                          ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:585:34: note: expanded from macro 'EIGEN_ALIGNED_ALLOCA'
    #define EIGEN_ALIGNED_ALLOCA EIGEN_ALLOCA
                                 ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:527:26: note: expanded from macro 'EIGEN_ALLOCA'
    #define EIGEN_ALLOCA alloca
                         ^
/usr/include/alloca.h:39:22: note: expanded from macro 'alloca'
#define alloca(size)    __alloca(size)
                        ^
/usr/include/alloca.h:40:24: note: expanded from macro '__alloca'
#define __alloca(size)  __builtin_alloca(size)
                        ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/missed_eventsG.cc:50:7: note: Calling constructor for 'MissedEventsG'
    : MissedEventsG( _qmatrix, _tau,
      ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/missed_eventsG.h:86:23: note: Calling constructor for 'Matrix'
                      fa_factor_(_qmatrix.fa() * (_tau * _qmatrix.aa()).exp()) {}
                      ^
/usr/local/include/eigen3/Eigen/src/Core/Matrix.h:296:7: note: Calling 'PlainObjectBase::_set_noalias'
      Base::_set_noalias(other);
      ^
/usr/local/include/eigen3/Eigen/src/Core/PlainObjectBase.h:653:14: note: Calling 'assign_selector::run'
      return internal::assign_selector<Derived,OtherDerived,false>::run(this->derived(), other.derived());
             ^
/usr/local/include/eigen3/Eigen/src/Core/Assign.h:527:93: note: Calling 'PlainObjectBase::lazyAssign'
  static EIGEN_STRONG_INLINE Derived& run(Derived& dst, const OtherDerived& other) { return dst.lazyAssign(other.derived()); }
                                                                                            ^
/usr/local/include/eigen3/Eigen/src/Core/PlainObjectBase.h:414:14: note: Calling 'MatrixBase::lazyAssign'
      return Base::lazyAssign(other.derived());
             ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:284:3: note: Calling 'ProductBase::evalTo'
  other.derived().evalTo(derived());
  ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:109:58: note: Calling 'ProductBase::scaleAndAddTo'
    inline void evalTo(Dest& dst) const { dst.setZero(); scaleAndAddTo(dst,Scalar(1)); }
                                                         ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:118:71: note: Calling 'GeneralProduct::scaleAndAddTo'
    inline void scaleAndAddTo(Dest& dst, const Scalar& alpha) const { derived().scaleAndAddTo(dst,alpha); }
                                                                      ^
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:404:10: note: Left side of '||' is false
      if(m_lhs.cols()==0 || m_lhs.rows()==0 || m_rhs.cols()==0)
         ^
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:404:10: note: Left side of '||' is false
      if(m_lhs.cols()==0 || m_lhs.rows()==0 || m_rhs.cols()==0)
         ^
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:404:7: note: Taking false branch
      if(m_lhs.cols()==0 || m_lhs.rows()==0 || m_rhs.cols()==0)
      ^
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:427:7: note: Calling 'parallelize_gemm'
      internal::parallelize_gemm<(Dest::MaxRowsAtCompileTime>32 || Dest::MaxRowsAtCompileTime==Dynamic)>(GemmFunctor(lhs, rhs, dst, actualAlpha, blocking), this->rows(), this->cols(), Dest::Flags&RowMajorBit);
      ^
/usr/local/include/eigen3/Eigen/src/Core/products/Parallelizer.h:96:3: note: Calling 'gemm_functor::operator()'
  func(0,rows, 0,cols);
  ^
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:220:5: note: Taking false branch
    if(cols==-1)
    ^
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:223:5: note: Calling 'general_matrix_matrix_product::run'
    Gemm::run(rows, cols, m_lhs.cols(),
    ^
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:159:5: note: '?' condition is false
    ei_declare_aligned_stack_constructed_variable(LhsScalar, blockA, sizeA, blocking.blockA());
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:590:18: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
    TYPE* NAME = (BUFFER)!=0 ? (BUFFER) \
                 ^
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:159:5: note: '?' condition is true
    ei_declare_aligned_stack_constructed_variable(LhsScalar, blockA, sizeA, blocking.blockA());
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:592:23: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
                      (sizeof(TYPE)*SIZE<=EIGEN_STACK_ALLOCATION_LIMIT) ? EIGEN_ALIGNED_ALLOCA(sizeof(TYPE)*SIZE) \
                      ^
/usr/local/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h:159:5: note: Call to 'alloca' has an allocation size of 0 bytes
    ei_declare_aligned_stack_constructed_variable(LhsScalar, blockA, sizeA, blocking.blockA());
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:592:75: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
                      (sizeof(TYPE)*SIZE<=EIGEN_STACK_ALLOCATION_LIMIT) ? EIGEN_ALIGNED_ALLOCA(sizeof(TYPE)*SIZE) \
                                                                          ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:585:34: note: expanded from macro 'EIGEN_ALIGNED_ALLOCA'
    #define EIGEN_ALIGNED_ALLOCA EIGEN_ALLOCA
                                 ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:527:26: note: expanded from macro 'EIGEN_ALLOCA'
    #define EIGEN_ALLOCA alloca
                         ^
/usr/include/alloca.h:39:22: note: expanded from macro 'alloca'
#define alloca(size)    __alloca(size)
                        ^
/usr/include/alloca.h:40:24: note: expanded from macro '__alloca'
#define __alloca(size)  __builtin_alloca(size)
                        ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:81:7: warning: Potential leak of memory pointed to by field 'm_data' [clang-analyzer-unix.Malloc]
      t_initvec const phif_times_Hfa = occupancies(_G, false) * Hfa;
      ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:79:8: note: Assuming '_initial' is not equal to 0
    if(_initial) {
       ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:79:5: note: Taking true branch
    if(_initial) {
    ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:81:40: note: Calling 'ProductBase::operator const Eigen::Matrix<double, 1, -1, 1, 1, -1> &'
      t_initvec const phif_times_Hfa = occupancies(_G, false) * Hfa;
                                       ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:126:7: note: Calling 'PlainObjectBase::resize'
      m_result.resize(m_lhs.rows(), m_rhs.cols());
      ^
/usr/local/include/eigen3/Eigen/src/Core/PlainObjectBase.h:250:9: note: Calling 'DenseStorage::resize'
        m_storage.resize(nbRows*nbCols, nbRows, nbCols);
        ^
/usr/local/include/eigen3/Eigen/src/Core/DenseStorage.h:360:7: note: Taking true branch
      if(size != _Rows*m_cols)
      ^
/usr/local/include/eigen3/Eigen/src/Core/DenseStorage.h:363:9: note: Taking true branch
        if (size)
        ^
/usr/local/include/eigen3/Eigen/src/Core/DenseStorage.h:364:20: note: Calling 'conditional_aligned_new_auto'
          m_data = internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size);
                   ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:420:3: note: Taking false branch
  if(size==0)
  ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:423:36: note: Calling 'conditional_aligned_malloc'
  T *result = reinterpret_cast<T*>(conditional_aligned_malloc<Align>(sizeof(T)*size));
                                   ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:301:10: note: Calling 'aligned_malloc'
  return aligned_malloc(size);
         ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:220:14: note: Memory is allocated
    result = std::malloc(size);
             ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:231:6: note: Assuming 'result' is non-null
  if(!result && size)
     ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:231:14: note: Left side of '&&' is false
  if(!result && size)
             ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:301:10: note: Returned allocated memory
  return aligned_malloc(size);
         ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:423:36: note: Returned allocated memory
  T *result = reinterpret_cast<T*>(conditional_aligned_malloc<Align>(sizeof(T)*size));
                                   ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:424:3: note: Taking false branch
  if(NumTraits<T>::RequireInitialization)
  ^
/usr/local/include/eigen3/Eigen/src/Core/DenseStorage.h:364:20: note: Returned allocated memory
          m_data = internal::conditional_aligned_new_auto<T,(_Options&DontAlign)==0>(size);
                   ^
/usr/local/include/eigen3/Eigen/src/Core/PlainObjectBase.h:250:9: note: Returned allocated memory
        m_storage.resize(nbRows*nbCols, nbRows, nbCols);
        ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:126:7: note: Returned allocated memory
      m_result.resize(m_lhs.rows(), m_rhs.cols());
      ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:81:40: note: Returned allocated memory
      t_initvec const phif_times_Hfa = occupancies(_G, false) * Hfa;
                                       ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:81:7: note: Potential leak of memory pointed to by field 'm_data'
      t_initvec const phif_times_Hfa = occupancies(_G, false) * Hfa;
      ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:530:3: warning: Potential leak of memory pointed to by 'actualRhsPtr' [clang-analyzer-unix.Malloc]
  }
  ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:79:8: note: Assuming '_initial' is not equal to 0
    if(_initial) {
       ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:79:5: note: Taking true branch
    if(_initial) {
    ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:81:40: note: Calling 'ProductBase::operator const Eigen::Matrix<double, 1, -1, 1, 1, -1> &'
      t_initvec const phif_times_Hfa = occupancies(_G, false) * Hfa;
                                       ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:127:7: note: Calling 'ProductBase::evalTo'
      derived().evalTo(m_result);
      ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:109:58: note: Calling 'ProductBase::scaleAndAddTo'
    inline void evalTo(Dest& dst) const { dst.setZero(); scaleAndAddTo(dst,Scalar(1)); }
                                                         ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:118:71: note: Calling 'GeneralProduct::scaleAndAddTo'
    inline void scaleAndAddTo(Dest& dst, const Scalar& alpha) const { derived().scaleAndAddTo(dst,alpha); }
                                                                      ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:348:7: note: Calling 'gemv_selector::run'
      internal::gemv_selector<Side,(int(MatrixType::Flags)&RowMajorBit) ? RowMajor : ColMajor,
      ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:364:5: note: Calling 'gemv_selector::run'
    gemv_selector<OnTheRight,OtherStorageOrder,BlasCompatible>
    ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:512:9: note: '?' condition is true
        DirectlyUseRhs ? const_cast<RhsScalar*>(actualRhs.data()) : static_rhs.data());
        ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:511:5: note: '?' condition is false
    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:590:18: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
    TYPE* NAME = (BUFFER)!=0 ? (BUFFER) \
                 ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:511:5: note: '?' condition is false
    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:592:23: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
                      (sizeof(TYPE)*SIZE<=EIGEN_STACK_ALLOCATION_LIMIT) ? EIGEN_ALIGNED_ALLOCA(sizeof(TYPE)*SIZE) \
                      ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:511:5: note: Calling 'aligned_malloc'
    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:593:23: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
                    : Eigen::internal::aligned_malloc(sizeof(TYPE)*SIZE) );  \
                      ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:220:14: note: Memory is allocated
    result = std::malloc(size);
             ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:231:6: note: Assuming 'result' is non-null
  if(!result && size)
     ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:231:14: note: Left side of '&&' is false
  if(!result && size)
             ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:511:5: note: Returned allocated memory
    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:593:23: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
                    : Eigen::internal::aligned_malloc(sizeof(TYPE)*SIZE) );  \
                      ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:512:9: note: '?' condition is true
        DirectlyUseRhs ? const_cast<RhsScalar*>(actualRhs.data()) : static_rhs.data());
        ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:511:5: note: '?' condition is false
    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:594:98: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
    Eigen::internal::aligned_stack_memory_handler<TYPE> EIGEN_CAT(NAME,_stack_memory_destructor)((BUFFER)==0 ? NAME : 0,SIZE,sizeof(TYPE)*SIZE>EIGEN_STACK_ALLOCATION_LIMIT)
                                                                                                 ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:514:5: note: Taking false branch
    if(!DirectlyUseRhs)
    ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:530:3: note: Potential leak of memory pointed to by 'actualRhsPtr'
  }
  ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:530:3: warning: Potential leak of memory pointed to by 'actualRhsPtr_stack_memory_destructor.m_ptr' [clang-analyzer-unix.Malloc]
  }
  ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:79:8: note: Assuming '_initial' is not equal to 0
    if(_initial) {
       ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:79:5: note: Taking true branch
    if(_initial) {
    ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:81:40: note: Calling 'ProductBase::operator const Eigen::Matrix<double, 1, -1, 1, 1, -1> &'
      t_initvec const phif_times_Hfa = occupancies(_G, false) * Hfa;
                                       ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:127:7: note: Calling 'ProductBase::evalTo'
      derived().evalTo(m_result);
      ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:109:58: note: Calling 'ProductBase::scaleAndAddTo'
    inline void evalTo(Dest& dst) const { dst.setZero(); scaleAndAddTo(dst,Scalar(1)); }
                                                         ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:118:71: note: Calling 'GeneralProduct::scaleAndAddTo'
    inline void scaleAndAddTo(Dest& dst, const Scalar& alpha) const { derived().scaleAndAddTo(dst,alpha); }
                                                                      ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:348:7: note: Calling 'gemv_selector::run'
      internal::gemv_selector<Side,(int(MatrixType::Flags)&RowMajorBit) ? RowMajor : ColMajor,
      ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:364:5: note: Calling 'gemv_selector::run'
    gemv_selector<OnTheRight,OtherStorageOrder,BlasCompatible>
    ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:512:9: note: '?' condition is true
        DirectlyUseRhs ? const_cast<RhsScalar*>(actualRhs.data()) : static_rhs.data());
        ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:511:5: note: '?' condition is false
    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:590:18: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
    TYPE* NAME = (BUFFER)!=0 ? (BUFFER) \
                 ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:511:5: note: '?' condition is false
    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:592:23: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
                      (sizeof(TYPE)*SIZE<=EIGEN_STACK_ALLOCATION_LIMIT) ? EIGEN_ALIGNED_ALLOCA(sizeof(TYPE)*SIZE) \
                      ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:511:5: note: Calling 'aligned_malloc'
    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:593:23: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
                    : Eigen::internal::aligned_malloc(sizeof(TYPE)*SIZE) );  \
                      ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:220:14: note: Memory is allocated
    result = std::malloc(size);
             ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:231:6: note: Assuming 'result' is non-null
  if(!result && size)
     ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:231:14: note: Left side of '&&' is false
  if(!result && size)
             ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:511:5: note: Returned allocated memory
    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:593:23: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
                    : Eigen::internal::aligned_malloc(sizeof(TYPE)*SIZE) );  \
                      ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:512:9: note: '?' condition is true
        DirectlyUseRhs ? const_cast<RhsScalar*>(actualRhs.data()) : static_rhs.data());
        ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:511:5: note: '?' condition is true
    ei_declare_aligned_stack_constructed_variable(RhsScalar,actualRhsPtr,actualRhs.size(),
    ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:594:98: note: expanded from macro 'ei_declare_aligned_stack_constructed_variable'
    Eigen::internal::aligned_stack_memory_handler<TYPE> EIGEN_CAT(NAME,_stack_memory_destructor)((BUFFER)==0 ? NAME : 0,SIZE,sizeof(TYPE)*SIZE>EIGEN_STACK_ALLOCATION_LIMIT)
                                                                                                 ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:514:5: note: Taking false branch
    if(!DirectlyUseRhs)
    ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:530:3: note: Potential leak of memory pointed to by 'actualRhsPtr_stack_memory_destructor.m_ptr'
  }
  ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:243:5: warning: Memory allocated by alloca() should not be deallocated [clang-analyzer-unix.Malloc]
    std::free(ptr);
    ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:79:8: note: Assuming '_initial' is not equal to 0
    if(_initial) {
       ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:79:5: note: Taking true branch
    if(_initial) {
    ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:81:40: note: Calling 'ProductBase::operator const Eigen::Matrix<double, 1, -1, 1, 1, -1> &'
      t_initvec const phif_times_Hfa = occupancies(_G, false) * Hfa;
                                       ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:127:7: note: Calling 'ProductBase::evalTo'
      derived().evalTo(m_result);
      ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:109:58: note: Calling 'ProductBase::scaleAndAddTo'
    inline void evalTo(Dest& dst) const { dst.setZero(); scaleAndAddTo(dst,Scalar(1)); }
                                                         ^
/usr/local/include/eigen3/Eigen/src/Core/ProductBase.h:118:71: note: Calling 'GeneralProduct::scaleAndAddTo'
    inline void scaleAndAddTo(Dest& dst, const Scalar& alpha) const { derived().scaleAndAddTo(dst,alpha); }
                                                                      ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:348:7: note: Calling 'gemv_selector::run'
      internal::gemv_selector<Side,(int(MatrixType::Flags)&RowMajorBit) ? RowMajor : ColMajor,
      ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:364:5: note: Calling 'gemv_selector::run'
    gemv_selector<OnTheRight,OtherStorageOrder,BlasCompatible>
    ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:514:5: note: Taking false branch
    if(!DirectlyUseRhs)
    ^
/usr/local/include/eigen3/Eigen/src/Core/GeneralProduct.h:530:3: note: Calling '~aligned_stack_memory_handler'
  }
  ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:552:46: note: Left side of '&&' is false
      if(NumTraits<T>::RequireInitialization && m_ptr)
                                             ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:554:7: note: Taking true branch
      if(m_deallocate)
      ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:555:9: note: Calling 'aligned_free'
        Eigen::internal::aligned_free(m_ptr);
        ^
/usr/local/include/eigen3/Eigen/src/Core/util/Memory.h:243:5: note: Memory allocated by alloca() should not be deallocated
    std::free(ptr);
    ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:425:31: warning: The left operand of '+' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
  RealScalar t = m.coeff(0,0) + m.coeff(1,1);
                              ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:68:12: note: Calling 'occupancies_impl_'
    return occupancies_impl_(_idealg, _initial);
           ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:54:50: note: Assuming '_open' is 0
      std::tuple<t_rmatrix, t_rvector> problem = _open ?
                                                 ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:54:50: note: '?' condition is false
      std::tuple<t_rmatrix, t_rvector> problem = _open ?
                                                 ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/occupancies.cc:59:9: note: Calling constructor for 'JacobiSVD'
        svd(std::get<0>(problem), Eigen::ComputeThinU|Eigen::ComputeThinV);
        ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:578:7: note: Calling 'JacobiSVD::compute'
      compute(matrix, computationOptions);
      ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:840:3: note: Taking false branch
  if(scale==RealScalar(0)) scale = RealScalar(1);
  ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:844:3: note: Taking false branch
  if(m_rows!=m_cols)
  ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:853:5: note: Taking false branch
    if(m_computeFullU) m_matrixU.setIdentity(m_rows,m_rows);
    ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:854:5: note: Taking false branch
    if(m_computeThinU) m_matrixU.setIdentity(m_rows,m_diagSize);
    ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:855:5: note: Taking false branch
    if(m_computeFullV) m_matrixV.setIdentity(m_cols,m_cols);
    ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:856:5: note: Taking false branch
    if(m_computeThinV) m_matrixV.setIdentity(m_cols, m_diagSize);
    ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:862:3: note: Loop condition is true.  Entering loop body
  while(!finished)
  ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:868:5: note: Loop condition is true.  Entering loop body
    for(Index p = 1; p < m_diagSize; ++p)
    ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:870:7: note: Loop condition is true.  Entering loop body
      for(Index q = 0; q < p; ++q)
      ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:879:51: note: Left side of '||' is true
        if(abs(m_workMatrix.coeff(p,q))>threshold || abs(m_workMatrix.coeff(q,p)) > threshold)
                                                  ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:886:11: note: Calling 'real_2x2_jacobi_svd'
          internal::real_2x2_jacobi_svd(m_workMatrix, p, q, &j_left, &j_right);
          ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:425:18: note: Calling 'PlainObjectBase::coeff'
  RealScalar t = m.coeff(0,0) + m.coeff(1,1);
                 ^
/usr/local/include/eigen3/Eigen/src/Core/PlainObjectBase.h:140:7: note: Taking false branch
      if(Flags & RowMajorBit)
      ^
/usr/local/include/eigen3/Eigen/src/Core/PlainObjectBase.h:143:16: note: Calling 'DenseStorage::data'
        return m_storage.data()[rowId + colId * m_storage.rows()];
               ^
/usr/local/include/eigen3/Eigen/src/Core/PlainObjectBase.h:143:16: note: Returning from 'DenseStorage::data'
        return m_storage.data()[rowId + colId * m_storage.rows()];
               ^
/usr/local/include/eigen3/Eigen/src/Core/PlainObjectBase.h:143:49: note: Calling 'DenseStorage::rows'
        return m_storage.data()[rowId + colId * m_storage.rows()];
                                                ^
/usr/local/include/eigen3/Eigen/src/Core/PlainObjectBase.h:143:49: note: Returning from 'DenseStorage::rows'
        return m_storage.data()[rowId + colId * m_storage.rows()];
                                                ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:425:18: note: Returning from 'PlainObjectBase::coeff'
  RealScalar t = m.coeff(0,0) + m.coeff(1,1);
                 ^
/usr/local/include/eigen3/Eigen/src/SVD/JacobiSVD.h:425:31: note: The left operand of '+' is a garbage value
  RealScalar t = m.coeff(0,0) + m.coeff(1,1);
                              ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/root_finder.cc:282:20: warning: Value stored to 'value_next' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
            t_real value_next(current);
                   ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/root_finder.cc:282:20: note: Value stored to 'value_next' during its initialization is never read
            t_real value_next(current);
                   ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/time_filter.cc:84:28: warning: Value stored to 'n' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
    t_rvector::Index const n(_intervals.size());
                           ^
/Users/jhn/ucl/dcprogs/HJCFIT/likelihood/time_filter.cc:84:28: note: Value stored to 'n' during its initialization is never read
    t_rvector::Index const n(_intervals.size());