Skip to content

MSVC parser stack overflow #479

@kar-dim

Description

@kar-dim

When building the latest stable CImg (v3.7.5) and pre-release 3.7.6, I get compiling errors when compiling with MSVC:

2>C:\...path_here...\libs\CImg\CImg.h(27348): fatal error C1026: parser stack overflow, program too complex
2>C:\...path_here...\libs\CImg\CImg.h(27348): note: the template instantiation context (the oldest one first) is
2>C:\...path_here...\libs\CImg\CImg.h(12751): note: while compiling class template 'cimg_library::CImg'
2>C:\...path_here...\libs\CImg\CImg.h(20316): note: see reference to class template instantiation 'cimg_library::CImg<unsigned int>' being compiled
2>C:\...path_here...\libs\CImg\CImg.h(46327): note: see reference to class template instantiation 'cimg_library::CImg<float>' being compiled
2>C:\...path_here...\libs\CImg\CImg.h(32985): note: while compiling class template member function 'double cimg_library::CImg<float>::_eval(cimg_library::CImg<float> *const ,const char *const ,const double,const double,const double,const double,cimg_library::CImgList<float> *const ) const'
2>C:\...path_here...\libs\CImg\CImg.h(32884): note: see the first reference to 'cimg_library::CImg<float>::_eval' in 'cimg_library::CImg<float>::eval'
2>C:\...path_here...\libs\CImg\CImg.h(71012): note: see the first reference to 'cimg_library::CImg<float>::eval' in 'cimg_library::cimg::eval'
2>C:\...path_here...\libs\CImg\CImg.h(17857): note: while compiling class 'cimg_library::CImg<float>::_cimg_math_parser'
2>C:\...path_here...\libs\CImg\CImg.h(27309): note: while compiling class template member function 'double cimg_library::CImg<float>::_cimg_math_parser::mp_debug(cimg_library::CImg<float>::_cimg_math_parser &)'
2>C:\...path_here...\libs\CImg\CImg.h(21513): note: see the first reference to 'cimg_library::CImg<float>::_cimg_math_parser::mp_debug' in 'cimg_library::CImg<float>::_cimg_math_parser::compile'
2>C:\...path_here...\libs\CImg\CImg.h(18014): note: see the first reference to 'cimg_library::CImg<float>::_cimg_math_parser::compile' in 'cimg_library::CImg<float>::_cimg_math_parser::_cimg_math_parser'
2>C:\...path_here...\libs\CImg\CImg.h(32991): note: see the first reference to 'cimg_library::CImg<float>::_cimg_math_parser::_cimg_math_parser' in 'cimg_library::CImg<float>::_eval'
2>C:\...path_here...\libs\CImg\CImg.h(32884): note: see the first reference to 'cimg_library::CImg<float>::_eval' in 'cimg_library::CImg<float>::eval'
2>C:\...path_here...\libs\CImg\CImg.h(71012): note: see the first reference to 'cimg_library::CImg<float>::eval' in 'cimg_library::cimg::eval'

System: Windows 11
Compiler: MSVC, Visual Studio 2022 (v143)
C++ flag: /std:c++20

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions