+
+/*
+ figure out how to find out the current function name, this is compiler and language dependent
+*/
+#if !defined(NOBUG_FUNC) && defined(__STDC_VERSION__)
+/* C99 defines __func__ */
+# if __STDC_VERSION__ >= 199901L
+# define NOBUG_FUNC __func__
+# endif
+#endif
+
+#if !defined(NOBUG_FUNC) && defined(__GNUC__)
+/* the gnu compiler (since 2.x) defines __FUNCTION__ */
+# if __GNUC__ >= 2
+# define NOBUG_FUNC __FUNCTION__
+# endif
+#endif
+
+#if !defined(NOBUG_FUNC) && defined(__SUNPRO_C)
+/* the sun C compiler defines __FUNCTION__, the version is determined by a sochastic test, please report! */
+# if __SUNPRO_C >= 0x5100
+# define NOBUG_FUNC __FUNCTION__
+# endif
+#endif
+
+/* add more heuristics here... */
+
+/* finally a fallback when nothing found */
+#ifndef NOBUG_FUNC
+# define NOBUG_FUNC "-"
+#endif
+
+