""" Tests const static data members as specified by C++11 [class.static.data]p3 with (u)int128_t types. """ import lldb from lldbsuite.test.decorators import * from lldbsuite.test.lldbtest import * from lldbsuite.test import lldbutil class TestCase(TestBase): # int128 is not available on 32-bit ARM. @skipIf(archs=["arm"]) def test_int128(self): self.build() lldbutil.run_to_source_breakpoint(self, "// break here", lldb.SBFileSpec("main.cpp")) # Try to use the (u)int128_t data members which are not supported at # the moment. Just verify that LLDB doesn't report an incorrect value # for them and just treats them as normal variables (which will lead # to linker errors as they are not defined anywhere). self.expect("expr A::int128_max", error=True, substrs=["Couldn't lookup symbols:"]) self.expect("expr A::uint128_max", error=True, substrs=["Couldn't lookup symbols:"]) self.expect("expr A::int128_min", error=True, substrs=["Couldn't lookup symbols:"]) self.expect("expr A::uint128_min", error=True, substrs=["Couldn't lookup symbols:"])