Assuming CW9.2 ever materializes from Metrowerks, it is supposed to have fixed Expanded Mode support. Most useful to me in Expanded Mode is the unrestricted use of virtual function calls that CW9.2's fixed Expanded Mode promises (well, almost unrestricted: so long as the virtual functions exist in the first segment). Without Expanded Mode, their use of globals causes virtual function calls to crash when made in the context of certain situations, e.g. launch code handlers. Unfortunately, I've found that the nature of classes one would design for instantiation during launch code handling have an affinity for virtual functions.
I am considering code portability of a new project at this point, and though I've never directly used gcc & its related tools, I am curious -- does gcc support something like Codewarrior 9.2's "Expanded Mode" in that one may call virtual functions w/o globals available? And does it actually work? If not, I am hesitant to leverage CW9.2's Expanded Mode so that I may use virtual functions in my design. The problem here is if my project ever were ported to gcc. A complete redesign of the abstract base classes would be in order so as to eliminate, or at least to mitigate, the use of virtual function calls that the concrete implementing class can make, in order to avoid nasty crashes during launch code handling. One shouldn't need to redesign a class hierarchy just to switch compilers, so I'm thinking of skipping, once again, the use of virtual functions in my design. Thanks for the bandwidth, -Jeff Ishaq -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
