-/* TODO: add more compilers supporting __FUNCTION__ */
-#if !defined(__GNUC__) && \
- !(defined(_MSC_VER) && _MSC_VER >= 1300) && \
- !defined(__FUNCTION__)
- /* no __FUNCTION__ support, still define it to avoid #ifdefs elsewhere */
- #define __FUNCTION__ (NULL)
-#endif
+#ifndef __WXFUNCTION__
+ /* TODO: add more compilers supporting __FUNCTION__ */
+ #if defined(__DMC__)
+ /*
+ __FUNCTION__ happens to be not defined within class members
+ http://www.digitalmars.com/drn-bin/wwwnews?c%2B%2B.beta/485
+ */
+ #define __WXFUNCTION__ (NULL)
+ #elif defined(__GNUC__) || \
+ (defined(_MSC_VER) && _MSC_VER >= 1300) || \
+ defined(__FUNCTION__)
+ #define __WXFUNCTION__ __FUNCTION__
+ #else
+ /* still define __WXFUNCTION__ to avoid #ifdefs elsewhere */
+ #define __WXFUNCTION__ (NULL)
+ #endif
+#endif /* __WXFUNCTION__ already defined */