Fixed bug (found by Yan): replaced GNU extension __PRETTY_FUNCTION__ by __FUNCTION...
authorJoris Mooij <j.mooij@cs.ru.nl>
Tue, 8 May 2012 14:44:35 +0000 (16:44 +0200)
committerJoris Mooij <j.mooij@cs.ru.nl>
Tue, 8 May 2012 14:44:35 +0000 (16:44 +0200)
ChangeLog
include/dai/exceptions.h

index 9e422a0..90ef64c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 git master
 ----------
+* Fixed bug (found by Yan): replaced GNU extension __PRETTY_FUNCTION__ by __FUNCTION (Visual Studio) or __func__ (other compilers)
 * Fixed bug (found by cax): when building MatLab MEX files, GMP libraries were not linked
 * [Arman Aksoy] Added Makefile.MACOSX64
 * Fixed bug in findMaximum (it only considered a single connected component of the factor graph)
index 2f4e7b0..fbe3ef4 100644 (file)
  *  DAI_THROW(NOT_IMPLEMENTED);
  *  \endcode
  */
-#define DAI_THROW(cod) throw dai::Exception(dai::Exception::cod, __FILE__, __PRETTY_FUNCTION__, DAI_TOSTRING(__LINE__), "")
+#if defined __GNUG__ // GNU C++
+  #define FUNCTION_NAME __PRETTY_FUNCTION__
+#elif defined _MSC_VER // Visual Studio
+  #define FUNCTION_NAME __FUNCTION__
+#else // other compilers
+  #define FUNCTION_NAME __func__
+#endif
+#define DAI_THROW(cod) throw dai::Exception(dai::Exception::cod, __FILE__, FUNCTION_NAME, DAI_TOSTRING(__LINE__), "")
 
 /// Macro that simplifies throwing an exception with a user-defined error message.
 /** \param cod Corresponds to one of the enum values of dai::Exception::Code