Try compiling this code with the Codewarrior Palm 9 command-line tools (which were a big selling point of the upgrade):
class CTest
{
public:
CTest( CNonExistentClass* obj )
{
};
virtual ~CTest ( )
{
};
};
This will cause mwc68k to crash with an access fault.
Update: On codewarrior.palm, Ben Combee (former Palm development lead at Metrowerks) confirmed the bug.
It seems the 9.3 command line compilers are totally borked. Metrowerks has known about it since at least February 2004. The 9.2 ones work. Except, of course, that the code generated by 9.0, 9.1 and 9.2 is completely unusable. In other words, Metrowerks never delivered one of their key features of Codewarrior Palm v9.
January 12th, 2005 at 9:22 pm
Stephen, I’m curious why you call the 9.2 68K code completely unusable. IIRC, there were two 68K code gen bug fixes in 9.3:
I’m really sorry that I messed up the error routines — that shouldn’t have happened, but we didn’t have tests of building bad code with the command line tools, just code gen tests for correctness.
I have talked to MWRon about this bug, BTW, but I don’t have access to the source or tools needed to fix this myself. The problem was a bad define in one of the compiler’s headers that made all the error message numbers off-by-lots, and it only affected the command line tools because those had error messages bound into the executable using a different mechanism than the plugin compiler.
March 3rd, 2005 at 12:15 am
You might be fair when you say it isn’t completely unusable. However, in my view, when I can’t trust a compiler to at least generate a warning when code might be invalid… well, trust is the first thing I require out of a compiler. I’d actually much rather have the crash.
August 13th, 2005 at 12:59 am
[...] So I finally worked up the courage to try to add scripted building to my project again. I originally wanted to use the command line tools, but that didn’t work. So I decided this time to try the IDE. [...]