diff mbox series

[10,committed] Backported: [LTO/offloading] Fix offloading-compilation ICE without -flto (PR84320)

Message ID 935d8c06-ca2d-f6fe-3da3-bf5f45bc5a68@codesourcery.com
State New
Headers show
Series [10,committed] Backported: [LTO/offloading] Fix offloading-compilation ICE without -flto (PR84320) | expand

Commit Message

Tobias Burnus Aug. 21, 2020, 3:17 p.m. UTC
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
diff mbox series

Patch

commit 2974c828615b240f66b208301b5a73c6a07fcb22
Author: Tobias Burnus <tobias@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));
 }