[llvm] fa822a2 - [DebugInfo] Add test for dumping DW_AT_defaulted

Paul Robinson via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 20 13:43:57 PDT 2021


Author: Paul Robinson
Date: 2021-09-20T16:43:53-04:00
New Revision: fa822a2ee52f8243d29eb035d7002a9ab40788a0

URL: https://github.com/llvm/llvm-project/commit/fa822a2ee52f8243d29eb035d7002a9ab40788a0
DIFF: https://github.com/llvm/llvm-project/commit/fa822a2ee52f8243d29eb035d7002a9ab40788a0.diff

LOG: [DebugInfo] Add test for dumping DW_AT_defaulted

Added: 
    llvm/test/tools/llvm-dwarfdump/X86/DW_AT_defaulted.s

Modified: 
    

Removed: 
    


################################################################################
diff  --git a/llvm/test/tools/llvm-dwarfdump/X86/DW_AT_defaulted.s b/llvm/test/tools/llvm-dwarfdump/X86/DW_AT_defaulted.s
new file mode 100644
index 0000000000000..02b1c1aeb164f
--- /dev/null
+++ b/llvm/test/tools/llvm-dwarfdump/X86/DW_AT_defaulted.s
@@ -0,0 +1,43 @@
+## Demonstrate dumping DW_AT_defaulted.
+## Any ELF-target triple will work.
+# RUN: llvm-mc -triple=x86_64--linux -filetype=obj < %s | \
+# RUN:     llvm-dwarfdump -v - | FileCheck %s
+
+# CHECK: .debug_abbrev contents:
+# CHECK: DW_AT_defaulted DW_FORM_data1
+# CHECK: .debug_info contents:
+# CHECK: DW_AT_defaulted [DW_FORM_data1] (DW_DEFAULTED_no)
+# CHECK: DW_AT_defaulted [DW_FORM_data1] (DW_DEFAULTED_in_class)
+# CHECK: DW_AT_defaulted [DW_FORM_data1] (DW_DEFAULTED_out_of_class)
+
+        .section        .debug_abbrev,"", at progbits
+        .byte   1                       # Abbreviation Code
+        .byte   17                      # DW_TAG_compile_unit
+        .byte   1                       # DW_CHILDREN_yes
+        .byte   0                       # EOM(1)
+        .byte   0                       # EOM(2)
+        .byte   2                       # Abbreviation Code
+        .byte   46                      # DW_TAG_subprogram
+        .byte   0                       # DW_CHILDREN_no
+        .byte   0x8b, 1                 # DW_AT_defaulted (ULEB)
+        .byte   11                      # DW_FORM_data1
+        .byte   0                       # EOM(1)
+        .byte   0                       # EOM(2)
+        .byte   0                       # EOM(3)
+
+        .section        .debug_info,"", at progbits
+        .long   .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
+.Ldebug_info_start0:
+        .short  5                       # DWARF version number
+        .byte   1                       # Unit type
+        .byte   8                       # Address Size (in bytes)
+        .long   .debug_abbrev           # Offset Into Abbrev. Section
+        .byte   1                       # Abbrev [1] DW_TAG_compile_unit
+        .byte   2                       # Abbrev [2] DW_TAG_subprogram
+        .byte   0                       # DW_DEFAULTED_no
+        .byte   2                       # Abbrev [2] DW_TAG_subprogram
+        .byte   1                       # DW_DEFAULTED_in_class
+        .byte   2                       # Abbrev [2] DW_TAG_subprogram
+        .byte   2                       # DW_DEFAULTED_out_of_class
+        .byte   0                       # End Of Children Mark
+.Ldebug_info_end0:


        


More information about the llvm-commits mailing list