* [Bug lto/99849] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
@ 2021-03-31 15:21 ` marxin at gcc dot gnu.org
2021-03-31 15:28 ` marxin at gcc dot gnu.org
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-31 15:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2021-03-31
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug lto/99849] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
2021-03-31 15:21 ` [Bug lto/99849] " marxin at gcc dot gnu.org
@ 2021-03-31 15:28 ` marxin at gcc dot gnu.org
2021-04-01 6:56 ` rguenth at gcc dot gnu.org
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-03-31 15:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
There's a backtrace:
(gdb) p exp
$1 = (tree) 0x7ffff77ddea0
(gdb) p debug_tree(exp)
<compound_literal_expr 0x7ffff77ddea0
type <record_type 0x7ffff73e0930 uverbs_obj_idr_type readonly DI
size <integer_cst 0x7ffff75e1bb8 constant 64>
unit-size <integer_cst 0x7ffff75e1bd0 constant 8>
align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7ffff73e0d20
fields <field_decl 0x7ffff73e34c0 type type <record_type 0x7ffff73e0c78
uverbs_obj_type>
DI a.i:14:26 size <integer_cst 0x7ffff75e1bb8 64> unit-size
<integer_cst 0x7ffff75e1bd0 8>
align:64 warn_if_not_align:0 offset_align 128
offset <integer_cst 0x7ffff75e1be8 constant 0>
bit-offset <integer_cst 0x7ffff75e1c30 constant 0> context
<record_type 0x7ffff73e0888 uverbs_obj_idr_type>> context
<translation_unit_decl 0x7ffff75ec168 a.i>
pointer_to_this <pointer_type 0x7ffff73e8000>>
side-effects addressable
arg:0 <decl_expr 0x7ffff77dde80
type <void_type 0x7ffff75f6f18 void VOID
align:8 warn_if_not_align:0 symtab:0 alias-set -1
structural-equality
pointer_to_this <pointer_type 0x7ffff75fd000>>
side-effects
arg:0 <var_decl 0x7ffff73e7000 __compound_literal.0 type <record_type
0x7ffff73e0930 uverbs_obj_idr_type>
readonly addressable public ignored external DI a.i:26:42 size
<integer_cst 0x7ffff75e1bb8 64> unit-size <integer_cst 0x7ffff75e1bd0 8>
align:64 warn_if_not_align:0 context <translation_unit_decl
0x7ffff75ec168 a.i> initial <constructor 0x7ffff73d7978>
(mem/u/c:DI (symbol_ref:DI ("__compound_literal.0.lto_priv.0")
[flags 0x42] <var_decl 0x7ffff73e7000 __compound_literal.0>) [7
__compound_literal.0+0 S8 A64])>
a.i:26:42 start: a.i:26:42 finish: a.i:26:42>
a.i:26:71 start: a.i:26:71 finish: a.i:26:71>
$2 = void
(gdb) bt
#0 expand_expr_real_1 (exp=0x7ffff77ddea0, target=0x0, tmode=E_DImode,
modifier=EXPAND_INITIALIZER, alt_rtl=0x0, inner_reference_p=false) at
/home/marxin/Programming/gcc/gcc/expr.c:11556
#1 0x00000000009e9a73 in expand_expr_real (exp=0x7ffff77ddea0, target=0x0,
tmode=E_DImode, modifier=EXPAND_INITIALIZER, alt_rtl=0x0,
inner_reference_p=false) at /home/marxin/Programming/gcc/gcc/expr.c:8519
#2 0x00000000009c5d42 in expand_expr (exp=0x7ffff77ddea0, target=0x0,
mode=E_DImode, modifier=EXPAND_INITIALIZER) at
/home/marxin/Programming/gcc/gcc/expr.h:282
#3 0x00000000009e8aa2 in expand_expr_addr_expr_1 (exp=0x7ffff77ddea0,
target=0x0, tmode=..., modifier=EXPAND_INITIALIZER, as=0 '\000') at
/home/marxin/Programming/gcc/gcc/expr.c:8223
#4 0x00000000009e8fc0 in expand_expr_addr_expr_1 (exp=0x7ffff73fe7b0,
target=0x0, tmode=..., modifier=EXPAND_INITIALIZER, as=0 '\000') at
/home/marxin/Programming/gcc/gcc/expr.c:8269
#5 0x00000000009e94e1 in expand_expr_addr_expr (exp=0x7ffff77ddec0,
target=0x0, tmode=E_DImode, modifier=EXPAND_INITIALIZER) at
/home/marxin/Programming/gcc/gcc/expr.c:8344
#6 0x00000000009f88ed in expand_expr_real_1 (exp=0x7ffff77ddec0, target=0x0,
tmode=E_VOIDmode, modifier=EXPAND_INITIALIZER, alt_rtl=0x0,
inner_reference_p=false) at /home/marxin/Programming/gcc/gcc/expr.c:11513
#7 0x00000000009e9a73 in expand_expr_real (exp=0x7ffff77ddec0, target=0x0,
tmode=E_VOIDmode, modifier=EXPAND_INITIALIZER, alt_rtl=0x0,
inner_reference_p=false) at /home/marxin/Programming/gcc/gcc/expr.c:8519
#8 0x00000000010b3dcc in expand_expr (modifier=EXPAND_INITIALIZER,
mode=E_VOIDmode, target=0x0, exp=0x7ffff77ddec0) at
/home/marxin/Programming/gcc/gcc/expr.h:282
#9 output_constant (exp=0x7ffff77ddec0, size=8, align=64, reverse=<optimized
out>, merge_strings=<optimized out>) at
/home/marxin/Programming/gcc/gcc/varasm.c:5240
#10 0x00000000010b2e1e in output_constant (merge_strings=false, reverse=false,
align=64, size=<optimized out>, exp=0x7ffff77ddec0) at
/home/marxin/Programming/gcc/gcc/varasm.c:5529
#11 output_constructor_regular_field (local=<synthetic pointer>) at
/home/marxin/Programming/gcc/gcc/varasm.c:5529
#12 output_constructor (exp=0x7ffff74022e8, size=8, align=64,
reverse=<optimized out>, outer=0x0) at
/home/marxin/Programming/gcc/gcc/varasm.c:5796
#13 0x00000000010b4804 in output_constant (merge_strings=false, reverse=false,
align=64, size=<optimized out>, exp=<optimized out>) at
/home/marxin/Programming/gcc/gcc/varasm.c:5148
#14 assemble_variable_contents (decl=0x7ffff7fbef30, name=<optimized out>,
dont_output_data=<optimized out>, merge_strings=<optimized out>) at
/home/marxin/Programming/gcc/gcc/varasm.c:2211
#15 0x00000000010ba145 in assemble_variable (decl=0x7ffff7fbef30,
top_level=<optimized out>, at_end=<optimized out>, dont_output_data=0) at
/home/marxin/Programming/gcc/gcc/varasm.c:2390
#16 0x00000000010bde4a in varpool_node::assemble_decl (this=0x7ffff73eb380) at
/home/marxin/Programming/gcc/gcc/varpool.c:595
#17 varpool_node::assemble_decl (this=0x7ffff73eb380) at
/home/marxin/Programming/gcc/gcc/varpool.c:563
#18 0x00000000010be971 in symbol_table::output_variables
(this=this@entry=0x7ffff75e5000) at
/home/marxin/Programming/gcc/gcc/varpool.c:761
#19 0x00000000008ede77 in symbol_table::compile (this=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2361
#20 symbol_table::compile (this=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2269
#21 0x0000000000836bc5 in lto_main () at
/home/marxin/Programming/gcc/gcc/lto/lto.c:653
#22 0x0000000000d7076e in compile_file () at
/home/marxin/Programming/gcc/gcc/toplev.c:457
#23 0x000000000080e537 in do_compile () at
/home/marxin/Programming/gcc/gcc/toplev.c:2201
#24 toplev::main (this=this@entry=0x7fffffffdcee, argc=<optimized out>,
argc@entry=18, argv=<optimized out>, argv@entry=0x7fffffffddf8) at
/home/marxin/Programming/gcc/gcc/toplev.c:2340
#25 0x0000000000811105 in main (argc=18, argv=0x7fffffffddf8) at
/home/marxin/Programming/gcc/gcc/main.c:39
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug lto/99849] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
2021-03-31 15:21 ` [Bug lto/99849] " marxin at gcc dot gnu.org
2021-03-31 15:28 ` marxin at gcc dot gnu.org
@ 2021-04-01 6:56 ` rguenth at gcc dot gnu.org
2021-04-09 15:05 ` [Bug lto/99849] [8/9/10/11 Regression] " jakub at gcc dot gnu.org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2021-04-01 6:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
We're outputting the initializer of mlx5_ib_object_MLX5_IB_OBJECT_VAR which
looks like
{.cleanup=&<<< Unknown tree: compound_literal_expr
extern const struct uverbs_obj_idr_type __compound_literal.0 =
{.type={.type_class=&uverbs_idr_class}}; >>>.type}
The DECL_RTL of the COMPOUND_LITERAL_EXPR_DECL decl is
(mem/u/c:DI (symbol_ref:DI ("__compound_literal.0.lto_priv.0") [flags 0x42]
<var_decl 0x7ffff637a000 __compound_literal.0>) [7 __compound_literal.0+0 S8
A64])
The issue is that while we handle ADDR_EXPR of COMPOUND_LITERAL_EXPR specially
in a lot of places here we have it wrapped in a COMPONENT_REF.
It somehow feels that some lowering is missing - it would be interesting to
trace the non-LTO compile of this initializer.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug lto/99849] [8/9/10/11 Regression] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
` (2 preceding siblings ...)
2021-04-01 6:56 ` rguenth at gcc dot gnu.org
@ 2021-04-09 15:05 ` jakub at gcc dot gnu.org
2021-04-09 15:22 ` jakub at gcc dot gnu.org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-09 15:05 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |8.5
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug lto/99849] [8/9/10/11 Regression] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
` (3 preceding siblings ...)
2021-04-09 15:05 ` [Bug lto/99849] [8/9/10/11 Regression] " jakub at gcc dot gnu.org
@ 2021-04-09 15:22 ` jakub at gcc dot gnu.org
2021-04-10 10:49 ` cvs-commit at gcc dot gnu.org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-09 15:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |jakub at gcc dot gnu.org
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 50540
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50540&action=edit
gcc11-pr99849.patch
Untested fix.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug lto/99849] [8/9/10/11 Regression] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
` (4 preceding siblings ...)
2021-04-09 15:22 ` jakub at gcc dot gnu.org
@ 2021-04-10 10:49 ` cvs-commit at gcc dot gnu.org
2021-04-10 10:51 ` [Bug lto/99849] [8/9/10 " jakub at gcc dot gnu.org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-10 10:49 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:22aede7a1228617661105048a91fddd8797e141b
commit r11-8108-g22aede7a1228617661105048a91fddd8797e141b
Author: Jakub Jelinek <jakub@redhat.com>
Date: Sat Apr 10 12:49:01 2021 +0200
expand: Fix up LTO ICE with COMPOUND_LITERAL_EXPR [PR99849]
The gimplifier optimizes away COMPOUND_LITERAL_EXPRs, but they can remain
in the form of ADDR_EXPR of COMPOUND_LITERAL_EXPRs in static initializers.
By the TREE_STATIC check I meant to check that the underlying decl of
the compound literal is a global rather than automatic variable which
obviously can't be referenced in static initializers, but unfortunately
with LTO it might end up in another partition and thus be DECL_EXTERNAL
instead.
2021-04-10 Jakub Jelinek <jakub@redhat.com>
PR lto/99849
* expr.c (expand_expr_addr_expr_1): Test is_global_var rather than
just TREE_STATIC on COMPOUND_LITERAL_EXPR_DECLs.
* gcc.dg/lto/pr99849_0.c: New test.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug lto/99849] [8/9/10 Regression] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
` (5 preceding siblings ...)
2021-04-10 10:49 ` cvs-commit at gcc dot gnu.org
@ 2021-04-10 10:51 ` jakub at gcc dot gnu.org
2021-04-20 9:45 ` cvs-commit at gcc dot gnu.org
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-10 10:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[8/9/10/11 Regression] ICE |[8/9/10 Regression] ICE in
|in expand_expr_real_1, at |expand_expr_real_1, at
|expr.c:11556 since |expr.c:11556 since
|r5-5407-g30d5d8c5189064c8 |r5-5407-g30d5d8c5189064c8
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed on the trunk so far.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug lto/99849] [8/9/10 Regression] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
` (6 preceding siblings ...)
2021-04-10 10:51 ` [Bug lto/99849] [8/9/10 " jakub at gcc dot gnu.org
@ 2021-04-20 9:45 ` cvs-commit at gcc dot gnu.org
2021-04-20 9:51 ` [Bug lto/99849] [8/9 " jakub at gcc dot gnu.org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-20 9:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:2e57bc7eedb084869d17fe07b538d907b8fee819
commit r10-9724-g2e57bc7eedb084869d17fe07b538d907b8fee819
Author: Jakub Jelinek <jakub@redhat.com>
Date: Sat Apr 10 12:49:01 2021 +0200
expand: Fix up LTO ICE with COMPOUND_LITERAL_EXPR [PR99849]
The gimplifier optimizes away COMPOUND_LITERAL_EXPRs, but they can remain
in the form of ADDR_EXPR of COMPOUND_LITERAL_EXPRs in static initializers.
By the TREE_STATIC check I meant to check that the underlying decl of
the compound literal is a global rather than automatic variable which
obviously can't be referenced in static initializers, but unfortunately
with LTO it might end up in another partition and thus be DECL_EXTERNAL
instead.
2021-04-10 Jakub Jelinek <jakub@redhat.com>
PR lto/99849
* expr.c (expand_expr_addr_expr_1): Test is_global_var rather than
just TREE_STATIC on COMPOUND_LITERAL_EXPR_DECLs.
* gcc.dg/lto/pr99849_0.c: New test.
(cherry picked from commit 22aede7a1228617661105048a91fddd8797e141b)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug lto/99849] [8/9 Regression] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
` (7 preceding siblings ...)
2021-04-20 9:45 ` cvs-commit at gcc dot gnu.org
@ 2021-04-20 9:51 ` jakub at gcc dot gnu.org
2021-04-20 23:34 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-20 9:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[8/9/10 Regression] ICE in |[8/9 Regression] ICE in
|expand_expr_real_1, at |expand_expr_real_1, at
|expr.c:11556 since |expr.c:11556 since
|r5-5407-g30d5d8c5189064c8 |r5-5407-g30d5d8c5189064c8
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed for 10.4 too.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug lto/99849] [8/9 Regression] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
` (8 preceding siblings ...)
2021-04-20 9:51 ` [Bug lto/99849] [8/9 " jakub at gcc dot gnu.org
@ 2021-04-20 23:34 ` cvs-commit at gcc dot gnu.org
2021-04-22 16:52 ` cvs-commit at gcc dot gnu.org
2021-04-22 17:11 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-20 23:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:49a7e7d0fc5fcc28ed13b6d67faf99a5dfe03f65
commit r9-9443-g49a7e7d0fc5fcc28ed13b6d67faf99a5dfe03f65
Author: Jakub Jelinek <jakub@redhat.com>
Date: Sat Apr 10 12:49:01 2021 +0200
expand: Fix up LTO ICE with COMPOUND_LITERAL_EXPR [PR99849]
The gimplifier optimizes away COMPOUND_LITERAL_EXPRs, but they can remain
in the form of ADDR_EXPR of COMPOUND_LITERAL_EXPRs in static initializers.
By the TREE_STATIC check I meant to check that the underlying decl of
the compound literal is a global rather than automatic variable which
obviously can't be referenced in static initializers, but unfortunately
with LTO it might end up in another partition and thus be DECL_EXTERNAL
instead.
2021-04-10 Jakub Jelinek <jakub@redhat.com>
PR lto/99849
* expr.c (expand_expr_addr_expr_1): Test is_global_var rather than
just TREE_STATIC on COMPOUND_LITERAL_EXPR_DECLs.
* gcc.dg/lto/pr99849_0.c: New test.
(cherry picked from commit 2e57bc7eedb084869d17fe07b538d907b8fee819)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug lto/99849] [8/9 Regression] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
` (9 preceding siblings ...)
2021-04-20 23:34 ` cvs-commit at gcc dot gnu.org
@ 2021-04-22 16:52 ` cvs-commit at gcc dot gnu.org
2021-04-22 17:11 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-22 16:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:467011a53a24c81628cce46d326574a9f32c374f
commit r8-10906-g467011a53a24c81628cce46d326574a9f32c374f
Author: Jakub Jelinek <jakub@redhat.com>
Date: Sat Apr 10 12:49:01 2021 +0200
expand: Fix up LTO ICE with COMPOUND_LITERAL_EXPR [PR99849]
The gimplifier optimizes away COMPOUND_LITERAL_EXPRs, but they can remain
in the form of ADDR_EXPR of COMPOUND_LITERAL_EXPRs in static initializers.
By the TREE_STATIC check I meant to check that the underlying decl of
the compound literal is a global rather than automatic variable which
obviously can't be referenced in static initializers, but unfortunately
with LTO it might end up in another partition and thus be DECL_EXTERNAL
instead.
2021-04-10 Jakub Jelinek <jakub@redhat.com>
PR lto/99849
* expr.c (expand_expr_addr_expr_1): Test is_global_var rather than
just TREE_STATIC on COMPOUND_LITERAL_EXPR_DECLs.
* gcc.dg/lto/pr99849_0.c: New test.
(cherry picked from commit 2e57bc7eedb084869d17fe07b538d907b8fee819)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug lto/99849] [8/9 Regression] ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8
2021-03-31 15:21 [Bug lto/99849] New: ICE in expand_expr_real_1, at expr.c:11556 since r5-5407-g30d5d8c5189064c8 marxin at gcc dot gnu.org
` (10 preceding siblings ...)
2021-04-22 16:52 ` cvs-commit at gcc dot gnu.org
@ 2021-04-22 17:11 ` jakub at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: jakub at gcc dot gnu.org @ 2021-04-22 17:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99849
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed.
^ permalink raw reply [flat|nested] 13+ messages in thread