mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01:00
Make G_STRFUNC consistent across platforms
Recent versions of clang have changed __PRETTY_FUNCTION__ to always include the function signature (rather than including the function signature in C++ but not in C like gcc does). This causes G_STRFUNC to give different results under clang and gcc, causing some tests with g_test_expect_messages() to fail. Fix this by only using __PRETTY_FUNCTION__ in C++, and using __FUNCTION__ in C. (Under gcc this change has no effect.) https://bugzilla.gnome.org/show_bug.cgi?id=702147
This commit is contained in:
parent
a3182e3b9a
commit
b7b3838401
@ -174,11 +174,11 @@
|
||||
#endif
|
||||
|
||||
/* Provide a string identifying the current function, non-concatenatable */
|
||||
#if defined (__GNUC__)
|
||||
#if defined (__GNUC__) && defined (__cplusplus)
|
||||
# define G_STRFUNC ((const char*) (__PRETTY_FUNCTION__))
|
||||
#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 19901L
|
||||
# define G_STRFUNC ((const char*) (__func__))
|
||||
#elif defined(_MSC_VER) && (_MSC_VER > 1300)
|
||||
#elif defined (__GNUC__) || (defined(_MSC_VER) && (_MSC_VER > 1300))
|
||||
# define G_STRFUNC ((const char*) (__FUNCTION__))
|
||||
#else
|
||||
# define G_STRFUNC ((const char*) ("???"))
|
||||
|
Loading…
Reference in New Issue
Block a user