[Bug debug/48333] -fcompare-debug failure (length) - "memmove" x "__builtin_memmove"

aoliva at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Mar 31 07:53:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48333

--- Comment #3 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2011-03-31 06:12:22 UTC ---
Created attachment 23832
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23832
Patch that fixes the bug

It's a garbage collection issue: we're supposed to share mem_attrs involving
__builtin and non-__builtin functions, and we do, unless GC manages to discard
mem_attrs at precisely the worst possible moment, and does so at only one of
the compilations, and we're unlucky to end up inserting a different one next
time it is required.

A more general solution would amount to checking for builtins at dump time, and
discarding the __builtin prefix or noting it as optional or somesuch, but I'm
testing this simpler and hopefully effective solution instead.



More information about the Gcc-bugs mailing list