From e9868f438ba47f225802cf4722a988cf9a3ca756 Mon Sep 17 00:00:00 2001 From: Sameer Sheorey Date: Wed, 2 Mar 2011 10:47:54 -0600 Subject: Changed debug/gdb/printers.py to correctly display variable sized matrices. There is no python error now. --- debug/gdb/printers.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'debug') diff --git a/debug/gdb/printers.py b/debug/gdb/printers.py index 3c04407e6..8c991e956 100644 --- a/debug/gdb/printers.py +++ b/debug/gdb/printers.py @@ -56,20 +56,22 @@ class EigenMatrixPrinter: template_params = m.split(',') template_params = map(lambda x:x.replace(" ", ""), template_params) - self.rows = int(template_params[1]) - self.cols = int(template_params[2]) + if template_params[1] == '-0x00000000000000001': + self.rows = val['m_storage']['m_rows'] + else: + self.rows = int(template_params[1]) + + if template_params[2] == '-0x00000000000000001': + self.cols = val['m_storage']['m_cols'] + else: + self.cols = int(template_params[2]) + self.options = 0 # default value if len(template_params) > 3: self.options = template_params[3]; self.rowMajor = (int(self.options) & 0x1) - if self.rows == 10000: - self.rows = val['m_storage']['m_rows'] - - if self.cols == 10000: - self.cols = val['m_storage']['m_cols'] - self.innerType = self.type.template_argument(0) self.val = val -- cgit v1.2.3