https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65858
--- Comment #1 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Those two bugs seems to be caused by same issue. Unforutnately it is bit hard to guess what it is coming from - it seems that we manage to store error_mark_node into the LTO object file. If you can patch your GCC tree, the following (untested) patch should bring the ICE from link time to compile time making it easier to reproduce (I build chromium on x86_64 and did not see this crash) Index: lto-streamer-out.c =================================================================== --- lto-streamer-out.c (revision 222160) +++ lto-streamer-out.c (working copy) @@ -2149,6 +2149,7 @@ /* Output DECL_INITIAL for the function, which contains the tree of lexical scopes. */ stream_write_tree (ob, DECL_INITIAL (var), true); + gcc_assert (DECL_INITIAL (var) != error_mark_node); /* Create a section to hold the pickled output of this function. */ produce_asm (ob, var);