xref: /aosp_15_r20/external/clang/test/CodeGenCXX/debug-info-gline-tables-only.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 %s -fno-rtti -debug-info-kind=line-tables-only -S -emit-llvm -o - | FileCheck %s
2*67e74705SXin Li // Checks that clang with "-gline-tables-only" doesn't emit debug info
3*67e74705SXin Li // for variables and types.
4*67e74705SXin Li 
5*67e74705SXin Li // CHECK-NOT: DW_TAG_namespace
6*67e74705SXin Li namespace NS {
7*67e74705SXin Li // CHECK-NOT: DW_TAG_class_type
8*67e74705SXin Li // CHECK-NOT: DW_TAG_friend
9*67e74705SXin Li class C { friend class D; };
10*67e74705SXin Li class D {};
11*67e74705SXin Li // CHECK-NOT: DW_TAG_inheritance
12*67e74705SXin Li class E : public C {
13*67e74705SXin Li   // CHECK-NOT: DW_TAG_reference type
14*67e74705SXin Li   void x(const D& d);
15*67e74705SXin Li };
16*67e74705SXin Li struct F {
17*67e74705SXin Li   enum X { };
18*67e74705SXin Li   void func(X);
19*67e74705SXin Li   virtual ~F();
20*67e74705SXin Li };
~F()21*67e74705SXin Li F::~F() {
22*67e74705SXin Li }
23*67e74705SXin Li }
24*67e74705SXin Li 
25*67e74705SXin Li // CHECK-NOT: DW_TAG_variable
26*67e74705SXin Li NS::C c;
27*67e74705SXin Li NS::D d;
28*67e74705SXin Li NS::E e;
29*67e74705SXin Li NS::F f;
30