199451b44SJordan Rupprechtimport lldb 299451b44SJordan Rupprechtfrom lldbsuite.test.decorators import * 399451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 499451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil 599451b44SJordan Rupprecht 699451b44SJordan Rupprecht 7*2238dcc3SJonas Devlieghereclass ExprBug35310(TestBase): 899451b44SJordan Rupprecht def setUp(self): 999451b44SJordan Rupprecht # Call super's setUp(). 1099451b44SJordan Rupprecht TestBase.setUp(self) 1199451b44SJordan Rupprecht 1299451b44SJordan Rupprecht self.main_source = "main.cpp" 1399451b44SJordan Rupprecht self.main_source_spec = lldb.SBFileSpec(self.main_source) 1499451b44SJordan Rupprecht 1599451b44SJordan Rupprecht def test_issue35310(self): 1699451b44SJordan Rupprecht """Test invoking functions with non-standard linkage names. 1799451b44SJordan Rupprecht 1899451b44SJordan Rupprecht The GNU abi_tag extension used by libstdc++ is a common source 1999451b44SJordan Rupprecht of these, but they could originate from other reasons as well. 2099451b44SJordan Rupprecht """ 2199451b44SJordan Rupprecht self.build() 2299451b44SJordan Rupprecht 23*2238dcc3SJonas Devlieghere lldbutil.run_to_source_breakpoint(self, "// Break here", self.main_source_spec) 2499451b44SJordan Rupprecht 25*2238dcc3SJonas Devlieghere self.expect_expr("a.test_abi_tag()", result_value="1") 26*2238dcc3SJonas Devlieghere self.expect_expr("a.test_asm_name()", result_value="2") 27