diff options
author | Jason Molenda <jmolenda@apple.com> | 2012-11-01 23:35:19 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2012-11-01 23:35:19 +0000 |
commit | cc57a383258d1f1d5ed7308268a0eda4d49aba61 (patch) | |
tree | e51846965e7e1a1e7777eb70c75cf7dc2ac5eb20 | |
parent | 2508b9b8d3e291c3dd6414547c68ec2bdf35428f (diff) | |
download | bcm5719-llvm-cc57a383258d1f1d5ed7308268a0eda4d49aba61.tar.gz bcm5719-llvm-cc57a383258d1f1d5ed7308268a0eda4d49aba61.zip |
Change DataExtractor::Dump() to use a series of if..else if
statements instead of a switch for the size of the floating
point types; some architectures sizeof double and sizeof long
double are the same and that's invalid in a switch.
Fix the LLDB_DISABLE_PYTHON ifdef block in FormatManager::LoadObjCFormatters
so it builds on arm again.
llvm-svn: 167263
-rw-r--r-- | lldb/source/Core/DataExtractor.cpp | 22 | ||||
-rw-r--r-- | lldb/source/Core/FormatManager.cpp | 3 |
2 files changed, 13 insertions, 12 deletions
diff --git a/lldb/source/Core/DataExtractor.cpp b/lldb/source/Core/DataExtractor.cpp index d08679cd7da..d9255a408b6 100644 --- a/lldb/source/Core/DataExtractor.cpp +++ b/lldb/source/Core/DataExtractor.cpp @@ -1710,23 +1710,25 @@ DataExtractor::Dump (Stream *s, case eFormatFloat: { std::ostringstream ss; - switch (item_byte_size) + if (item_byte_size == sizeof(float)) { - default: - s->Printf("error: unsupported byte size (%u) for float format", item_byte_size); - return offset; - case sizeof(float): ss.precision(std::numeric_limits<float>::digits10); ss << GetFloat(&offset); - break; - case sizeof(double): + } + else if (item_byte_size == sizeof(double)) + { ss.precision(std::numeric_limits<double>::digits10); ss << GetDouble(&offset); - break; - case sizeof(long double): + } + else if (item_byte_size == sizeof(long double)) + { ss.precision(std::numeric_limits<long double>::digits10); ss << GetLongDouble(&offset); - break; + } + else + { + s->Printf("error: unsupported byte size (%u) for float format", item_byte_size); + return offset; } ss.flush(); s->Printf("%s", ss.str().c_str()); diff --git a/lldb/source/Core/FormatManager.cpp b/lldb/source/Core/FormatManager.cpp index e28c0d46e38..c93e94b1bbb 100644 --- a/lldb/source/Core/FormatManager.cpp +++ b/lldb/source/Core/FormatManager.cpp @@ -955,7 +955,7 @@ FormatManager::LoadObjCFormatters() objc_category_sp->GetSummaryNavigator()->Add(ConstString("BOOL *"), ObjC_BOOL_summary); - +#ifndef LLDB_DISABLE_PYTHON // we need to skip pointers here since we are special casing a SEL* when retrieving its value objc_flags.SetSkipPointers(true); AddCXXSummary(objc_category_sp, lldb_private::formatters::ObjCSELSummaryProvider<false>, "SEL summary", ConstString("SEL"), objc_flags); @@ -963,7 +963,6 @@ FormatManager::LoadObjCFormatters() AddCXXSummary(objc_category_sp, lldb_private::formatters::ObjCSELSummaryProvider<false>, "SEL summary", ConstString("objc_selector"), objc_flags); AddCXXSummary(objc_category_sp, lldb_private::formatters::ObjCSELSummaryProvider<true>, "SEL summary", ConstString("objc_selector *"), objc_flags); -#ifndef LLDB_DISABLE_PYTHON AddScriptSummary(objc_category_sp, "lldb.formatters.objc.Class.Class_Summary", ConstString("Class"), objc_flags); #endif // LLDB_DISABLE_PYTHON |