diff options
-rw-r--r-- | lldb/source/Expression/IRForTarget.cpp | 5 | ||||
-rw-r--r-- | lldb/test/lang/c/strings/TestCStrings.py | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/lldb/source/Expression/IRForTarget.cpp b/lldb/source/Expression/IRForTarget.cpp index e9101d6f74a..b4d96552379 100644 --- a/lldb/source/Expression/IRForTarget.cpp +++ b/lldb/source/Expression/IRForTarget.cpp @@ -1465,6 +1465,11 @@ IRForTarget::MaterializeInitializer (uint8_t *data, Constant *initializer) } return true; } + else if (isa<ConstantAggregateZero>(initializer)) + { + memset(data, 0, m_target_data->getTypeStoreSize(initializer_type)); + return true; + } return false; } diff --git a/lldb/test/lang/c/strings/TestCStrings.py b/lldb/test/lang/c/strings/TestCStrings.py index c549f0a8da0..f0a0b9175e1 100644 --- a/lldb/test/lang/c/strings/TestCStrings.py +++ b/lldb/test/lang/c/strings/TestCStrings.py @@ -63,6 +63,9 @@ class CStringsTestCase(TestBase): substrs = ['(char *) $', ' = 0x', 'hello']) + self.expect("p (int)strlen(\"\")", + substrs = ['(int) $', ' = 0']) + if __name__ == '__main__': import atexit lldb.SBDebugger.Initialize() |