aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gnat.dg/debug5.adb
diff options
context:
space:
mode:
authorPierre-Marie de Rodat <derodat@adacore.com>2016-05-03 16:21:14 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2016-05-03 16:21:14 +0000
commit402e89f5986220a96898381cc32f7efe76bd092c (patch)
tree07ef90dcc688d65f7ea2112248f2fb748f8ee38c /gcc/testsuite/gnat.dg/debug5.adb
parent67647f9229c2e88701861eeebde33598ad406bb2 (diff)
downloadgcc-402e89f5986220a96898381cc32f7efe76bd092c.zip
gcc-402e89f5986220a96898381cc32f7efe76bd092c.tar.gz
gcc-402e89f5986220a96898381cc32f7efe76bd092c.tar.bz2
Fix a typo in dwarf2out.c:resolve_args_picking_1
Under specific circumstances for Ada programs, such as in the testcase this change adds, the DWARF back-end currently crashes because of inconsistent internal state. This is due to a typo: a local variable is called frame_offset_ but resolve_args_picking_1 wrongly modifies emit-rtl.h's frame_offset instead. This change fixes this typo. gcc/ * dwarf2out.c (resolve_args_picking_1): Replace the frame_offset occurence with frame_offset_ ones. gcc/testsuite/ * gnat.dg/debug5.adb: New testcase. From-SVN: r235830
Diffstat (limited to 'gcc/testsuite/gnat.dg/debug5.adb')
-rw-r--r--gcc/testsuite/gnat.dg/debug5.adb22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/debug5.adb b/gcc/testsuite/gnat.dg/debug5.adb
new file mode 100644
index 0000000..6569a15
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/debug5.adb
@@ -0,0 +1,22 @@
+-- { dg-do compile }
+-- { dg-options "-g" }
+
+procedure Debug5 is
+
+ type Record_Type (L1, L2 : Natural) is record
+ S1 : String (1 .. L1);
+ case L2 is
+ when 0 => null;
+ when others => S2 : String (L1 .. L2);
+ end case;
+ end record;
+
+ procedure Discard (R : Record_Type) is
+ begin
+ null;
+ end Discard;
+
+ R : constant Record_Type := (0, 0, others => <>);
+begin
+ Discard (R);
+end Debug5;