summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Waldenborg <anders@0x63.nu>2013-11-17 15:40:57 +0000
committerAnders Waldenborg <anders@0x63.nu>2013-11-17 15:40:57 +0000
commit01af07a16968ec361dac5a1b2912021cd509cd3a (patch)
tree7f4437f81dd14a0518a90ffe227e6dd36ce1d562
parent6a105e9964bf7a8c48c3cd81b76abfc5af276e13 (diff)
downloadbcm5719-llvm-01af07a16968ec361dac5a1b2912021cd509cd3a.tar.gz
bcm5719-llvm-01af07a16968ec361dac5a1b2912021cd509cd3a.zip
python: Fix check for disasm creation failure
Check should be for pointer being NULL, not what it points to. Also adds a test for this case. Reviewed By: indygreg Differential Revision: http://llvm-reviews.chandlerc.com/D1878 llvm-svn: 194965
-rw-r--r--llvm/bindings/python/llvm/disassembler.py2
-rw-r--r--llvm/bindings/python/llvm/tests/test_disassembler.py4
2 files changed, 5 insertions, 1 deletions
diff --git a/llvm/bindings/python/llvm/disassembler.py b/llvm/bindings/python/llvm/disassembler.py
index 9e781aef8f2..f2df275bf4a 100644
--- a/llvm/bindings/python/llvm/disassembler.py
+++ b/llvm/bindings/python/llvm/disassembler.py
@@ -75,7 +75,7 @@ class Disassembler(LLVMObject):
ptr = lib.LLVMCreateDisasm(c_char_p(triple), c_void_p(None), c_int(0),
callbacks['op_info'](0), callbacks['symbol_lookup'](0))
- if not ptr.contents:
+ if not ptr:
raise Exception('Could not obtain disassembler for triple: %s' %
triple)
diff --git a/llvm/bindings/python/llvm/tests/test_disassembler.py b/llvm/bindings/python/llvm/tests/test_disassembler.py
index 46d12f70562..e960dc0ba9c 100644
--- a/llvm/bindings/python/llvm/tests/test_disassembler.py
+++ b/llvm/bindings/python/llvm/tests/test_disassembler.py
@@ -16,6 +16,10 @@ class TestDisassembler(TestBase):
self.assertEqual(count, 3)
self.assertEqual(s, '\tjcxz\t-127')
+ def test_nonexistant_triple(self):
+ with self.assertRaisesRegexp(Exception, "Could not obtain disassembler for triple"):
+ Disassembler("nonexistant-triple-raises")
+
def test_get_instructions(self):
sequence = '\x67\xe3\x81\x01\xc7' # jcxz -127; addl %eax, %edi
OpenPOWER on IntegriCloud