When compiling using GCCE supplied with 3rd ed SDK beta, I have noticed a few issues. Same code compiles & runs perfectly in emulator.
1. For some reason unknown to me, it compiles derived templated classes incorrectly. Say I have a template<class T> class Bar and template<class T> class Foo : public Bar<T>, the functions declared in Foo<T> do not see variables derived from Bar. Any ideas? If GCCE really has problems with these, it is a major issue.
2. It is included in the release notes that GCCE has "issues" with va_list macros. How to circumvent those issues? Having a large codebase with snprintf-like functions, it is quite a limitation not to have a standard ANSI C compliant compiler.
3. static_cast<> is not handled correctly and it gives just compilation errors. Changing static_cast to just C-like cast is a workaround.
4. GCCE does not seem to accept some ASCII characters in string literals, like °, »
5. On Metrowerks compiler, ? operator is sometimes compiled incorrectly. (a & b) == 0 ? false : true in some places always evaluates to false independent of a and b. Same thing noticed in earlier SDK's GCC, only if char * typed values are in the ? : part.