-
Notifications
You must be signed in to change notification settings - Fork 12.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[LLDB] Fix display of value of a vector variables in watchpoint opera…
…tions Reviewers: clayborg, zturner. Subscribers: jaydeep, bhushan, sagar, nitesh.jain, brucem,lldb-commits. Differential Revision: http://reviews.llvm.org/D13202 llvm-svn: 249838
- Loading branch information
Showing
4 changed files
with
95 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
LEVEL = ../../../make | ||
|
||
C_SOURCES := main.c | ||
|
||
include $(LEVEL)/Makefile.rules |
56 changes: 56 additions & 0 deletions
56
lldb/watchpoint/watchpoint_on_vectors/TestValueOfVectorVariable.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
""" | ||
Test displayed value of a vector variable while doing watchpoint operations | ||
""" | ||
|
||
import os, time | ||
import unittest2 | ||
import lldb | ||
from lldbtest import * | ||
import lldbutil | ||
|
||
class TestValueOfVectorVariableTestCase(TestBase): | ||
|
||
mydir = TestBase.compute_mydir(__file__) | ||
|
||
@dsym_test | ||
def test_value_of_vector_variable_with_dsym_using_watchpoint_set(self): | ||
"""Test verify displayed value of vector variable.""" | ||
self.buildDsym(dictionary=self.d) | ||
self.setTearDownCleanup(dictionary=self.d) | ||
self.value_of_vector_variable_with_watchpoint_set() | ||
|
||
@dwarf_test | ||
def test_value_of_vector_variable_with_dwarf_using_watchpoint_set(self): | ||
"""Test verify displayed value of vector variable.""" | ||
self.buildDwarf(dictionary=self.d) | ||
self.setTearDownCleanup(dictionary=self.d) | ||
self.value_of_vector_variable_with_watchpoint_set() | ||
|
||
def setUp(self): | ||
# Call super's setUp(). | ||
TestBase.setUp(self) | ||
# Our simple source filename. | ||
self.source = 'main.c' | ||
self.exe_name = 'a.out' | ||
self.d = {'C_SOURCES': self.source, 'EXE': self.exe_name} | ||
|
||
def value_of_vector_variable_with_watchpoint_set(self): | ||
"""Test verify displayed value of vector variable""" | ||
exe = os.path.join(os.getcwd(), 'a.out') | ||
self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET) | ||
|
||
# Set break to get a frame | ||
self.runCmd("b main") | ||
|
||
# Run the program. | ||
self.runCmd("run", RUN_SUCCEEDED) | ||
|
||
# Value of a vector variable should be displayed correctly | ||
self.expect("watchpoint set variable global_vector", WATCHPOINT_CREATED, | ||
substrs = ['new value: (1, 2, 3, 4, 5, 6, 7, 8)']) | ||
|
||
if __name__ == '__main__': | ||
import atexit | ||
lldb.SBDebugger.Initialize() | ||
atexit.register(lambda: lldb.SBDebugger.Terminate()) | ||
unittest2.main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
//===-- main.c --------------------------------------------------*- C++ -*-===// | ||
// | ||
// The LLVM Compiler Infrastructure | ||
// | ||
// This file is distributed under the University of Illinois Open Source | ||
// License. See LICENSE.TXT for details. | ||
// | ||
//===----------------------------------------------------------------------===// | ||
typedef short v8i16 __attribute__ ((vector_size(16))); | ||
v8i16 global_vector = {1, 2, 3, 4, 5, 6, 7, 8}; | ||
|
||
int main() | ||
{ | ||
} |