From 7e8ae6c818690765f54ff7d5a6f8571c1ef8bd99 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Mon, 27 May 2019 16:08:19 +0000 Subject: [PATCH] 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: r271664 --- gcc/ChangeLog | 5 +++++ gcc/dwarf2out.c | 2 ++ gcc/testsuite/ChangeLog | 7 ++++++- gcc/testsuite/gnat.dg/specs/array4.ads | 17 +++++++++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gnat.dg/specs/array4.ads diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d30386082af..8405d18f62c 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-27 Uroš Bizjak * config/i386/i386.h (STACK_SIZE_MODE): Define. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 5979ac68fa8..960d9be70d0 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 2250874bb51..bed4287289f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,7 +1,12 @@ +2019-05-27 Eric Botcazou + + * gnat.dg/specs/array4.ads: New test. + 2019-05-27 Christophe Lyon PR tree-optimization/88440 - * gcc.target/aarch64/sve/index_offset_1.c: Add -fno-tree-loop-distribute-patterns. + * gcc.target/aarch64/sve/index_offset_1.c: Add + -fno-tree-loop-distribute-patterns. * gcc.target/aarch64/sve/single_1.c: Likewise. * gcc.target/aarch64/sve/single_2.c: Likewise. * gcc.target/aarch64/sve/single_3.c: Likewise. diff --git a/gcc/testsuite/gnat.dg/specs/array4.ads b/gcc/testsuite/gnat.dg/specs/array4.ads new file mode 100644 index 00000000000..ab12c1e2a9e --- /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; -- 2.30.2