Closed
Description
The current version of master does not compile in Visual Studio 2015. It compiled before 2db625a, and this commit seems to have problems with to_string
. Some of these problems were fixed in subsequent commit(s), but with the current master there is still an error in https://github.com/diffblue/cbmc/blame/master/src/solvers/prop/aig.cpp#L29
The error is
cl /W3 /D_CRT_SECURE_NO_WARNINGS /O2 /GF /std:c++14 -I .. -I ../../minisat-2.2.1 -DHAVE_MINISAT2 -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS /nologo /c /EHsc prop/aig.cpp /Foprop/aig.obj
aig.cpp
c:\projects\cbmc\src\solvers\prop\aig.h(100): warning C4267: 'argument': conversion from 'size_t' to 'literalt::var_not', possible loss of data
prop/aig.cpp(29): error C2039: 'to_string': is not a member of 'std'
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\map(15): note: see declaration of 'std'
prop/aig.cpp(29): error C3861: 'to_string': identifier not found
prop/aig.cpp(46): error C2039: 'to_string': is not a member of 'std'
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\map(15): note: see declaration of 'std'
prop/aig.cpp(46): error C3861: 'to_string': identifier not found
prop/aig.cpp(64): warning C4267: 'argument': conversion from 'size_t' to 'literalt::var_not', possible loss of data
prop/aig.cpp(160): error C2679: binary '<<': no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)
Full log is here
The error goes away when I add #include<string>
to https://github.com/diffblue/cbmc/blame/master/src/solvers/prop/aig.cpp, but I don't know if this could possibly have some unintended consequences.
Tested on AppVeyor. I could not test the behaviour under VS2013 because of #531 which precedes this problem in history.