| # REQUIRES: lld |
| |
| # Make sure DWARF v4 type units work. |
| # RUN: %clangxx -target x86_64-pc-linux %S/Inputs/debug-types-basic.cpp \ |
| # RUN: -g -gdwarf-4 -fdebug-types-section -c -o %t4.o |
| # RUN: ld.lld %t4.o -o %t4 |
| # RUN: %lldb %t4 -s %s -o exit | FileCheck %s |
| |
| # Now do the same for DWARF v5. |
| # RUN: %clangxx -target x86_64-pc-linux %S/Inputs/debug-types-basic.cpp \ |
| # RUN: -g -gdwarf-5 -fdebug-types-section -c -o %t5.o |
| # RUN: ld.lld %t5.o -o %t5 |
| # RUN: %lldb %t5 -s %s -o exit | FileCheck %s |
| |
| # Test type units in dwo files. |
| # RUN: %clangxx -target x86_64-pc-linux %S/Inputs/debug-types-basic.cpp \ |
| # RUN: -g -gdwarf-4 -fdebug-types-section -gsplit-dwarf -c -o %t4dwo.o |
| # RUN: ld.lld %t4dwo.o -o %t4dwo |
| # RUN: %lldb %t4dwo -s %s -o exit | FileCheck %s |
| |
| # And type units+dwo+dwarf5. |
| # RUN: %clangxx -target x86_64-pc-linux %S/Inputs/debug-types-basic.cpp \ |
| # RUN: -g -gdwarf-5 -fdebug-types-section -gsplit-dwarf -c -o %t5dwo.o |
| # RUN: ld.lld %t5dwo.o -o %t5dwo |
| # RUN: %lldb %t5dwo -s %s -o exit | FileCheck %s |
| |
| type lookup A |
| # CHECK-LABEL: type lookup A |
| # CHECK: struct A { |
| # CHECK-NEXT: int i; |
| # CHECK-NEXT: long l; |
| # CHECK-NEXT: float f; |
| # CHECK-NEXT: double d; |
| # CHECK-NEXT: E e; |
| # CHECK-NEXT: EC ec; |
| # CHECK-NEXT: } |
| |
| type lookup E |
| # CHECK-LABEL: type lookup E |
| # CHECK: enum E { |
| # CHECK-NEXT: e1, |
| # CHECK-NEXT: e2, |
| # CHECK-NEXT: e3 |
| # CHECK-NEXT: } |
| |
| type lookup EC |
| # CHECK-LABEL: type lookup EC |
| # CHECK: enum class EC { |
| # CHECK-NEXT: e1, |
| # CHECK-NEXT: e2, |
| # CHECK-NEXT: e3 |
| # CHECK-NEXT: } |
| |
| print (E) 1 |
| # CHECK-LABEL: print (E) 1 |
| # CHECK: (E) $0 = e2 |
| |
| print (EC) 1 |
| # CHECK-LABEL: print (EC) 1 |
| # CHECK: (EC) $1 = e2 |
| |
| target variable a e ec |
| # CHECK-LABEL: target variable a e ec |
| # CHECK: (const A) a = (i = 42, l = 47, f = 4.{{[12].*}}, d = 4.{{[67].*}}, e = e1, ec = e3) |
| # CHECK: (const E) e = e2 |
| # CHECK: (const EC) ec = e2 |