Hi, The versions of gcc that are available on FreeBSD (even on the 9.0 beta, though I haven't tested them all) will yield that error. clang compiles it fine, though. What I did was use clang to compile that file. You can also compile lldb using only clang.
If you have any more problems, please tell. But I remind you that the FreeBSD port is still very incomplete and can't be used for debugging, yet. Regards, Filipe On Thu, Sep 22, 2011 at 07:29, Enrico Granata <[email protected]>wrote: > The reason for this error looks like an ambiguity in template resolution. > In order to implement a "special" behavior for regex-based summaries, the > Delete_Impl call uses template specialization: > template<typename K, typename V> > bool > Delete_Impl (ConstString type, Types<K,V>) > vs. > template<typename V> > bool > Delete_Impl (ConstString type, Types<lldb::RegularExpressionSP,V>) > > Your compiler seems to be inferring correctly the template arguments, but > has a doubt on whether it should pick the specialized function, or the > general one replacing K = lldb::RegularExpressionSP > > This is the first time I see a compiler being confused at this (LLDB is > routinely compiled with clang and I guess several people compile it on Linux > with GCC as well). This idiom is actually a quite common way to obtain > one-function-specialization-inside-class-template. > > In order to try and solve this, could you try to clean your LLDB build > folder and try to build LLDB alone without the rest of LLVM, or using a > different more recent version of GCC? > > - *Enrico Granata* > > On Sep 22, 2011, at 4:07 PM, arrowdodger wrote: > > Hello. I'm compiling trunk LLVM + trunk lldb on i386 FreeBSD 8 system (GCC > 4.2.1) and see this error: > > /usr/code/llvm/tools/lldb/source/Commands/../../include/lldb/Core/FormatNavigator.h: > In member function 'bool lldb_private::FormatNavigator<KeyType, > ValueType>::Delete(lldb_private::ConstString) [with KeyType = > lldb_private::SharingPtr<lldb_private::RegularExpression>, ValueType = > lldb_private::SummaryFormat]': > CommandObjectType.cpp:1064: instantiated from here > /usr/code/llvm/tools/lldb/source/Commands/../../include/lldb/Core/FormatNavigator.h:269: > error: call of overloaded 'Delete_Impl(lldb_private::ConstString&, > lldb_private::FormatNavigator<lldb_private::SharingPtr<lldb_private::RegularExpression>, > lldb_private::SummaryFormat>::Types<lldb_private::SharingPtr<lldb_private::RegularExpression>, > lldb_private::SummaryFormat>)' is ambiguous > /usr/code/llvm/tools/lldb/source/Commands/../../include/lldb/Core/FormatNavigator.h:333: > note: candidates are: bool lldb_private::FormatNavigator<KeyType, > ValueType>::Delete_Impl(lldb_private::ConstString, > lldb_private::FormatNavigator<KeyType, ValueType>::Types<K, V>) [with K = > lldb_private::SharingPtr<lldb_private::RegularExpression>, V = > lldb_private::SummaryFormat, KeyType = > lldb_private::SharingPtr<lldb_private::RegularExpression>, ValueType = > lldb_private::SummaryFormat] > /usr/code/llvm/tools/lldb/source/Commands/../../include/lldb/Core/FormatNavigator.h:340: > note: bool lldb_private::FormatNavigator<KeyType, > ValueType>::Delete_Impl(lldb_private::ConstString, > lldb_private::FormatNavigator<KeyType, > ValueType>::Types<lldb_private::SharingPtr<lldb_private::RegularExpression>, > V>) [with V = lldb_private::SummaryFormat, KeyType = > lldb_private::SharingPtr<lldb_private::RegularExpression>, ValueType = > lldb_private::SummaryFormat] > > _______________________________________________ > lldb-dev mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > > > > _______________________________________________ > lldb-dev mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev > >
_______________________________________________ lldb-dev mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
