This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug debug/48333] -fcompare-debug failure (length) - "memmove" x "__builtin_memmove"
- From: "aoliva at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 31 Mar 2011 06:12:38 +0000
- Subject: [Bug debug/48333] -fcompare-debug failure (length) - "memmove" x "__builtin_memmove"
- Auto-submitted: auto-generated
- References: <bug-48333-4@http.gcc.gnu.org/bugzilla/>
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.