aboutsummaryrefslogtreecommitdiff
path: root/gdbsupport
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@polymtl.ca>2021-11-12 21:12:00 -0500
committerSimon Marchi <simon.marchi@polymtl.ca>2021-11-16 15:37:00 -0500
commit830070c66d25e6749b7159009f1d87d85f02eaa3 (patch)
tree124d4d830112e4ffb121b3cefa4e1f2335fcd259 /gdbsupport
parent8579fd136a614985bd27f20539c7bb7c5a51287d (diff)
downloadbinutils-830070c66d25e6749b7159009f1d87d85f02eaa3.zip
binutils-830070c66d25e6749b7159009f1d87d85f02eaa3.tar.gz
binutils-830070c66d25e6749b7159009f1d87d85f02eaa3.tar.bz2
gdbsupport: remove FUNCTION_NAME
__func__ is standard C++11: https://en.cppreference.com/w/cpp/language/function Also, in C++11, __func__ expands to the demangled function name, so the mention in the comment above FUNCTION_NAME doesn't apply anymore. Finally, in places where FUNCTION_NAME is used, I think it's enough to print the function name, no need to print the whole signature. Therefore, I propose to just remove FUNCTION_NAME and update users to use the standard __func__. Change-Id: I778f28155422b044402442dc18d42d0cded1017d
Diffstat (limited to 'gdbsupport')
-rw-r--r--gdbsupport/common-utils.h20
-rw-r--r--gdbsupport/gdb_assert.h15
2 files changed, 2 insertions, 33 deletions
diff --git a/gdbsupport/common-utils.h b/gdbsupport/common-utils.h
index 1e90a5c..af07847 100644
--- a/gdbsupport/common-utils.h
+++ b/gdbsupport/common-utils.h
@@ -24,27 +24,7 @@
#include <vector>
#include "gdbsupport/byte-vector.h"
#include "gdbsupport/gdb_unique_ptr.h"
-
#include "poison.h"
-
-/* If possible, define FUNCTION_NAME, a macro containing the name of
- the function being defined. Since this macro may not always be
- defined, all uses must be protected by appropriate macro definition
- checks (Eg: "#ifdef FUNCTION_NAME").
-
- Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__'
- which contains the name of the function currently being defined.
- This is broken in G++ before version 2.6.
- C9x has a similar variable called __func__, but prefer the GCC one since
- it demangles C++ function names. */
-#if (GCC_VERSION >= 2004)
-#define FUNCTION_NAME __PRETTY_FUNCTION__
-#else
-#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
-#define FUNCTION_NAME __func__ /* ARI: func */
-#endif
-#endif
-
#include "gdb_string_view.h"
/* xmalloc(), xrealloc() and xcalloc() have already been declared in
diff --git a/gdbsupport/gdb_assert.h b/gdbsupport/gdb_assert.h
index 00553a7..bc8ad7b 100644
--- a/gdbsupport/gdb_assert.h
+++ b/gdbsupport/gdb_assert.h
@@ -33,29 +33,18 @@
#define gdb_assert(expr) \
((void) ((expr) ? 0 : \
- (gdb_assert_fail (#expr, __FILE__, __LINE__, FUNCTION_NAME), 0)))
+ (gdb_assert_fail (#expr, __FILE__, __LINE__, __func__), 0)))
/* This prints an "Assertion failed" message, asking the user if they
want to continue, dump core, or just exit. */
-#if defined (FUNCTION_NAME)
#define gdb_assert_fail(assertion, file, line, function) \
internal_error (file, line, _("%s: Assertion `%s' failed."), \
function, assertion)
-#else
-#define gdb_assert_fail(assertion, file, line, function) \
- internal_error (file, line, _("Assertion `%s' failed."), \
- assertion)
-#endif
/* The canonical form of gdb_assert (0).
MESSAGE is a string to include in the error message. */
-#if defined (FUNCTION_NAME)
-#define gdb_assert_not_reached(message) \
- internal_error (__FILE__, __LINE__, "%s: %s", FUNCTION_NAME, _(message))
-#else
#define gdb_assert_not_reached(message) \
- internal_error (__FILE__, __LINE__, _(message))
-#endif
+ internal_error (__FILE__, __LINE__, "%s: %s", __func__, _(message))
#endif /* COMMON_GDB_ASSERT_H */