Seemingly, the patch which caused this made it now to GCC 10; at least it fails now with offloading on the OG10 branch, after merging the trunk into that branch.
Hence, I committed this to GCC 10 to avoid this ICE. It occurs here for libgomp.c/../libgomp.c-c++-common/reduction-16.c when compiling with '-fopenmp' for offloading (when offloading is configured). Committed my patch as obvious :-) I also merged GCC 10 into OG10 to have it there as well. Tobias ----------------- Mentor Graphics (Deutschland) GmbH, Arnulfstraße 201, 80634 München / Germany Registergericht München HRB 106955, Geschäftsführer: Thomas Heurung, Alexander Walter
commit 2974c828615b240f66b208301b5a73c6a07fcb22 Author: Tobias Burnus <tob...@codesourcery.com> Date: Tue May 26 18:24:28 2020 +0200 [LTO/offloading] Fix offloading-compilation ICE without -flto (PR84320) gcc/ChangeLog: PR ipa/95320 * ipa-utils.h (odr_type_p): Also permit calls with only flag_generate_offload set. (cherry picked from commit c5ab336ba106a407a67e84d8faac5b0ea6f18310) diff --git a/gcc/ipa-utils.h b/gcc/ipa-utils.h index 6597593d138..178c2cbe446 100644 --- a/gcc/ipa-utils.h +++ b/gcc/ipa-utils.h @@ -245,7 +245,7 @@ odr_type_p (const_tree t) { /* We do not have this information when not in LTO, but we do not need to care, since it is used only for type merging. */ - gcc_checking_assert (in_lto_p || flag_lto); + gcc_checking_assert (in_lto_p || flag_lto || flag_generate_offload); return TYPE_NAME (t) && TREE_CODE (TYPE_NAME (t)) == TYPE_DECL && DECL_ASSEMBLER_NAME_SET_P (TYPE_NAME (t)); }