------- Comment #10 from rguenth at gcc dot gnu dot org 2010-08-25 12:36 ------- So the issue is that when we prime the streamer cache for lto-out we register the common type nodes (lto_record_common_node) which changes TYPE_CANONICAL in a way we don't like (it globs int and long int, or long int and long long int dependent on whether you are on 32bit or 64bit platforms). This is done to for example allow mixing of -f[un]signed-char units at link time.
I have a patch. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44562