import lldbsuite.test.lldbutil as lldbutil from lldbsuite.test.lldbtest import * class TestCase(TestBase): def test_functions_having_dlang_mangling_prefix(self): """ Ensure C functions with a '_D' prefix alone are not mistakenly treated as a Dlang mangled name. A proper Dlang mangling will have digits immediately following the '_D' prefix. """ self.build() _, _, thread, _ = lldbutil.run_to_name_breakpoint(self, "_Dfunction") frame = thread.frame[0] symbol = frame.symbol # On Windows the function does not have an associated symbol. if symbol.IsValid(): self.assertFalse(symbol.mangled) self.assertEqual(symbol.GetDisplayName(), "_Dfunction") function = frame.function self.assertFalse(function.mangled) self.assertEqual(function.GetDisplayName(), "_Dfunction")