Thanks!
Can't hang about today, so I'll probably be offline when you read this...
I also think that the problem lies in StormC implementation. I have catalogued some serious problems with StormC v3 over the time I have been using it. For example, my major gripes are
1. Broken function template instansation, eg
int MyFunc(X a, Y b)
{
//....
}
int main()
{
int x = MyFunc(2, 1.7);
return x;
}
will crash the compiler :-o
2. Allocation of arrays of polymorphic objects using new [] sometimes fails to call the default constructor for all but the first element. Jeez! Had to write a global template New() function ( and corresponding Delete()) ) for this that uses placement operator new to construct each member correctly. Later discovered that an expression such as
MYPOLYCLASS *p = new MYPOLYCLASS[16]();
works in all cases I tested. However, other compilers (eg Watcom under Windoze) gripe about the above syntax. After all there are parameterized versions of new[] ().
3. You can take the address of a non-static member function of a class without an object. Dangerous! Doesn't even give a warning :roll:
4. Lots more small deviations from the recommended standard.
Back to the point, coI'm really not surprised if the exception handling mechanism is botched. My THREAD class encapsulates a dos Process such that it is IO capable. Haven't tried using a basic exec Task instead. I'll give it a go later.
Anyway, I'm quite tempted to move to GCC, but have to confess I'm spoiled after using Storms IDE.
Well, thanks again for the advice and good hunting :-)