Fix ICE in output_rnglists, at dwarf2out.c:12294

In this testcase the compile unit consists of a single
text section with a single embedded DECL_IGNORED_P function.
So we have a kind of multi-range text section here.
To avoid an ICE in output_rnglists we need to make sure
that have_multiple_function_sections is set to true.
This is a regression from
e69ac02037 ("Add line debug info for virtual thunks")

2021-05-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	PR debug/100515
	* dwarf2out.c (dwarf2out_finish): Set
	have_multiple_function_sections with multi-range text_section.

	* gcc.dg/debug/dwarf2/pr100515.c: New testcase.
This commit is contained in:
Bernd Edlinger 2021-05-11 17:55:18 +02:00
parent dd39327854
commit 1ecd1e6c89
2 changed files with 20 additions and 0 deletions

View File

@ -31956,6 +31956,7 @@ dwarf2out_finish (const char *filename)
add_AT_addr (main_comp_unit_die, DW_AT_entry_pc, const0_rtx, true);
add_ranges (NULL);
have_multiple_function_sections = true;
}
}

View File

@ -0,0 +1,19 @@
/* PR debug/100515 */
/* { dg-do compile } */
/* { dg-options "-g -O2 -fopenmp" } */
void
foo (int x)
{
#pragma omp taskloop
for (int i = 0; i < x; i++)
;
}
void
bar (int x)
{
#pragma omp taskloop
for (int i = 0; i < x; i++)
;
}