public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-3740] [Ada] Follow-up tweaks to System.Dwarf_Line
@ 2021-09-21 15:26 Pierre-Marie de Rodat
  0 siblings, 0 replies; only message in thread
From: Pierre-Marie de Rodat @ 2021-09-21 15:26 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:97c5d522c6ee36b7ed1824d1eb6b8f30172c1818

commit r12-3740-g97c5d522c6ee36b7ed1824d1eb6b8f30172c1818
Author: Eric Botcazou <ebotcazou@adacore.com>
Date:   Tue Jul 6 12:18:57 2021 +0200

    [Ada] Follow-up tweaks to System.Dwarf_Line
    
    gcc/ada/
    
            * libgnat/s-dwalin.adb (Skip_Form): Fix cases of DW_FORM_addrx
            and DW_FORM_implicit_const.  Replace Constraint_Error with
            Dwarf_Error.

Diff:
---
 gcc/ada/libgnat/s-dwalin.adb | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/gcc/ada/libgnat/s-dwalin.adb b/gcc/ada/libgnat/s-dwalin.adb
index 530b8029427..74700e68bfc 100644
--- a/gcc/ada/libgnat/s-dwalin.adb
+++ b/gcc/ada/libgnat/s-dwalin.adb
@@ -1114,8 +1114,6 @@ package body System.Dwarf_Lines is
       case Form is
          when DW_FORM_addr =>
             Skip := Offset (Ptr_Sz);
-         when DW_FORM_addrx =>
-            Skip := Offset (uint32'(Read_LEB128 (S)));
          when DW_FORM_block1 =>
             Skip := Offset (uint8'(Read (S)));
          when DW_FORM_block2 =>
@@ -1161,11 +1159,12 @@ package body System.Dwarf_Lines is
             begin
                return;
             end;
-         when DW_FORM_udata
-            | DW_FORM_ref_udata
+         when DW_FORM_addrx
             | DW_FORM_loclistx
+            | DW_FORM_ref_udata
             | DW_FORM_rnglistx
             | DW_FORM_strx
+            | DW_FORM_udata
            =>
             declare
                Val : constant uint32 := Read_LEB128 (S);
@@ -1173,7 +1172,7 @@ package body System.Dwarf_Lines is
             begin
                return;
             end;
-         when DW_FORM_flag_present =>
+         when DW_FORM_flag_present | DW_FORM_implicit_const =>
             return;
          when DW_FORM_ref_addr
             | DW_FORM_sec_offset
@@ -1187,10 +1186,10 @@ package body System.Dwarf_Lines is
                null;
             end loop;
             return;
-         when DW_FORM_implicit_const | DW_FORM_indirect =>
-            raise Constraint_Error;
+         when DW_FORM_indirect =>
+            raise Dwarf_Error with "DW_FORM_indirect not implemented";
          when others =>
-            raise Constraint_Error;
+            raise Dwarf_Error with "DWARF form not implemented";
       end case;
 
       Seek (S, Tell (S) + Skip);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-09-21 15:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-21 15:26 [gcc r12-3740] [Ada] Follow-up tweaks to System.Dwarf_Line Pierre-Marie de Rodat

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).