1b8567559SRaphael Isemannimport lldb
2b8567559SRaphael Isemannfrom lldbsuite.test.decorators import *
3b8567559SRaphael Isemannfrom lldbsuite.test.lldbtest import *
4b8567559SRaphael Isemannfrom lldbsuite.test import lldbutil
5b8567559SRaphael Isemann
6b8567559SRaphael Isemann
7*2238dcc3SJonas Devlieghereclass TestCase(TestBase):
8b8567559SRaphael Isemann    def test(self):
9b8567559SRaphael Isemann        """
10b8567559SRaphael Isemann        Tests a forward declared template and a normal template in the same
11b8567559SRaphael Isemann        executable. GCC/Clang emit very limited debug information for forward
12b8567559SRaphael Isemann        declared templates that might trip up LLDB.
13b8567559SRaphael Isemann        """
14b8567559SRaphael Isemann        self.build()
15*2238dcc3SJonas Devlieghere        lldbutil.run_to_source_breakpoint(
16*2238dcc3SJonas Devlieghere            self, "// break here", lldb.SBFileSpec("main.cpp")
17*2238dcc3SJonas Devlieghere        )
18b8567559SRaphael Isemann
19b8567559SRaphael Isemann        self.expect_expr("a; b", result_type="Temp<float>")
20