Skip to content

Commit

Permalink
Rollup merge of rust-lang#58629 - euclio:debug-empty-str, r=alexcrichton
Browse files Browse the repository at this point in the history
rust-lldb: fix crash when printing empty string

Fixes rust-lang#52185.

~Re-enables the pretty-std debuginfo test and tweaks the test as necessary to get it to pass again. This reveals that lldb's formatting of enums is broken (rust-lang#58492). I also removed the emoji from the test because I couldn't get the docker image's gdb to print the emoji, just octal escapes (https://github.com/rust-lang/rust/pull/53154/files#r208263904).~
  • Loading branch information
Centril authored Feb 27, 2019
2 parents bcaf49b + b7d4f96 commit b5d757d
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/etc/lldb_rust_formatters.py
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,8 @@ def render_element(i):


def read_utf8_string(ptr_val, byte_count):
if byte_count == 0:
return '""'
error = lldb.SBError()
process = ptr_val.get_wrapped_value().GetProcess()
data = process.ReadMemory(ptr_val.as_integer(), byte_count, error)
Expand Down
33 changes: 33 additions & 0 deletions src/test/debuginfo/empty-string.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// compile-flags:-g
// min-gdb-version: 7.7
// min-lldb-version: 310

// === GDB TESTS ===================================================================================

// gdb-command: run

// gdb-command: print empty_string
// gdb-check:$1 = ""

// gdb-command: print empty_str
// gdb-check:$2 = ""

// === LLDB TESTS ==================================================================================

// lldb-command: run

// lldb-command: fr v empty_string
// lldb-check:[...]empty_string = ""

// lldb-command: fr v empty_str
// lldb-check:[...]empty_str = ""

fn main() {
let empty_string = String::new();

let empty_str = "";

zzz(); // #break
}

fn zzz() {}

0 comments on commit b5d757d

Please sign in to comment.