Copy __FUNCTION__ portability #defines from mesa/compiler.h to eglcompiler.h
authorAlan Coopersmith <alan.coopersmith@sun.com>
Wed, 20 Jan 2010 03:02:13 +0000 (19:02 -0800)
committerChia-I Wu <olvaffe@gmail.com>
Wed, 20 Jan 2010 15:18:07 +0000 (23:18 +0800)
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
src/egl/main/eglcompiler.h

index 5a3fb49ac22b01a95bcea9f3d5c5b37055d9bef3..d844fbb0efb6c21140ba5deb90c1d49006ed972b 100644 (file)
 #  define PUBLIC
 #endif
 
+/**
+ * The __FUNCTION__ gcc variable is generally only used for debugging.
+ * If we're not using gcc, define __FUNCTION__ as a cpp symbol here.
+ * Don't define it if using a newer Windows compiler.
+ */
+#ifndef __FUNCTION__
+# if defined(__VMS)
+#  define __FUNCTION__ "VMS$NL:"
+# elif ((!defined __GNUC__) || (__GNUC__ < 2)) && (!defined __xlC__) && \
+      (!defined(_MSC_VER) || _MSC_VER < 1300)
+#  if (__STDC_VERSION__ >= 199901L) /* C99 */ || \
+    (defined(__SUNPRO_C) && defined(__C99FEATURES__))
+#   define __FUNCTION__ __func__
+#  else
+#   define __FUNCTION__ "<unknown>"
+#  endif
+# endif
+#endif
 
 #endif /* EGLCOMPILER_INCLUDED */