https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88902
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|lto, needs-bisection | Component|lto |fortran --- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> --- So the FE creates an identifier node: $ (gdb) p debug_tree((tree_node *) 0x7ffff6d340c8) <identifier_node 0x7ffff6d340c8 (null)> which is then removed by GGC: Old value = IDENTIFIER_NODE New value = 2779096485 __memset_avx2_unaligned_erms () at ../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S:166 166 VZEROUPPER (gdb) bt #0 __memset_avx2_unaligned_erms () at ../sysdeps/x86_64/multiarch/memset-vec-unaligned-erms.S:166 #1 0x000000000098f8f5 in poison_pages () at ../../gcc/ggc-page.c:2113 #2 0x000000000098fa79 in ggc_collect () at ../../gcc/ggc-page.c:2208 #3 0x0000000000e66c14 in execute_one_pass (pass=<opt_pass* 0x2826790 "omplower"(12)>) at ../../gcc/passes.c:2479 #4 0x0000000000e66c6a in execute_pass_list_1 (pass=<opt_pass* 0x2826790 "omplower"(12)>) at ../../gcc/passes.c:2494 #5 0x0000000000e66cf3 in execute_pass_list (fn=0x7ffff6d35000, pass=<opt_pass* 0x2803b80 "*warn_unused_result"(-1)>) at ../../gcc/passes.c:2505 #6 0x0000000000a42c3b in cgraph_node::analyze (this=<cgraph_node* 0x7ffff6d3b000 "reverse">) at ../../gcc/cgraphunit.c:637 #7 0x0000000000a4448d in analyze_functions (first_time=true) at ../../gcc/cgraphunit.c:1087 #8 0x0000000000a48d6c in symbol_table::finalize_compilation_unit (this=0x7ffff6b56100) at ../../gcc/cgraphunit.c:2562 #9 0x0000000000f8b7ee in compile_file () at ../../gcc/toplev.c:488 #10 0x0000000000f8dcf1 in do_compile () at ../../gcc/toplev.c:1983 #11 0x0000000000f8dfce in toplev::main (this=0x7fffffffd9de, argc=16, argv=0x7fffffffdad8) at ../../gcc/toplev.c:2117 #12 0x0000000001b75230 in main (argc=16, argv=0x7fffffffdad8) at ../../gcc/main.c:39 So the tree is somehow lost.