See attached Files
description.txt the description
mem-1-bug.cc the source
return-bug.cc for the function 'simpleReturn"
Created attachment 7051 [details]
Created attachment 7052 [details]
Created attachment 7053 [details]
Invalid, because you break strict aliasing rules:
From this point, you access data of type unsigned as type Free. C++ says that
you cannot access an object (unsigned) through a lvalue of another object
(Free). This is allowed only with chars. I think changing data to char type
ought to work.
I have not studied in details the code, but writing a memory allocator is often
impossible without breaking the aliasing rules of C++. You may want to compile
that very file with -fno-strict-aliasing.
changing unsigned data to char data in
dont helps (program crashes only with -O3)
but compiling with
Reopening to ...
Mark as a dup of bug 21920.
*** This bug has been marked as a duplicate of 21920 ***