<div dir="ltr">So for fun a bit ago I decided to see what it would take to build lldb -Werror free as a subproject of llvm (in llvm/tools alongside clang of course) and fixed up a bunch of warnings/errors that happen.<br><br>lldb-mi has the last set of warnings that I wasn't able to trivially fix up as it would require rewriting a bit of it so I'll just send mail to the authors and hope it happens :)<br><br>Here's the current problem:<br><br>/usr/local/google/home/echristo/sources/llvm/tools/lldb/tools/lldb-mi/MIUtilVariant.h:120:16: error: 'CMIUtilVariant::CDataObject<CMIUtilString>::Copy' hides overloaded virtual<br>      function [-Werror,-Woverloaded-virtual]<br>                virtual void Copy( const CDataObject & vrOther );<br>                             ^<br>/usr/local/google/home/echristo/sources/llvm/tools/lldb/tools/lldb-mi/MIUtilVariant.h:266:22: note: in instantiation of template class 'CMIUtilVariant::CDataObject<CMIUtilString>'<br>      requested here<br>        m_pDataObject = new CDataObject< T >(  vArg );<br>                            ^<br>/usr/local/google/home/echristo/sources/llvm/tools/lldb/tools/lldb-mi/MIUtilMapIdToVariant.h:99:8: note: in instantiation of function template specialization<br>      'CMIUtilVariant::Set<CMIUtilString>' requested here<br>                data.Set< T >( vData );<br>                     ^<br>/usr/local/google/home/echristo/sources/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebugSessionInfo.h:205:28: note: in instantiation of function template specialization<br>      'CMIUtilMapIdToVariant::Add<CMIUtilString>' requested here<br>        if( !m_mapIdToSessionData.Add< T >( vKey, vData ) )<br>                                  ^<br>/usr/local/google/home/echristo/sources/llvm/tools/lldb/tools/lldb-mi/MICmdCmdEnviro.cpp:93:32: note: in instantiation of function template specialization<br>      'CMICmnLLDBDebugSessionInfo::SharedDataAdd<CMIUtilString>' requested here<br>                if( !m_rLLDBDebugSessionInfo.SharedDataAdd< CMIUtilString >( rStrKeyWkDir, strWkDir ) )<br>                                             ^<br>/usr/local/google/home/echristo/sources/llvm/tools/lldb/tools/lldb-mi/MIUtilVariant.h:85:16: note: hidden overloaded virtual function 'CMIUtilVariant::CDataObjectBase::Copy' declared<br>      here: type mismatch at 1st parameter ('const CMIUtilVariant::CDataObjectBase &' vs 'const CMIUtilVariant::CDataObject<CMIUtilString> &')<br>                virtual void Copy( const CDataObjectBase & vrOther );<br><br><br>which requires a bit of rewriting to get past. It would be very nice if this were to happen since it would allow lldb to take advantage of the newer warnings etc while being able to be built as part of the build bots a little easier as well.<br><div><br></div><div>Thanks!</div><div><br></div><div>-eric</div></div>