December 23, 2002
Walter

Just had another nasty - a crash rather than an ICE - which had an interesting cause. On earlier compilers, it compiled fine, but 8.31+ it was toast.

It was caused by an iterator class - a helper for a TREEVIEW-wrapping sequence class - that had previously relied on operator ==() and operator !=() being free functions. In making the code work for other compilers (notably Intel, GCC & Metrowerks) they required that the operators be changed to public const member functions. However, I forgot to remove the free functions. All other compilers (and previous versions of DMC++) happily ignored the free-functions, but 8.31+ was very cross.

Don't know if this is helpful, but thought I'd let you know. I would imagine you'd rather the compiler report an error (although I'm pretty sure it's not an error - it would seem like a pretty stern situation - albeit that it is a useless thing to have) than crash.

Matthew


December 24, 2002
I need a test case that causes the crash so I can fix it. Thanks, -Walter

"Matthew Wilson" <dmd@synesis.com.au> wrote in message news:au87l2$rgh$1@digitaldaemon.com...
> Walter
>
> Just had another nasty - a crash rather than an ICE - which had an interesting cause. On earlier compilers, it compiled fine, but 8.31+ it
was
> toast.
>
> It was caused by an iterator class - a helper for a TREEVIEW-wrapping sequence class - that had previously relied on operator ==() and operator !=() being free functions. In making the code work for other compilers (notably Intel, GCC & Metrowerks) they required that the operators be changed to public const member functions. However, I forgot to remove the free functions. All other compilers (and previous versions of DMC++)
happily
> ignored the free-functions, but 8.31+ was very cross.
>
> Don't know if this is helpful, but thought I'd let you know. I would
imagine
> you'd rather the compiler report an error (although I'm pretty sure it's
not
> an error - it would seem like a pretty stern situation - albeit that it is
a
> useless thing to have) than crash.
>
> Matthew
>
>