[Lldb-commits] [lldb] r360161 - Added missing files from 360071.

Greg Clayton via lldb-commits lldb-commits at lists.llvm.org
Tue May 7 08:37:28 PDT 2019


Author: gclayton
Date: Tue May  7 08:37:28 2019
New Revision: 360161

URL: http://llvm.org/viewvc/llvm-project?rev=360161&view=rev
Log:
Added missing files from 360071.


Added:
    lldb/trunk/unittests/Symbol/Inputs/inlined-functions.yaml
    lldb/trunk/unittests/Symbol/TestLineEntry.cpp
Modified:
    lldb/trunk/unittests/Symbol/CMakeLists.txt

Modified: lldb/trunk/unittests/Symbol/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Symbol/CMakeLists.txt?rev=360161&r1=360160&r2=360161&view=diff
==============================================================================
--- lldb/trunk/unittests/Symbol/CMakeLists.txt (original)
+++ lldb/trunk/unittests/Symbol/CMakeLists.txt Tue May  7 08:37:28 2019
@@ -4,6 +4,7 @@ add_lldb_unittest(SymbolTests
   TestClangASTContext.cpp
   TestDWARFCallFrameInfo.cpp
   TestType.cpp
+  TestLineEntry.cpp
 
   LINK_LIBS
     lldbHost

Added: lldb/trunk/unittests/Symbol/Inputs/inlined-functions.yaml
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Symbol/Inputs/inlined-functions.yaml?rev=360161&view=auto
==============================================================================
--- lldb/trunk/unittests/Symbol/Inputs/inlined-functions.yaml (added)
+++ lldb/trunk/unittests/Symbol/Inputs/inlined-functions.yaml Tue May  7 08:37:28 2019
@@ -0,0 +1,943 @@
+--- !mach-o
+FileHeader:      
+  magic:           0xFEEDFACF
+  cputype:         0x01000007
+  cpusubtype:      0x00000003
+  filetype:        0x00000001
+  ncmds:           4
+  sizeofcmds:      1160
+  flags:           0x00002000
+  reserved:        0x00000000
+LoadCommands:    
+  - cmd:             LC_SEGMENT_64
+    cmdsize:         1032
+    segname:         ''
+    vmaddr:          0
+    vmsize:          2022
+    fileoff:         1192
+    filesize:        2022
+    maxprot:         7
+    initprot:        7
+    nsects:          6
+    flags:           0
+    Sections:        
+      - sectname:        __text
+        segname:         __TEXT
+        addr:            0x0000000000000000
+        size:            224
+        offset:          0x000004A8
+        align:           4
+        reloff:          0x00000C90
+        nreloc:          1
+        flags:           0x80000400
+        reserved1:       0x00000000
+        reserved2:       0x00000000
+        reserved3:       0x00000000
+      - sectname:        __debug_str
+        segname:         __DWARF
+        addr:            0x00000000000000E0
+        size:            223
+        offset:          0x00000588
+        align:           0
+        reloff:          0x00000000
+        nreloc:          0
+        flags:           0x02000000
+        reserved1:       0x00000000
+        reserved2:       0x00000000
+        reserved3:       0x00000000
+      - sectname:        __debug_abbrev
+        segname:         __DWARF
+        addr:            0x00000000000001BF
+        size:            190
+        offset:          0x00000667
+        align:           0
+        reloff:          0x00000000
+        nreloc:          0
+        flags:           0x02000000
+        reserved1:       0x00000000
+        reserved2:       0x00000000
+        reserved3:       0x00000000
+      - sectname:        __debug_info
+        segname:         __DWARF
+        addr:            0x000000000000027D
+        size:            583
+        offset:          0x00000725
+        align:           0
+        reloff:          0x00000C98
+        nreloc:          8
+        flags:           0x02000000
+        reserved1:       0x00000000
+        reserved2:       0x00000000
+        reserved3:       0x00000000
+      - sectname:        __compact_unwind
+        segname:         __LD
+        addr:            0x0000000000000670
+        size:            64
+        offset:          0x00000B18
+        align:           3
+        reloff:          0x00000CD8
+        nreloc:          2
+        flags:           0x02000000
+        reserved1:       0x00000000
+        reserved2:       0x00000000
+        reserved3:       0x00000000
+      - sectname:        __debug_line
+        segname:         __DWARF
+        addr:            0x0000000000000718
+        size:            206
+        offset:          0x00000BC0
+        align:           0
+        reloff:          0x00000CE8
+        nreloc:          1
+        flags:           0x02000000
+        reserved1:       0x00000000
+        reserved2:       0x00000000
+        reserved3:       0x00000000
+  - cmd:             LC_BUILD_VERSION
+    cmdsize:         24
+    platform:        1
+    minos:           658944
+    sdk:             658944
+    ntools:          0
+  - cmd:             LC_SYMTAB
+    cmdsize:         24
+    symoff:          3312
+    nsyms:           2
+    stroff:          3344
+    strsize:         20
+  - cmd:             LC_DYSYMTAB
+    cmdsize:         80
+    ilocalsym:       0
+    nlocalsym:       0
+    iextdefsym:      0
+    nextdefsym:      2
+    iundefsym:       2
+    nundefsym:       0
+    tocoff:          0
+    ntoc:            0
+    modtaboff:       0
+    nmodtab:         0
+    extrefsymoff:    0
+    nextrefsyms:     0
+    indirectsymoff:  0
+    nindirectsyms:   0
+    extreloff:       0
+    nextrel:         0
+    locreloff:       0
+    nlocrel:         0
+LinkEditData:    
+  NameList:        
+    - n_strx:          7
+      n_type:          0x0F
+      n_sect:          1
+      n_desc:          0
+      n_value:         0
+    - n_strx:          1
+      n_type:          0x0F
+      n_sect:          1
+      n_desc:          0
+      n_value:         32
+  StringTable:     
+    - ''
+    - _main
+    - __Z4sum3iii
+    - ''
+DWARF:           
+  debug_str:       
+    - 'Apple LLVM version 10.0.1 (clang-1001.0.46.3)'
+    - inlined-functions.cpp
+    - '/Users/aadsm/Projects/llvm-project/lldb/unittests/Symbol/Inputs'
+    - sum3
+    - _Z4sum3iii
+    - _Z4sum2ii
+    - sum2
+    - int
+    - a
+    - b
+    - result
+    - _Z4sum4iiii
+    - sum4
+    - c
+    - d
+    - main
+    - argc
+    - argv
+    - char
+    - sum
+  debug_abbrev:    
+    - Code:            0x00000001
+      Tag:             DW_TAG_compile_unit
+      Children:        DW_CHILDREN_yes
+      Attributes:      
+        - Attribute:       DW_AT_producer
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_language
+          Form:            DW_FORM_data2
+        - Attribute:       DW_AT_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_stmt_list
+          Form:            DW_FORM_sec_offset
+        - Attribute:       DW_AT_comp_dir
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_low_pc
+          Form:            DW_FORM_addr
+        - Attribute:       DW_AT_high_pc
+          Form:            DW_FORM_data4
+    - Code:            0x00000002
+      Tag:             DW_TAG_subprogram
+      Children:        DW_CHILDREN_yes
+      Attributes:      
+        - Attribute:       DW_AT_low_pc
+          Form:            DW_FORM_addr
+        - Attribute:       DW_AT_high_pc
+          Form:            DW_FORM_data4
+        - Attribute:       DW_AT_frame_base
+          Form:            DW_FORM_exprloc
+        - Attribute:       DW_AT_linkage_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_decl_file
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_decl_line
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_type
+          Form:            DW_FORM_ref4
+        - Attribute:       DW_AT_external
+          Form:            DW_FORM_flag_present
+    - Code:            0x00000003
+      Tag:             DW_TAG_formal_parameter
+      Children:        DW_CHILDREN_no
+      Attributes:      
+        - Attribute:       DW_AT_location
+          Form:            DW_FORM_exprloc
+        - Attribute:       DW_AT_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_decl_file
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_decl_line
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_type
+          Form:            DW_FORM_ref4
+    - Code:            0x00000004
+      Tag:             DW_TAG_variable
+      Children:        DW_CHILDREN_no
+      Attributes:      
+        - Attribute:       DW_AT_location
+          Form:            DW_FORM_exprloc
+        - Attribute:       DW_AT_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_decl_file
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_decl_line
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_type
+          Form:            DW_FORM_ref4
+    - Code:            0x00000005
+      Tag:             DW_TAG_subprogram
+      Children:        DW_CHILDREN_yes
+      Attributes:      
+        - Attribute:       DW_AT_linkage_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_decl_file
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_decl_line
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_type
+          Form:            DW_FORM_ref4
+        - Attribute:       DW_AT_external
+          Form:            DW_FORM_flag_present
+        - Attribute:       DW_AT_inline
+          Form:            DW_FORM_data1
+    - Code:            0x00000006
+      Tag:             DW_TAG_formal_parameter
+      Children:        DW_CHILDREN_no
+      Attributes:      
+        - Attribute:       DW_AT_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_decl_file
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_decl_line
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_type
+          Form:            DW_FORM_ref4
+    - Code:            0x00000007
+      Tag:             DW_TAG_variable
+      Children:        DW_CHILDREN_no
+      Attributes:      
+        - Attribute:       DW_AT_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_decl_file
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_decl_line
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_type
+          Form:            DW_FORM_ref4
+    - Code:            0x00000008
+      Tag:             DW_TAG_base_type
+      Children:        DW_CHILDREN_no
+      Attributes:      
+        - Attribute:       DW_AT_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_encoding
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_byte_size
+          Form:            DW_FORM_data1
+    - Code:            0x00000009
+      Tag:             DW_TAG_subprogram
+      Children:        DW_CHILDREN_yes
+      Attributes:      
+        - Attribute:       DW_AT_low_pc
+          Form:            DW_FORM_addr
+        - Attribute:       DW_AT_high_pc
+          Form:            DW_FORM_data4
+        - Attribute:       DW_AT_frame_base
+          Form:            DW_FORM_exprloc
+        - Attribute:       DW_AT_name
+          Form:            DW_FORM_strp
+        - Attribute:       DW_AT_decl_file
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_decl_line
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_type
+          Form:            DW_FORM_ref4
+        - Attribute:       DW_AT_external
+          Form:            DW_FORM_flag_present
+    - Code:            0x0000000A
+      Tag:             DW_TAG_inlined_subroutine
+      Children:        DW_CHILDREN_yes
+      Attributes:      
+        - Attribute:       DW_AT_abstract_origin
+          Form:            DW_FORM_ref4
+        - Attribute:       DW_AT_low_pc
+          Form:            DW_FORM_addr
+        - Attribute:       DW_AT_high_pc
+          Form:            DW_FORM_data4
+        - Attribute:       DW_AT_call_file
+          Form:            DW_FORM_data1
+        - Attribute:       DW_AT_call_line
+          Form:            DW_FORM_data1
+    - Code:            0x0000000B
+      Tag:             DW_TAG_formal_parameter
+      Children:        DW_CHILDREN_no
+      Attributes:      
+        - Attribute:       DW_AT_location
+          Form:            DW_FORM_exprloc
+        - Attribute:       DW_AT_abstract_origin
+          Form:            DW_FORM_ref4
+    - Code:            0x0000000C
+      Tag:             DW_TAG_variable
+      Children:        DW_CHILDREN_no
+      Attributes:      
+        - Attribute:       DW_AT_location
+          Form:            DW_FORM_exprloc
+        - Attribute:       DW_AT_abstract_origin
+          Form:            DW_FORM_ref4
+    - Code:            0x0000000D
+      Tag:             DW_TAG_pointer_type
+      Children:        DW_CHILDREN_no
+      Attributes:      
+        - Attribute:       DW_AT_type
+          Form:            DW_FORM_ref4
+  debug_info:      
+    - Length:          
+        TotalLength:     579
+      Version:         4
+      AbbrOffset:      0
+      AddrSize:        8
+      Entries:         
+        - AbbrCode:        0x00000001
+          Values:          
+            - Value:           0x0000000000000000
+            - Value:           0x0000000000000004
+            - Value:           0x000000000000002E
+            - Value:           0x0000000000000000
+            - Value:           0x0000000000000044
+            - Value:           0x0000000000000000
+            - Value:           0x00000000000000E0
+        - AbbrCode:        0x00000002
+          Values:          
+            - Value:           0x0000000000000000
+            - Value:           0x000000000000001E
+            - Value:           0x0000000000000001
+              BlockData:       
+                - 0x56
+            - Value:           0x0000000000000089
+            - Value:           0x0000000000000084
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000006
+            - Value:           0x00000000000000B2
+            - Value:           0x0000000000000001
+        - AbbrCode:        0x00000003
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x7C
+            - Value:           0x00000000000000A7
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000006
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000003
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x78
+            - Value:           0x00000000000000A9
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000006
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000003
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x74
+            - Value:           0x00000000000000C3
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000006
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000004
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x70
+            - Value:           0x00000000000000AB
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000007
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000000
+          Values:          []
+        - AbbrCode:        0x00000005
+          Values:          
+            - Value:           0x0000000000000094
+            - Value:           0x000000000000009E
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000001
+            - Value:           0x00000000000000B2
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000001
+        - AbbrCode:        0x00000006
+          Values:          
+            - Value:           0x00000000000000A7
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000001
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000006
+          Values:          
+            - Value:           0x00000000000000A9
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000001
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000007
+          Values:          
+            - Value:           0x00000000000000AB
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000002
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000000
+          Values:          []
+        - AbbrCode:        0x00000008
+          Values:          
+            - Value:           0x00000000000000A3
+            - Value:           0x0000000000000005
+            - Value:           0x0000000000000004
+        - AbbrCode:        0x00000005
+          Values:          
+            - Value:           0x00000000000000B2
+            - Value:           0x00000000000000BE
+            - Value:           0x0000000000000001
+            - Value:           0x000000000000000B
+            - Value:           0x00000000000000B2
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000001
+        - AbbrCode:        0x00000006
+          Values:          
+            - Value:           0x00000000000000A7
+            - Value:           0x0000000000000001
+            - Value:           0x000000000000000B
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000006
+          Values:          
+            - Value:           0x00000000000000A9
+            - Value:           0x0000000000000001
+            - Value:           0x000000000000000B
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000006
+          Values:          
+            - Value:           0x00000000000000C3
+            - Value:           0x0000000000000001
+            - Value:           0x000000000000000B
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000006
+          Values:          
+            - Value:           0x00000000000000C5
+            - Value:           0x0000000000000001
+            - Value:           0x000000000000000B
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000007
+          Values:          
+            - Value:           0x00000000000000AB
+            - Value:           0x0000000000000001
+            - Value:           0x000000000000000C
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000000
+          Values:          []
+        - AbbrCode:        0x00000009
+          Values:          
+            - Value:           0x0000000000000020
+            - Value:           0x00000000000000C0
+            - Value:           0x0000000000000001
+              BlockData:       
+                - 0x56
+            - Value:           0x00000000000000C7
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000011
+            - Value:           0x00000000000000B2
+            - Value:           0x0000000000000001
+        - AbbrCode:        0x00000003
+          Values:          
+            - Value:           0x0000000000000003
+              BlockData:       
+                - 0x91
+                - 0xB4
+                - 0x7F
+            - Value:           0x00000000000000CC
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000011
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x00000003
+          Values:          
+            - Value:           0x0000000000000003
+              BlockData:       
+                - 0x91
+                - 0xA8
+                - 0x7F
+            - Value:           0x00000000000000D1
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000011
+            - Value:           0x0000000000000235
+        - AbbrCode:        0x00000004
+          Values:          
+            - Value:           0x0000000000000003
+              BlockData:       
+                - 0x91
+                - 0xA4
+                - 0x7F
+            - Value:           0x00000000000000DB
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000013
+            - Value:           0x00000000000000B2
+        - AbbrCode:        0x0000000A
+          Values:          
+            - Value:           0x0000000000000080
+            - Value:           0x000000000000005A
+            - Value:           0x0000000000000025
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000012
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x44
+            - Value:           0x0000000000000090
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x40
+            - Value:           0x000000000000009B
+        - AbbrCode:        0x0000000C
+          Values:          
+            - Value:           0x0000000000000003
+              BlockData:       
+                - 0x91
+                - 0xBC
+                - 0x7F
+            - Value:           0x00000000000000A6
+        - AbbrCode:        0x00000000
+          Values:          []
+        - AbbrCode:        0x0000000A
+          Values:          
+            - Value:           0x00000000000000B9
+            - Value:           0x000000000000007F
+            - Value:           0x000000000000003C
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000013
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x64
+            - Value:           0x00000000000000C9
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x60
+            - Value:           0x00000000000000D4
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x5C
+            - Value:           0x00000000000000DF
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x58
+            - Value:           0x00000000000000EA
+        - AbbrCode:        0x0000000C
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x54
+            - Value:           0x00000000000000F5
+        - AbbrCode:        0x0000000A
+          Values:          
+            - Value:           0x0000000000000080
+            - Value:           0x000000000000008B
+            - Value:           0x000000000000000C
+            - Value:           0x0000000000000001
+            - Value:           0x000000000000000C
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x70
+            - Value:           0x0000000000000090
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x6C
+            - Value:           0x000000000000009B
+        - AbbrCode:        0x0000000C
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x68
+            - Value:           0x00000000000000A6
+        - AbbrCode:        0x00000000
+          Values:          []
+        - AbbrCode:        0x0000000A
+          Values:          
+            - Value:           0x0000000000000080
+            - Value:           0x00000000000000A3
+            - Value:           0x0000000000000009
+            - Value:           0x0000000000000001
+            - Value:           0x000000000000000C
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x7C
+            - Value:           0x0000000000000090
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x78
+            - Value:           0x000000000000009B
+        - AbbrCode:        0x0000000C
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x74
+            - Value:           0x00000000000000A6
+        - AbbrCode:        0x00000000
+          Values:          []
+        - AbbrCode:        0x00000000
+          Values:          []
+        - AbbrCode:        0x0000000A
+          Values:          
+            - Value:           0x0000000000000080
+            - Value:           0x00000000000000CC
+            - Value:           0x0000000000000009
+            - Value:           0x0000000000000001
+            - Value:           0x0000000000000014
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x50
+            - Value:           0x0000000000000090
+        - AbbrCode:        0x0000000B
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x4C
+            - Value:           0x000000000000009B
+        - AbbrCode:        0x0000000C
+          Values:          
+            - Value:           0x0000000000000002
+              BlockData:       
+                - 0x91
+                - 0x48
+            - Value:           0x00000000000000A6
+        - AbbrCode:        0x00000000
+          Values:          []
+        - AbbrCode:        0x00000000
+          Values:          []
+        - AbbrCode:        0x0000000D
+          Values:          
+            - Value:           0x000000000000023A
+        - AbbrCode:        0x0000000D
+          Values:          
+            - Value:           0x000000000000023F
+        - AbbrCode:        0x00000008
+          Values:          
+            - Value:           0x00000000000000D6
+            - Value:           0x0000000000000006
+            - Value:           0x0000000000000001
+        - AbbrCode:        0x00000000
+          Values:          []
+  debug_line:      
+    - Length:          
+        TotalLength:     202
+      Version:         4
+      PrologueLength:  45
+      MinInstLength:   1
+      MaxOpsPerInst:   1
+      DefaultIsStmt:   1
+      LineBase:        251
+      LineRange:       14
+      OpcodeBase:      13
+      StandardOpcodeLengths: [ 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 ]
+      IncludeDirs:     []
+      Files:           
+        - Name:            inlined-functions.cpp
+          DirIdx:          0
+          ModTime:         0
+          Length:          0
+      Opcodes:         
+        - Opcode:          DW_LNS_extended_op
+          ExtLen:          9
+          SubOpcode:       DW_LNE_set_address
+          Data:            0
+        - Opcode:          0x17
+          Data:            0
+        - Opcode:          DW_LNS_set_column
+          Data:            18
+        - Opcode:          DW_LNS_set_prologue_end
+          Data:            18
+        - Opcode:          0xC9
+          Data:            18
+        - Opcode:          DW_LNS_set_column
+          Data:            20
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            20
+        - Opcode:          0x3C
+          Data:            20
+        - Opcode:          DW_LNS_set_column
+          Data:            24
+        - Opcode:          0x3C
+          Data:            24
+        - Opcode:          DW_LNS_set_column
+          Data:            9
+        - Opcode:          0x3C
+          Data:            9
+        - Opcode:          DW_LNS_set_column
+          Data:            12
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            12
+        - Opcode:          0x3D
+          Data:            12
+        - Opcode:          DW_LNS_set_column
+          Data:            5
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            5
+        - Opcode:          0x3C
+          Data:            5
+        - Opcode:          DW_LNS_set_column
+          Data:            0
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            0
+        - Opcode:          DW_LNS_advance_line
+          SData:           9
+          Data:            0
+        - Opcode:          0x4A
+          Data:            0
+        - Opcode:          DW_LNS_set_column
+          Data:            5
+        - Opcode:          DW_LNS_set_prologue_end
+          Data:            5
+        - Opcode:          DW_LNS_const_add_pc
+          Data:            5
+        - Opcode:          0x59
+          Data:            5
+        - Opcode:          DW_LNS_set_column
+          Data:            18
+        - Opcode:          DW_LNS_advance_line
+          SData:           -16
+          Data:            18
+        - Opcode:          DW_LNS_advance_pc
+          Data:            36
+        - Opcode:          DW_LNS_copy
+          Data:            36
+        - Opcode:          DW_LNS_set_column
+          Data:            20
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            20
+        - Opcode:          0x3C
+          Data:            20
+        - Opcode:          DW_LNS_set_column
+          Data:            9
+        - Opcode:          0x3C
+          Data:            9
+        - Opcode:          DW_LNS_set_column
+          Data:            23
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            23
+        - Opcode:          DW_LNS_advance_line
+          SData:           10
+          Data:            23
+        - Opcode:          DW_LNS_const_add_pc
+          Data:            23
+        - Opcode:          0xD6
+          Data:            23
+        - Opcode:          DW_LNS_set_column
+          Data:            26
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            26
+        - Opcode:          0x3C
+          Data:            26
+        - Opcode:          DW_LNS_set_column
+          Data:            18
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            18
+        - Opcode:          DW_LNS_advance_line
+          SData:           -10
+          Data:            18
+        - Opcode:          0x90
+          Data:            18
+        - Opcode:          DW_LNS_set_column
+          Data:            20
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            20
+        - Opcode:          0x3C
+          Data:            20
+        - Opcode:          DW_LNS_set_column
+          Data:            9
+        - Opcode:          0x3C
+          Data:            9
+        - Opcode:          DW_LNS_set_column
+          Data:            12
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            12
+        - Opcode:          0x3D
+          Data:            12
+        - Opcode:          DW_LNS_set_column
+          Data:            36
+        - Opcode:          DW_LNS_advance_line
+          SData:           9
+          Data:            36
+        - Opcode:          0x3C
+          Data:            36
+        - Opcode:          DW_LNS_set_column
+          Data:            39
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            39
+        - Opcode:          0x3C
+          Data:            39
+        - Opcode:          DW_LNS_set_column
+          Data:            18
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            18
+        - Opcode:          DW_LNS_advance_line
+          SData:           -10
+          Data:            18
+        - Opcode:          0x90
+          Data:            18
+        - Opcode:          DW_LNS_set_column
+          Data:            20
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            20
+        - Opcode:          0x3C
+          Data:            20
+        - Opcode:          DW_LNS_set_column
+          Data:            9
+        - Opcode:          0x3C
+          Data:            9
+        - Opcode:          DW_LNS_set_column
+          Data:            29
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            29
+        - Opcode:          DW_LNS_advance_line
+          SData:           10
+          Data:            29
+        - Opcode:          0x3C
+          Data:            29
+        - Opcode:          DW_LNS_set_column
+          Data:            9
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            9
+        - Opcode:          0x3C
+          Data:            9
+        - Opcode:          DW_LNS_set_column
+          Data:            12
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            12
+        - Opcode:          0x3D
+          Data:            12
+        - Opcode:          0x67
+          Data:            12
+        - Opcode:          DW_LNS_set_column
+          Data:            9
+        - Opcode:          0x41
+          Data:            9
+        - Opcode:          DW_LNS_set_column
+          Data:            18
+        - Opcode:          DW_LNS_advance_line
+          SData:           -17
+          Data:            18
+        - Opcode:          DW_LNS_const_add_pc
+          Data:            18
+        - Opcode:          0x12
+          Data:            18
+        - Opcode:          DW_LNS_set_column
+          Data:            20
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            20
+        - Opcode:          0x3C
+          Data:            20
+        - Opcode:          DW_LNS_set_column
+          Data:            9
+        - Opcode:          0x3C
+          Data:            9
+        - Opcode:          DW_LNS_set_column
+          Data:            5
+        - Opcode:          DW_LNS_negate_stmt
+          Data:            5
+        - Opcode:          DW_LNS_advance_line
+          SData:           19
+          Data:            5
+        - Opcode:          0x3C
+          Data:            5
+        - Opcode:          DW_LNS_advance_pc
+          Data:            11
+        - Opcode:          DW_LNS_extended_op
+          ExtLen:          1
+          SubOpcode:       DW_LNE_end_sequence
+          Data:            11
+...

Added: lldb/trunk/unittests/Symbol/TestLineEntry.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Symbol/TestLineEntry.cpp?rev=360161&view=auto
==============================================================================
--- lldb/trunk/unittests/Symbol/TestLineEntry.cpp (added)
+++ lldb/trunk/unittests/Symbol/TestLineEntry.cpp Tue May  7 08:37:28 2019
@@ -0,0 +1,235 @@
+//===-- TestLineEntry.cpp ------------------------------*- C++ -*-===//
+//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "gtest/gtest.h"
+#include <iostream>
+
+#include "Plugins/ObjectFile/Mach-O/ObjectFileMachO.h"
+#include "Plugins/SymbolFile/DWARF/DWARFASTParserClang.h"
+#include "Plugins/SymbolFile/DWARF/SymbolFileDWARF.h"
+#include "Plugins/SymbolVendor/MacOSX/SymbolVendorMacOSX.h"
+#include "TestingSupport/TestUtilities.h"
+#include "lldb/Symbol/ClangASTContext.h"
+
+#include "lldb/Core/Module.h"
+#include "lldb/Host/FileSystem.h"
+#include "lldb/Host/HostInfo.h"
+#include "lldb/Symbol/CompileUnit.h"
+#include "lldb/Symbol/SymbolContext.h"
+#include "lldb/Utility/StreamString.h"
+
+#include "llvm/Support/FileUtilities.h"
+#include "llvm/Support/Program.h"
+#include "llvm/Testing/Support/Error.h"
+
+using namespace lldb_private;
+using namespace lldb;
+
+class LineEntryTest : public testing::Test {
+public:
+  void SetUp() override {
+    FileSystem::Initialize();
+    HostInfo::Initialize();
+    ObjectFileMachO::Initialize();
+    SymbolVendorMacOSX::Initialize();
+    SymbolFileDWARF::Initialize();
+    ClangASTContext::Initialize();
+  }
+
+  void TearDown() override {
+    ClangASTContext::Terminate();
+    SymbolFileDWARF::Terminate();
+    SymbolVendorMacOSX::Terminate();
+    ObjectFileMachO::Terminate();
+    HostInfo::Terminate();
+    FileSystem::Terminate();
+  }
+
+protected:
+  llvm::Expected<ModuleSP> GetModule();
+  llvm::Expected<LineEntry> GetLineEntryForLine(uint32_t line);
+  ModuleSP m_module_sp;
+};
+
+llvm::Expected<ModuleSP> LineEntryTest::GetModule() {
+  if (m_module_sp)
+    return m_module_sp;
+
+  llvm::SmallString<128> obj;
+  if (auto ec = llvm::sys::fs::createTemporaryFile("source-%%%%%%", "obj", obj))
+    return llvm::errorCodeToError(ec);
+  llvm::FileRemover obj_remover(obj);
+  if (auto error = ReadYAMLObjectFile("inlined-functions.yaml", obj))
+    return llvm::Error(std::move(error));
+
+  m_module_sp = std::make_shared<Module>(ModuleSpec(FileSpec(obj)));
+  // Preload because the temporary file will be gone once we exit this function.
+  m_module_sp->PreloadSymbols();
+  return m_module_sp;
+}
+
+llvm::Expected<LineEntry> LineEntryTest::GetLineEntryForLine(uint32_t line) {
+  auto expected_module_so = GetModule();
+
+  if (!expected_module_so)
+    return llvm::createStringError(llvm::inconvertibleErrorCode(),
+                                   "Not able to get module for test object.");
+
+  auto module = expected_module_so->get();
+  bool check_inlines = true;
+  bool exact = true;
+  SymbolContextList sc_comp_units;
+  SymbolContextList sc_line_entries;
+  FileSpec file_spec("inlined-functions.cpp");
+  module->ResolveSymbolContextsForFileSpec(file_spec, line, check_inlines,
+                                           lldb::eSymbolContextCompUnit,
+                                           sc_comp_units);
+  if (sc_comp_units.GetSize() == 0)
+    return llvm::createStringError(llvm::inconvertibleErrorCode(),
+                                   "No comp unit found on the test object.");
+  sc_comp_units[0].comp_unit->ResolveSymbolContext(
+      file_spec, line, check_inlines, exact, eSymbolContextLineEntry,
+      sc_line_entries);
+  if (sc_line_entries.GetSize() == 0)
+    return llvm::createStringError(llvm::inconvertibleErrorCode(),
+                                   "No line entry found on the test object.");
+  return sc_line_entries[0].line_entry;
+}
+
+TEST_F(LineEntryTest, GetSameLineContiguousAddressRangeNoInlines) {
+  auto line_entry = GetLineEntryForLine(18);
+  ASSERT_THAT_EXPECTED(line_entry, llvm::Succeeded());
+  bool include_inlined_functions = false;
+  auto range =
+      line_entry->GetSameLineContiguousAddressRange(include_inlined_functions);
+  ASSERT_EQ(range.GetByteSize(), (uint64_t)0x24);
+}
+
+TEST_F(LineEntryTest, GetSameLineContiguousAddressRangeOneInline) {
+  auto line_entry = GetLineEntryForLine(18);
+  ASSERT_THAT_EXPECTED(line_entry, llvm::Succeeded());
+  bool include_inlined_functions = true;
+  auto range =
+      line_entry->GetSameLineContiguousAddressRange(include_inlined_functions);
+  ASSERT_EQ(range.GetByteSize(), (uint64_t)0x49);
+}
+
+TEST_F(LineEntryTest, GetSameLineContiguousAddressRangeNestedInline) {
+  auto line_entry = GetLineEntryForLine(12);
+  ASSERT_THAT_EXPECTED(line_entry, llvm::Succeeded());
+  bool include_inlined_functions = true;
+  auto range =
+      line_entry->GetSameLineContiguousAddressRange(include_inlined_functions);
+  ASSERT_EQ(range.GetByteSize(), (uint64_t)0x33);
+}
+
+/*
+# inlined-functions.cpp
+inline __attribute__((always_inline)) int sum2(int a, int b) {
+    int result = a + b;
+    return result;
+}
+
+int sum3(int a, int b, int c) {
+    int result = a + b + c;
+    return result;
+}
+
+inline __attribute__((always_inline)) int sum4(int a, int b, int c, int d) {
+    int result = sum2(a, b) + sum2(c, d);
+    result += 0;
+    return result;
+}
+
+int main(int argc, char** argv) {
+    sum3(3, 4, 5) + sum2(1, 2);
+    int sum = sum4(1, 2, 3, 4);
+    sum2(5, 6);
+    return 0;
+}
+
+// g++ -c inlined-functions.cpp -o inlined-functions.o -g -Wno-unused-value
+// obj2yaml inlined-functions.o > inlined-functions.yaml
+
+# Dump of source line per address:
+# inlined-functions.cpp is src.cpp for space considerations.
+0x20: src.cpp:17
+0x21: src.cpp:17
+0x26: src.cpp:17
+0x27: src.cpp:17
+0x29: src.cpp:17
+0x2e: src.cpp:17
+0x2f: src.cpp:17
+0x31: src.cpp:17
+0x36: src.cpp:18
+0x37: src.cpp:18
+0x39: src.cpp:18
+0x3e: src.cpp:18
+0x3f: src.cpp:18
+0x41: src.cpp:18
+0x46: src.cpp:18
+0x47: src.cpp:18
+0x49: src.cpp:18
+0x4e: src.cpp:18
+0x4f: src.cpp:18
+0x51: src.cpp:18
+0x56: src.cpp:18
+0x57: src.cpp:18
+0x59: src.cpp:18
+0x5e: src.cpp:18 -> sum2 at src.cpp:2
+0x5f: src.cpp:18 -> sum2 at src.cpp:2
+0x61: src.cpp:18 -> sum2 at src.cpp:2
+0x66: src.cpp:18 -> sum2 at src.cpp:2
+0x67: src.cpp:18 -> sum2 at src.cpp:2
+0x69: src.cpp:18 -> sum2 at src.cpp:2
+0x6e: src.cpp:18 -> sum2 at src.cpp:2
+0x6f: src.cpp:18 -> sum2 at src.cpp:2
+0x71: src.cpp:18 -> sum2 at src.cpp:2
+0x76: src.cpp:18 -> sum2 at src.cpp:2
+0x77: src.cpp:18 -> sum2 at src.cpp:2
+0x79: src.cpp:18 -> sum2 at src.cpp:2
+0x7e: src.cpp:18 -> sum2 at src.cpp:2
+0x7f: src.cpp:19 -> sum4 at src.cpp:12
+0x81: src.cpp:19 -> sum4 at src.cpp:12
+0x86: src.cpp:19 -> sum4 at src.cpp:12
+0x87: src.cpp:19 -> sum4 at src.cpp:12
+0x89: src.cpp:19 -> sum4 at src.cpp:12
+0x8e: src.cpp:19 -> sum4 at src.cpp:12 -> sum2 at src.cpp:2
+0x8f: src.cpp:19 -> sum4 at src.cpp:12 -> sum2 at src.cpp:2
+0x91: src.cpp:19 -> sum4 at src.cpp:12 -> sum2 at src.cpp:2
+0x96: src.cpp:19 -> sum4 at src.cpp:12 -> sum2 at src.cpp:3
+0x97: src.cpp:19 -> sum4 at src.cpp:12
+0x99: src.cpp:19 -> sum4 at src.cpp:12
+0x9e: src.cpp:19 -> sum4 at src.cpp:12
+0x9f: src.cpp:19 -> sum4 at src.cpp:12
+0xa1: src.cpp:19 -> sum4 at src.cpp:12
+0xa6: src.cpp:19 -> sum4 at src.cpp:12 -> sum2 at src.cpp:2
+0xa7: src.cpp:19 -> sum4 at src.cpp:12 -> sum2 at src.cpp:2
+0xa9: src.cpp:19 -> sum4 at src.cpp:12 -> sum2 at src.cpp:2
+0xae: src.cpp:19 -> sum4 at src.cpp:12
+0xaf: src.cpp:19 -> sum4 at src.cpp:12
+0xb1: src.cpp:19 -> sum4 at src.cpp:12
+0xb6: src.cpp:19 -> sum4 at src.cpp:13
+0xb7: src.cpp:19 -> sum4 at src.cpp:13
+0xb9: src.cpp:19 -> sum4 at src.cpp:14
+0xbe: src.cpp:19
+0xbf: src.cpp:19
+0xc1: src.cpp:19
+0xc6: src.cpp:19
+0xc7: src.cpp:19
+0xc9: src.cpp:19
+0xce: src.cpp:20 -> sum2 at src.cpp:2
+0xcf: src.cpp:20 -> sum2 at src.cpp:2
+0xd1: src.cpp:20 -> sum2 at src.cpp:2
+0xd6: src.cpp:21
+0xd7: src.cpp:21
+0xd9: src.cpp:21
+0xde: src.cpp:21
+*/




More information about the lldb-commits mailing list