Browse Source

--- Merging r43182 into '.':
U compiler/dbgdwarf.pas
--- Recording mergeinfo for merge of r43182 into '.':
U .

# revisions: 43182

git-svn-id: branches/fixes_3_2@45074 -

marco 5 years ago
parent
commit
85e6640553
1 changed files with 5 additions and 1 deletions
  1. 5 1
      compiler/dbgdwarf.pas

+ 5 - 1
compiler/dbgdwarf.pas

@@ -4279,7 +4279,11 @@ implementation
               { yes -> length = 0 }
               current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit(ord(DW_OP_lit0)));
               current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit(ord(DW_OP_skip)));
-              current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_16bit_unaligned(3));
+              if upperopcodes=16 then
+                { skip the extra deref_size argument and the division by two of the length }
+                current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_16bit_unaligned(6))
+              else
+                current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_16bit_unaligned(3));
               { no -> load length }
               if upperopcodes=16 then
                 { for Windows WideString the size is always a DWORD }