Author: jingham Date: Wed Jul 20 10:41:12 2016 New Revision: 276132 URL: http://llvm.org/viewvc/llvm-project?rev=276132&view=rev Log: If x/i is followed by x/g, the format should be reset to 'x'.
Otherwise, you have to say "x/gx" to what you obviously intended to happen to happen. <rdar://problem/27415507> Modified: lldb/trunk/source/Interpreter/OptionGroupFormat.cpp Modified: lldb/trunk/source/Interpreter/OptionGroupFormat.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Interpreter/OptionGroupFormat.cpp?rev=276132&r1=276131&r2=276132&view=diff ============================================================================== --- lldb/trunk/source/Interpreter/OptionGroupFormat.cpp (original) +++ lldb/trunk/source/Interpreter/OptionGroupFormat.cpp Wed Jul 20 10:41:12 2016 @@ -230,10 +230,28 @@ OptionGroupFormat::ParserGDBFormatLetter case 's': format = eFormatCString; m_prev_gdb_format = format_letter; return true; case 'T': format = eFormatOSType; m_prev_gdb_format = format_letter; return true; case 'A': format = eFormatHexFloat; m_prev_gdb_format = format_letter; return true; - case 'b': byte_size = 1; m_prev_gdb_size = format_letter; return true; - case 'h': byte_size = 2; m_prev_gdb_size = format_letter; return true; - case 'w': byte_size = 4; m_prev_gdb_size = format_letter; return true; - case 'g': byte_size = 8; m_prev_gdb_size = format_letter; return true; + + // Size isn't used for printing instructions, so if a size is specified, and the previous format was + // 'i', then we should reset it to the default ('x'). Otherwise we'll continue to print as instructions, + // which isn't expected. + case 'b': + byte_size = 1; + LLVM_FALLTHROUGH; + case 'h': + byte_size = 2; + LLVM_FALLTHROUGH; + case 'w': + byte_size = 4; + LLVM_FALLTHROUGH; + case 'g': + byte_size = 8; + + m_prev_gdb_size = format_letter; + if (m_prev_gdb_format == 'i') + m_prev_gdb_format = 'x'; + return true; + + break; default: break; } return false; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits