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