From: David L <id...@gm...> - 2009-05-14 05:09:37
|
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 |