There was a typo in the output_macinfo_op gcc_assert.
The function is called dwarf_FORM, not dwarf_form.
Add the provided testcase from the bug to test -gsplit-dwarf -g3.
gcc/ChangeLog:
PR debug/86459
* dwarf2out.c (output_macinfo_op): Fix dwarf_FORM typo in gcc_assert.
gcc/testsuite/ChangeLog:
PR debug/86459
* gcc.dg/pr86459.c: New test.
From-SVN: r262545
+2018-07-10 Mark Wielaard <mark@klomp.org>
+
+ PR debug/86459
+ * dwarf2out.c (output_macinfo_op): Fix dwarf_FORM typo in gcc_assert.
+
2018-07-10 Richard Biener <rguenther@suse.de>
* hash-map.h (hash_map::iterator::operator*): Return
node = find_AT_string (ref->info);
gcc_assert (node
&& (node->form == DW_FORM_strp
- || node->form == dwarf_form (DW_FORM_strx)));
+ || node->form == dwarf_FORM (DW_FORM_strx)));
dw2_asm_output_data (1, ref->code,
ref->code == DW_MACRO_define_strp
? "Define macro strp"
+2018-07-10 Mark Wielaard <mark@klomp.org>
+
+ PR debug/86459
+ * gcc.dg/pr86459.c: New test.
+
2018-07-10 Martin Sebor <msebor@redhat.com>
PR testsuite/86461
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-g -O2 -fno-var-tracking-assignments -gsplit-dwarf -g3" } */
+
+/* Same as pr86064.c but compiled with -g3 it showed an issue in
+ output_macinfo_op because of a typo in an assert. */
+
+int a;
+__attribute__((__cold__)) void b();
+
+void e(int *);
+int f();
+
+void c() {
+ int d;
+ e(&d);
+ a = d;
+ if (f())
+ b();
+}