Source: cbmc
Version: 5.12-5
Severity: serious
Hi,
Trying to solve #1006850, I couldn't build cbmc:
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src/util'
## Entering langapi
/usr/bin/make -C langapi
make[3]: Entering directory '/<<PKGBUILDDIR>>/src/langapi'
g++ -c -DSATCHECK_MINISAT2 -MMD -MP -std=c++11 -DHAVE_MINISAT2 -g -O2
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat
-Werror=format-security -Wall -Werror -Wno-parentheses -Wno-deprecated
-pedantic -Wall -pedantic -Werror -Wno-deprecated-declarations -Wswitch-enum
-I .. -o language_util.o language_util.cpp
g++ -c -DSATCHECK_MINISAT2 -MMD -MP -std=c++11 -DHAVE_MINISAT2 -g -O2
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat
-Werror=format-security -Wall -Werror -Wno-parentheses -Wno-deprecated
-pedantic -Wall -pedantic -Werror -Wno-deprecated-declarations -Wswitch-enum
-I .. -o language_file.o language_file.cpp
In file included from language_file.cpp:9:
language_file.h: In member function ‘void language_filest::remove_file(const
string&)’:
language_file.h:87:54: error: loop variable ‘method’ of type ‘const
std::pair<dstringt, language_filet*>&’ binds to a temporary constructed from
type ‘std::pair<const dstringt, language_filet*>’ [-Werror=range-loop-construct]
87 | for(const std::pair<irep_idt, language_filet *> &method :
lazy_method_map)
| ^~~~~~
language_file.h:87:54: note: use non-reference type ‘const std::pair<dstringt,
language_filet*>’ to make the copy explicit or ‘const std::pair<const dstringt,
language_filet*>&’ to prevent copying
cc1plus: all warnings being treated as errors
make[3]: *** [../common:222: language_file.o] Error 1
Please solve it, together with #1006850.
Cheers,
Thomas Goirand (zigo)