mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-08 19:31:06 +08:00
re PR c++/82054 (ICE in add_dwarf_attr with -fopenmp and -g)
2017-08-31 Richard Biener <rguenther@suse.de> PR middle-end/82054 * dwarf2out.c (dwarf2out_early_global_decl): Process each function only once. * g++.dg/gomp/pr82054.C: New testcase. From-SVN: r251559
This commit is contained in:
parent
cae83731bf
commit
7488b5779f
@ -1,3 +1,9 @@
|
||||
2017-08-31 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/82054
|
||||
* dwarf2out.c (dwarf2out_early_global_decl): Process each
|
||||
function only once.
|
||||
|
||||
2017-08-31 Tamar Christina <tamar.christina@arm.com>
|
||||
|
||||
* config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
|
||||
|
@ -25492,9 +25492,10 @@ dwarf2out_early_global_decl (tree decl)
|
||||
if (TREE_CODE (decl) != TYPE_DECL
|
||||
&& TREE_CODE (decl) != PARM_DECL)
|
||||
{
|
||||
tree save_fndecl = current_function_decl;
|
||||
if (TREE_CODE (decl) == FUNCTION_DECL)
|
||||
{
|
||||
tree save_fndecl = current_function_decl;
|
||||
|
||||
/* For nested functions, make sure we have DIEs for the parents first
|
||||
so that all nested DIEs are generated at the proper scope in the
|
||||
first shot. */
|
||||
@ -25521,11 +25522,19 @@ dwarf2out_early_global_decl (tree decl)
|
||||
dwarf2out_decl (origin);
|
||||
}
|
||||
|
||||
current_function_decl = decl;
|
||||
/* Emit the DIE for decl but avoid doing that multiple times. */
|
||||
dw_die_ref old_die;
|
||||
if ((old_die = lookup_decl_die (decl)) == NULL
|
||||
|| is_declaration_die (old_die))
|
||||
{
|
||||
current_function_decl = decl;
|
||||
dwarf2out_decl (decl);
|
||||
}
|
||||
|
||||
current_function_decl = save_fndecl;
|
||||
}
|
||||
dwarf2out_decl (decl);
|
||||
if (TREE_CODE (decl) == FUNCTION_DECL)
|
||||
current_function_decl = save_fndecl;
|
||||
else
|
||||
dwarf2out_decl (decl);
|
||||
}
|
||||
symtab->global_info_ready = save;
|
||||
}
|
||||
|
@ -1,3 +1,8 @@
|
||||
2017-08-31 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR middle-end/82054
|
||||
* g++.dg/gomp/pr82054.C: New testcase.
|
||||
|
||||
2017-08-31 Renlin Li <renlin.li@arm.com>
|
||||
Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
|
||||
|
||||
|
13
gcc/testsuite/g++.dg/gomp/pr82054.C
Normal file
13
gcc/testsuite/g++.dg/gomp/pr82054.C
Normal file
@ -0,0 +1,13 @@
|
||||
// { dg-do compile }
|
||||
// { dg-additional-options "-g" }
|
||||
|
||||
class a
|
||||
{
|
||||
bool b ();
|
||||
};
|
||||
bool
|
||||
a::b ()
|
||||
{
|
||||
#pragma omp parallel
|
||||
;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user