lldb fails to build under GNU/Linux mipsel

Hello,

tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp:
In member function 'virtual bool
RegisterContextMacOSXFrameBackchain::ReadRegister(const
lldb_private::RegisterInfo*, lldb_private::RegisterValue&)':
tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp:153:9:
error: duplicate case value
tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp:137:9:
error: previously used here

Line 137 :
        case sizeof (double):
Line 153:
// TOOD: need a better way to detect when "long double" types are
// the same bytes size as "double"
#if !defined(__arm__)
        case sizeof (long double):

I could commit the attached patch but I wonder if there is not a better
solution.

Thanks
Sylvestre

disable_for_mipsel_too.diff (677 Bytes)

llvm::APFloat used to not support being able to give out a human readable string, it used to only emit the compiler hex float format. I believe this has changed and that llvm::APFloat now does support a "to string" format that is human readable.

If this is the case, the right fix is to get rid of the code that is using native float/double/long double and use APFloat directly (always getting the current definition of APFloat from the appropriate AST.

Greg