With this code:
#include <stdio.h>
class MyClass {
public:
short int foo_ : 6;
};
int main(int argc, char *argv[]) {
MyClass *gce = new MyClass();
double d=0.0;
if (d == 0.0) {
printf("d equals zero.\n");
}
return 0;
}
I get this output from valgrind:
==32293== Conditional jump or move depends on uninitialised value(s)
==32293== at 0x804862F: main (main.cpp:11)
==32293== Uninitialised value was created by a heap allocation
==32293== at 0x400674E: operator new(unsigned int) (vg_replace_malloc.c:224)
==32293== by 0x8048610: main (main.cpp:9)
If I remove the : 6 from foo_, I don't get the error. Is this a valgrind bug?
Thanks,
David
------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users