Clang warning: -Wstring-plus-int
Summary
When building with clang, one gets a -Wstring-plus-int warning in GEMGlobalState. The warning corresponds to a potential out-of-bounds array indexing.
Steps to reproduce
Configure with CC=clang CXX=clang++ cmake ... and build.
What is the expected correct behavior?
No -Wstring-plus-int warning.
Relevant logs and/or screenshots
[82/98] Building CXX object gemsupervisor/CMakeFiles/gemsupervisor.dir/src/GEMGlobalState.cpp.o
../gemsupervisor/src/GEMGlobalState.cpp:75:58: warning: adding 'toolbox::fsm::State' (aka 'char') to a string does not append to the string [-Wstring-plus-int]
setGlobalStateMessage("Reached terminal state: " + m_globalState);
~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
../gemsupervisor/src/GEMGlobalState.cpp:75:58: note: use array indexing to silence this warning
setGlobalStateMessage("Reached terminal state: " + m_globalState);
^
& [ ]
1 warning generated.
Environment
- Version used:
develop - Operation System:
gem904daq04
Possible fixes
Wrap m_globalState into std::to_string. Add -Werror=-Wstring-plus-int because this warning usually finds real mistakes.