From: Eric Botcazou Date: Mon, 27 May 2019 16:12:41 +0000 (+0000) Subject: dwarf2out.c (resolve_args_picking_1): Deal with DW_OP_GNU_addr_index and DW_OP_GNU_co... X-Git-Tag: releases/gcc-9.2.0~308 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1416fdb015d47c205ee15a7017d4761e81775489;p=thirdparty%2Fgcc.git dwarf2out.c (resolve_args_picking_1): Deal with DW_OP_GNU_addr_index and DW_OP_GNU_const_index opcodes. * dwarf2out.c (resolve_args_picking_1): Deal with DW_OP_GNU_addr_index and DW_OP_GNU_const_index opcodes. From-SVN: r271665 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1bf25158edd9..f23632b548e4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-05-27 Eric Botcazou + + * dwarf2out.c (resolve_args_picking_1): Deal with DW_OP_GNU_addr_index + and DW_OP_GNU_const_index opcodes. + 2019-05-24 John David Anglin PR target/90530 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index b9a624e1ac7f..3ffdc55453c1 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -17906,6 +17906,8 @@ resolve_args_picking_1 (dw_loc_descr_ref loc, unsigned initial_frame_offset, case DW_OP_push_object_address: case DW_OP_call_frame_cfa: case DW_OP_GNU_variable_value: + case DW_OP_GNU_addr_index: + case DW_OP_GNU_const_index: ++frame_offset_; break; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c38e5a7dfca2..e7b8b575a601 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2019-05-27 Eric Botcazou + + * gnat.dg/specs/array4.ads: New test. + 2019-05-27 Eric Botcazou * gnat.dg/aliased2.adb: New test. diff --git a/gcc/testsuite/gnat.dg/specs/array4.ads b/gcc/testsuite/gnat.dg/specs/array4.ads new file mode 100644 index 000000000000..ab12c1e2a9eb --- /dev/null +++ b/gcc/testsuite/gnat.dg/specs/array4.ads @@ -0,0 +1,17 @@ +-- { dg-do compile } +-- { dg-skip-if "missing -gsplit-dwarf support" { *-*-darwin* } } +-- { dg-options "-gsplit-dwarf" } + +package Array4 is + + type Arr1 is array (Positive range <>) of Boolean; + + Size : Positive := 20; + + type Rec is record + A : Arr1 (1 .. Size); + end record; + + type Arr2 is array (Positive range <>) of Rec; + +end Array4;