Menu

cppcheck2.8 compiling error

2022-06-20
2022-06-20
  • Vivian Huang

    Vivian Huang - 2022-06-20

    Hello Daniel Marjamäki,

    I compiled cppcheck2.8 on ubuntu16.04 using "make MATCHCOMPILER=yes FILESDIR=/usr/share/cppcheck HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function"" command encounterd one compiling error, can you please help me out?

    In file included from build/programmemory.cpp:186:0:
    lib/calculate.h:88:10: warning: multi-character character constant [-Wmultichar]
    case '<<':
    ^
    lib/calculate.h:95:10: warning: multi-character character constant [-Wmultichar]
    case '>>':
    ^
    lib/calculate.h:102:10: warning: multi-character character constant [-Wmultichar]
    case '&&':
    ^
    lib/calculate.h:104:10: warning: multi-character character constant [-Wmultichar]
    case '||':
    ^
    lib/calculate.h:106:10: warning: multi-character character constant [-Wmultichar]
    case '==':
    ^
    lib/calculate.h:108:10: warning: multi-character character constant [-Wmultichar]
    case '!=':
    ^
    lib/calculate.h:110:10: warning: multi-character character constant [-Wmultichar]
    case '>=':
    ^
    lib/calculate.h:112:10: warning: multi-character character constant [-Wmultichar]
    case '<=':
    ^
    lib/calculate.h:114:10: warning: multi-character character constant [-Wmultichar]
    case '<=>':
    ^
    build/programmemory.cpp: In function ‘ValueFlow::Value evaluateLibraryFunction(const std::unordered_map<int, valueflow::value="">&, const string&, const Settings)’:
    build/programmemory.cpp:991:18: error: converting to ‘std::unordered_map<std::basic_string\<char>, std::function\<valueflow::value(const std::unordered_map\<int,="" valueflow::value="">&)> >’ from initializer list would use explicit constructor ‘std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type, const hasher&, const key_equal&, const allocator_type&) [with _Key = std::basic_string<char>; _Tp = std::function<valueflow::value(const std::unordered_map\<int,="" valueflow::value="">&)>; _Hash = std::hash<std::basic_string\<char> >; _Pred = std::equal_to<std::basic_string\<char> >; _Alloc = std::allocator<std::pair\<const std::basic_string\<char="">, std::function\<valueflow::value(const std::unordered_map\<int,="" valueflow::value="">&)> > >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type = long unsigned int; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hasher = std::hash<std::basic_string\<char> >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_equal = std::equal_to<std::basic_string\<char> >; std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::allocator_type = std::allocator<std::pair\<const std::basic_string\<char="">, std::function\<valueflow::value(const std::unordered_map\<int,="" valueflow::value="">&)> > >]</valueflow::value(const></std::pair\<const></std::basic_string\<char></std::basic_string\<char></valueflow::value(const></std::pair\<const></std::basic_string\<char></std::basic_string\<char></valueflow::value(const></char>
    functions = {};
    ^
    make: </valueflow::value(const></std::basic_string\<char>
    ** [build/programmemory.o] Error 1</int,>

     
  • Daniel Marjamäki

    Unfortunately I can't reproduce. I tried with ubuntu 16.04 in a docker container.

    but well does it compile properly if you change the code:

    functions = {};
    

    to:

    functions;
    
     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.