------- Comment #5 from pinskia at gmail dot com 2008-11-14 18:02 ------- Subject: Re: gcc source contains a struct with no data members (actually 1 byte in size) and compiler does not initialize it, resulting in IBM Rational Purify reporting an Uninitialized Memory Read.
Sent from my iPhone On Nov 14, 2008, at 9:05 AM, "efinger at us dot ibm dot com" <[EMAIL PROTECTED] > wrote: > > > ------- Comment #4 from efinger at us dot ibm dot com 2008-11-14 > 17:05 ------- > (In reply to comment #2) >> There are going to be other holes in structs in general due to >> alignment >> requirements and I don't think the compiler or libstdc++ should >> change to this >> because it will slow down the generated code and not really makes a >> difference >> in the outcome of the code. > > Purify already handles pad bytes added for alignment correctly. > This is a very > specific case, where the pad byte is added to prevent the struct > from having > size zero, not for alignment. The added code to clear 1 byte, at > object > constuction time, would not make any significant performance > difference. But it can cause code bloat which can cause performance issues because of icache sizes and such. > > > > -- > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38107 > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38107