The LTO partitioning code asserts that at most the first partition is empty (which should probably be also the last one). It works fine when other partitions are empty so there is no reason to barf on users when they run into such partitioning cases.
Thus, committed as obvious. Richard. 2011-03-31 Richard Guenther <rguent...@suse.de> PR lto/48246 * lto.c (lto_wpa_write_files): Disable assert for non-empty partitions when checking is not enabled. Index: gcc/lto/lto.c =================================================================== *** gcc/lto/lto.c (revision 171734) --- gcc/lto/lto.c (working copy) *************** lto_wpa_write_files (void) *** 1514,1521 **** fprintf (cgraph_dump_file, "varpool nodes:"); dump_varpool_node_set (cgraph_dump_file, vset); } ! gcc_assert (cgraph_node_set_nonempty_p (set) ! || varpool_node_set_nonempty_p (vset) || !i); lto_set_current_out_file (file); --- 1514,1521 ---- fprintf (cgraph_dump_file, "varpool nodes:"); dump_varpool_node_set (cgraph_dump_file, vset); } ! gcc_checking_assert (cgraph_node_set_nonempty_p (set) ! || varpool_node_set_nonempty_p (vset) || !i); lto_set_current_out_file (file);