https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59627
vries at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |vries at gcc dot gnu.org
--- Comment #2 from vries at gcc dot gnu.org ---
At original:
...
{
struct A a;
void omp declare reduction operator+~1A (struct A &);
struct A a;
#pragma omp parallel reduction(+:a)
{
{
}
}
}
...
We assert when trying to get the discriminator for the omp-declare-reduction
function:
...
(gdb)
#5 0x00000000009ad52b in discriminator_for_local_entity
(entity=0x7ffff61b1380) at src/gcc/cp/mangle.c:1762
1762 gcc_unreachable ();
(gdb) call debug_generic_expr (entity)
omp declare reduction operator+~1A
(gdb) call debug_tree (entity)
<function_decl 0x7ffff61b1380 omp declare reduction operator+~1A
type <function_type 0x7ffff619af18
type <void_type 0x7ffff605a150 void VOID
align 8 symtab 0 alias set -1 canonical type 0x7ffff605a150
pointer_to_this <pointer_type 0x7ffff605a2a0>>
QI
size <integer_cst 0x7ffff6034f48 constant 8>
unit size <integer_cst 0x7ffff6034f60 constant 1>
align 8 symtab 0 alias set -1 canonical type 0x7ffff619af18
arg-types <tree_list 0x7ffff6192e60 value <reference_type
0x7ffff619ac78>
chain <tree_list 0x7ffff6048c80 value <void_type 0x7ffff605a150
void>>>>
used ignored external autoinline decl_0 QI file omp.C line 6 col 9 align 8
context <function_decl 0x7ffff619e7e0 foo> attributes <tree_list
0x7ffff6192ed8>
full-name "void omp declare reduction operator+~1A(A&)"
>