Using Ice 3.2.0 on Linux RH3 and GCC 3.3.5, I've run into a problem related to the lack of member initialization in default constructors generated by the slice2cpp compiler. Attached is the test program; search for TODO to see what makes the test case succeed. Without explicit member initialization, the program throws the exception in AImpl::dispose() and valgrind says the following:
... Conditional jump or move depends on uninitialised value(s)
...
I'm not sure if this is a GCC compiler issue or not, but explicitly initializing the primitive member 'A::mFlags' solves the problem for me.
I have not tried to reproduce the problem with another compiler.

Reply With Quote
