xref: /llvm-project/cross-project-tests/debuginfo-tests/llgdb-tests/forward-declare-class.cpp (revision 5a744776bb6192dae04360609457c9f49dce43a2)
11364750dSJames Henderson // RUN: %clangxx %target_itanium_abi_host_triple -O0 -g %s -c -o %t.o
21364750dSJames Henderson // RUN: %test_debuginfo %s %t.o
31364750dSJames Henderson // Radar 9168773
4*5a744776Sdyung // XFAIL: !system-darwin && gdb-clang-incompatibility
51364750dSJames Henderson 
61364750dSJames Henderson // DEBUGGER: ptype A
71364750dSJames Henderson // Work around a gdb bug where it believes that a class is a
81364750dSJames Henderson // struct if there aren't any methods - even though it's tagged
91364750dSJames Henderson // as a class.
1064111831SAdrian Prantl // CHECK: {{struct|class}} A {
1164111831SAdrian Prantl // CHECK:        int MyData;
121364750dSJames Henderson // CHECK-NEXT: }
131364750dSJames Henderson class A;
141364750dSJames Henderson class B {
151364750dSJames Henderson public:
161364750dSJames Henderson   void foo(const A *p);
171364750dSJames Henderson };
181364750dSJames Henderson 
191364750dSJames Henderson B iEntry;
201364750dSJames Henderson 
211364750dSJames Henderson class A {
221364750dSJames Henderson public:
231364750dSJames Henderson   int MyData;
241364750dSJames Henderson };
251364750dSJames Henderson 
261364750dSJames Henderson A irp;
271364750dSJames Henderson 
28