[all-commits] [llvm/llvm-project] 177dd6: Data formatters: fix detection of C strings
Raphael Isemann via All-commits
all-commits at lists.llvm.org
Tue Mar 24 06:26:18 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 177dd63c8d742250dac6ea365e7c30f0fbab3257
https://github.com/llvm/llvm-project/commit/177dd63c8d742250dac6ea365e7c30f0fbab3257
Author: Jaroslav Sevcik <jarin at google.com>
Date: 2020-03-24 (Tue, 24 Mar 2020)
Changed paths:
M lldb/source/Core/ValueObject.cpp
A lldb/test/API/functionalities/data-formatter/cstring-utf8-summary/Makefile
A lldb/test/API/functionalities/data-formatter/cstring-utf8-summary/TestCstringUnicode.py
A lldb/test/API/functionalities/data-formatter/cstring-utf8-summary/main.cpp
Log Message:
-----------
Data formatters: fix detection of C strings
Summary:
Detection of C strings does not work well for pointers. If the value object holding a (char*) pointer does not have an address (e.g., if it is a temp), the value is not considered a C string and its formatting is left to DumpDataExtractor rather than the special handling in ValueObject::DumpPrintableRepresentation. This leads to inconsistent outputs, e.g., in escaping non-ASCII characters. See the test for an example; the second test expectation is not met (without this patch). With this patch, the C string detection only insists that the pointer value is valid. The patch makes the code consistent with how the pointer is obtained in ValueObject::ReadPointedString.
Reviewers: teemperor
Reviewed By: teemperor
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D76650
More information about the All-commits
mailing list