aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@gcc.gnu.org>2019-05-27 16:08:19 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2019-05-27 16:08:19 +0000
commit7e8ae6c818690765f54ff7d5a6f8571c1ef8bd99 (patch)
treef9d4e00df2acc00bbb1ed8a6b97d8a09f4b99ca7
parentd16b9d1cb6319143da567436f9223fc06ba5cad1 (diff)
downloadgcc-7e8ae6c818690765f54ff7d5a6f8571c1ef8bd99.zip
gcc-7e8ae6c818690765f54ff7d5a6f8571c1ef8bd99.tar.gz
gcc-7e8ae6c818690765f54ff7d5a6f8571c1ef8bd99.tar.bz2
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
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/dwarf2out.c2
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gnat.dg/specs/array4.ads17
4 files changed, 30 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d303860..8405d18 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * 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 <ubizjak@gmail.com>
* config/i386/i386.h (STACK_SIZE_MODE): Define.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 5979ac6..960d9be 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 2250874..bed4287 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,7 +1,12 @@
+2019-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/array4.ads: New test.
+
2019-05-27 Christophe Lyon <christophe.lyon@linaro.org>
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 0000000..ab12c1e
--- /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;