* [PATCH] gdb, gdbserver, gdbsupport: use [[noreturn]] instead of ATTRIBUTE_NORETURN
@ 2024-07-16 20:02 Simon Marchi
2024-07-16 21:24 ` [PATCH] gdb, gdbserver, gdbsupport: use [noreturn] " Lancelot SIX
0 siblings, 1 reply; 3+ messages in thread
From: Simon Marchi @ 2024-07-16 20:02 UTC (permalink / raw)
To: gdb-patches; +Cc: Simon Marchi
C++ 11 has a built-in attribute for this, no need to use a compat macro.
Change-Id: I90e4220d26e8f3949d91761f8a13cd9c37da3875
---
gdb/command.h | 2 +-
gdb/dwarf2/loc.c | 2 +-
gdb/event-top.c | 2 +-
gdb/guile/guile-internal.h | 28 ++++++++++++++--------------
gdb/linespec.c | 8 ++++----
gdb/nat/aarch64-mte-linux-ptrace.c | 4 ++--
gdb/nat/fork-inferior.h | 7 +++----
gdb/nat/linux-namespaces.c | 2 +-
gdb/python/python-internal.h | 5 ++---
gdb/remote-sim.c | 3 +--
gdb/remote.c | 4 ++--
gdb/symtab.c | 2 +-
gdb/target.c | 4 ++--
gdb/target.h | 2 +-
gdb/tid-parse.c | 2 +-
gdb/tid-parse.h | 2 +-
gdb/top.h | 2 +-
gdb/utils.c | 2 +-
gdb/xml-support.c | 4 ++--
gdb/xml-support.h | 5 +++--
gdbserver/gdbreplay.cc | 2 +-
gdbserver/server.cc | 2 +-
gdbserver/utils.cc | 2 +-
gdbsupport/common-exceptions.cc | 2 +-
gdbsupport/common-exceptions.h | 27 +++++++++++++--------------
gdbsupport/errors.h | 28 +++++++++++++---------------
26 files changed, 75 insertions(+), 80 deletions(-)
diff --git a/gdb/command.h b/gdb/command.h
index 615f4e524aa9..0ceaf3e2a6dc 100644
--- a/gdb/command.h
+++ b/gdb/command.h
@@ -876,7 +876,7 @@ extern void cmd_show_list (struct cmd_list_element *, int);
/* Used everywhere whenever at least one parameter is required and
none is specified. */
-extern void error_no_arg (const char *) ATTRIBUTE_NORETURN;
+[[noreturn]] extern void error_no_arg (const char *);
/* Command line saving and repetition.
diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c
index 5fea6683575d..637c81f040e8 100644
--- a/gdb/dwarf2/loc.c
+++ b/gdb/dwarf2/loc.c
@@ -2253,7 +2253,7 @@ dwarf2_get_symbol_read_needs (gdb::array_view<const gdb_byte> expr,
/* A helper function that throws an unimplemented error mentioning a
given DWARF operator. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
unimplemented (unsigned int op)
{
const char *name = get_DW_OP_name (op);
diff --git a/gdb/event-top.c b/gdb/event-top.c
index b81970d11bb1..cdc7874b7fad 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -894,7 +894,7 @@ unblock_signal (int sig)
/* Called to handle fatal signals. SIG is the signal number. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
handle_fatal_signal (int sig)
{
#ifdef TUI
diff --git a/gdb/guile/guile-internal.h b/gdb/guile/guile-internal.h
index be16fee0dd25..dea788450888 100644
--- a/gdb/guile/guile-internal.h
+++ b/gdb/guile/guile-internal.h
@@ -326,32 +326,32 @@ extern SCM gdbscm_make_type_error (const char *subr, int arg_pos,
extern SCM gdbscm_make_invalid_object_error (const char *subr, int arg_pos,
SCM bad_value, const char *error);
-extern void gdbscm_invalid_object_error (const char *subr, int arg_pos,
- SCM bad_value, const char *error)
- ATTRIBUTE_NORETURN;
+[[noreturn]] extern void gdbscm_invalid_object_error (const char *subr,
+ int arg_pos,
+ SCM bad_value,
+ const char *error);
extern SCM gdbscm_make_out_of_range_error (const char *subr, int arg_pos,
SCM bad_value, const char *error);
-extern void gdbscm_out_of_range_error (const char *subr, int arg_pos,
- SCM bad_value, const char *error)
- ATTRIBUTE_NORETURN;
+[[noreturn]] extern void gdbscm_out_of_range_error (const char *subr,
+ int arg_pos, SCM bad_value,
+ const char *error);
extern SCM gdbscm_make_misc_error (const char *subr, int arg_pos,
SCM bad_value, const char *error);
-extern void gdbscm_misc_error (const char *subr, int arg_pos,
- SCM bad_value, const char *error)
- ATTRIBUTE_NORETURN;
+[[noreturn]] extern void gdbscm_misc_error (const char *subr, int arg_pos,
+ SCM bad_value, const char *error);
-extern void gdbscm_throw (SCM exception) ATTRIBUTE_NORETURN;
+[[noreturn]] extern void gdbscm_throw (SCM exception);
struct gdbscm_gdb_exception;
extern SCM gdbscm_scm_from_gdb_exception
(const gdbscm_gdb_exception &exception);
-extern void gdbscm_throw_gdb_exception (gdbscm_gdb_exception exception)
- ATTRIBUTE_NORETURN;
+[[noreturn]] extern void gdbscm_throw_gdb_exception
+ (gdbscm_gdb_exception exception);
extern void gdbscm_print_exception_with_stack (SCM port, SCM stack,
SCM key, SCM args);
@@ -368,8 +368,8 @@ extern excp_matcher_func gdbscm_user_error_p;
extern SCM gdbscm_make_memory_error (const char *subr, const char *msg,
SCM args);
-extern void gdbscm_memory_error (const char *subr, const char *msg, SCM args)
- ATTRIBUTE_NORETURN;
+[[noreturn]] extern void gdbscm_memory_error (const char *subr,
+ const char *msg, SCM args);
/* scm-safe-call.c */
diff --git a/gdb/linespec.c b/gdb/linespec.c
index eae4f9f44f07..9b0652c9967b 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -1544,7 +1544,7 @@ decode_line_2 (struct linespec_state *self,
/* Throw an appropriate error when SYMBOL is not found (optionally in
FILENAME). */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
symbol_not_found_error (const char *symbol, const char *filename)
{
if (symbol == NULL)
@@ -1586,7 +1586,7 @@ symbol_not_found_error (const char *symbol, const char *filename)
/* Throw an appropriate error when an unexpected token is encountered
in the input. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
unexpected_linespec_error (linespec_parser *parser)
{
linespec_token token;
@@ -1613,7 +1613,7 @@ unexpected_linespec_error (linespec_parser *parser)
/* Throw an undefined label error. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
undefined_label_error (const char *function, const char *label)
{
if (function != NULL)
@@ -1628,7 +1628,7 @@ undefined_label_error (const char *function, const char *label)
/* Throw a source file not found error. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
source_file_not_found_error (const char *name)
{
throw_error (NOT_FOUND_ERROR, _("No source file named %s."), name);
diff --git a/gdb/nat/aarch64-mte-linux-ptrace.c b/gdb/nat/aarch64-mte-linux-ptrace.c
index ace3e1880610..9e2a2ce1ab5e 100644
--- a/gdb/nat/aarch64-mte-linux-ptrace.c
+++ b/gdb/nat/aarch64-mte-linux-ptrace.c
@@ -31,7 +31,7 @@
/* Helper function to display various possible errors when reading
MTE tags. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
aarch64_mte_linux_peek_error (int error)
{
switch (error)
@@ -53,7 +53,7 @@ aarch64_mte_linux_peek_error (int error)
/* Helper function to display various possible errors when writing
MTE tags. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
aarch64_mte_linux_poke_error (int error)
{
switch (error)
diff --git a/gdb/nat/fork-inferior.h b/gdb/nat/fork-inferior.h
index f3e2f54b4e92..0fd42181ac71 100644
--- a/gdb/nat/fork-inferior.h
+++ b/gdb/nat/fork-inferior.h
@@ -84,13 +84,12 @@ extern void gdb_flush_out_err ();
/* Report an error that happened when starting to trace the inferior
(i.e., when the "traceme_fun" callback is called on fork_inferior)
and bail out. This function does not return. */
-extern void trace_start_error (const char *fmt, ...)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
+[[noreturn]] extern void trace_start_error (const char *fmt, ...)
+ ATTRIBUTE_PRINTF (1, 2);
/* Like "trace_start_error", but the error message is constructed by
combining STRING with the system error message for errno. This
function does not return. */
-extern void trace_start_error_with_name (const char *string)
- ATTRIBUTE_NORETURN;
+[[noreturn]] extern void trace_start_error_with_name (const char *string);
#endif /* NAT_FORK_INFERIOR_H */
diff --git a/gdb/nat/linux-namespaces.c b/gdb/nat/linux-namespaces.c
index 36a245c6a4cb..9abd3d689eac 100644
--- a/gdb/nat/linux-namespaces.c
+++ b/gdb/nat/linux-namespaces.c
@@ -548,7 +548,7 @@ mnsh_handle_readlink (int sock, const char *filename)
/* The helper process. Never returns. Must be async-signal-safe. */
-static void mnsh_main (int sock) ATTRIBUTE_NORETURN;
+[[noreturn]] static void mnsh_main (int sock);
static void
mnsh_main (int sock)
diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
index f25cd3b7d78f..5db308821f26 100644
--- a/gdb/python/python-internal.h
+++ b/gdb/python/python-internal.h
@@ -948,7 +948,7 @@ class gdbpy_gil
int gdbpy_print_python_errors_p (void);
void gdbpy_print_stack (void);
void gdbpy_print_stack_or_quit ();
-void gdbpy_handle_exception () ATTRIBUTE_NORETURN;
+[[noreturn]] void gdbpy_handle_exception ();
/* A wrapper around calling 'error'. Prefixes the error message with an
'Error occurred in Python' string. Use this in C++ code if we spot
@@ -958,8 +958,7 @@ void gdbpy_handle_exception () ATTRIBUTE_NORETURN;
This always calls error, and never returns. */
-void gdbpy_error (const char *fmt, ...)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
+[[noreturn]] void gdbpy_error (const char *fmt, ...) ATTRIBUTE_PRINTF (1, 2);
gdbpy_ref<> python_string_to_unicode (PyObject *obj);
gdb::unique_xmalloc_ptr<char> unicode_to_target_string (PyObject *unicode_str);
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index f92de6198891..67d3f4c8b1c1 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -69,8 +69,7 @@ static void gdb_os_vprintf_filtered (host_callback *, const char *, va_list);
static void gdb_os_evprintf_filtered (host_callback *, const char *, va_list);
-static void gdb_os_error (host_callback *, const char *, ...)
- ATTRIBUTE_NORETURN;
+[[noreturn]] static void gdb_os_error (host_callback *, const char *, ...);
/* Naming convention:
diff --git a/gdb/remote.c b/gdb/remote.c
index 5d2e251dd7d1..a3617e86a009 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -1539,7 +1539,7 @@ static void remote_console_output (const char *msg, ui_file *stream);
static void remote_btrace_reset (remote_state *rs);
-static void remote_unpush_and_throw (remote_target *target);
+[[noreturn]] static void remote_unpush_and_throw (remote_target *target);
/* For "remote". */
@@ -6150,7 +6150,7 @@ remote_unpush_target (remote_target *target)
fileio_handles_invalidate_target (target);
}
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
remote_unpush_and_throw (remote_target *target)
{
remote_unpush_target (target);
diff --git a/gdb/symtab.c b/gdb/symtab.c
index bb2fc049819c..9d1170375ded 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -2439,7 +2439,7 @@ lookup_symbol_in_objfile_from_linkage_name (struct objfile *objfile,
/* A helper function that throws an exception when a symbol was found
in a psymtab but not in a symtab. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
error_in_psymtab_expansion (enum block_enum block_index, const char *name,
struct compunit_symtab *cust)
{
diff --git a/gdb/target.c b/gdb/target.c
index 18027037d3bd..d23743729325 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -56,7 +56,7 @@
#include "cli/cli-decode.h"
#include "cli/cli-style.h"
-static void generic_tls_error (void) ATTRIBUTE_NORETURN;
+[[noreturn]] static void generic_tls_error (void);
static void default_rcmd (struct target_ops *, const char *, struct ui_file *);
@@ -64,7 +64,7 @@ static int default_verify_memory (struct target_ops *self,
const gdb_byte *data,
CORE_ADDR memaddr, ULONGEST size);
-static void tcomplain (void) ATTRIBUTE_NORETURN;
+[[noreturn]] static void tcomplain (void);
/* Mapping between target_info objects (which have address identity)
and corresponding open/factory function/callback. Each add_target
diff --git a/gdb/target.h b/gdb/target.h
index d0af584a2bb0..f1b97cfb7d32 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -2490,7 +2490,7 @@ extern int default_memory_insert_breakpoint (struct gdbarch *,
extern void initialize_targets (void);
-extern void noprocess (void) ATTRIBUTE_NORETURN;
+[[noreturn]] extern void noprocess (void);
extern void target_require_runnable (void);
diff --git a/gdb/tid-parse.c b/gdb/tid-parse.c
index 623f55e14b36..1b8f343f0800 100644
--- a/gdb/tid-parse.c
+++ b/gdb/tid-parse.c
@@ -24,7 +24,7 @@
/* See tid-parse.h. */
-void ATTRIBUTE_NORETURN
+[[noreturn]] void
invalid_thread_id_error (const char *string)
{
error (_("Invalid thread ID: %s"), string);
diff --git a/gdb/tid-parse.h b/gdb/tid-parse.h
index b7bd920f48a6..7bbdeabe85b9 100644
--- a/gdb/tid-parse.h
+++ b/gdb/tid-parse.h
@@ -26,7 +26,7 @@ struct thread_info;
/* Issue an invalid thread ID error, pointing at STRING, the invalid
ID. */
-extern void ATTRIBUTE_NORETURN invalid_thread_id_error (const char *string);
+[[noreturn]] extern void invalid_thread_id_error (const char *string);
/* Parse TIDSTR as a per-inferior thread ID, in either INF_NUM.THR_NUM
or THR_NUM form. In the latter case, the missing INF_NUM is filled
diff --git a/gdb/top.h b/gdb/top.h
index dc3f2aaf6141..b57cc3bd3cdf 100644
--- a/gdb/top.h
+++ b/gdb/top.h
@@ -42,7 +42,7 @@ extern void read_command_file (FILE *);
extern void init_history (void);
extern void command_loop (void);
extern int quit_confirm (void);
-extern void quit_force (int *, int) ATTRIBUTE_NORETURN;
+[[noreturn]] extern void quit_force (int *, int);
extern void quit_command (const char *, int);
extern void quit_cover (void);
extern void execute_command (const char *, int);
diff --git a/gdb/utils.c b/gdb/utils.c
index 17498e04312c..94310300fb5a 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -192,7 +192,7 @@ verror (const char *string, va_list args)
/* Emit a message and abort. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
abort_with_message (const char *msg)
{
if (current_ui == NULL)
diff --git a/gdb/xml-support.c b/gdb/xml-support.c
index b60b2c531a7c..33c8e41c5912 100644
--- a/gdb/xml-support.c
+++ b/gdb/xml-support.c
@@ -93,8 +93,8 @@ struct gdb_xml_parser
ATTRIBUTE_PRINTF (2, 0);
/* Issue an error message, and stop parsing. */
- void verror (const char *format, va_list ap)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 0);
+ [[noreturn]] void verror (const char *format, va_list ap)
+ ATTRIBUTE_PRINTF (2, 0);
void body_text (const XML_Char *text, int length);
void start_element (const XML_Char *name, const XML_Char **attrs);
diff --git a/gdb/xml-support.h b/gdb/xml-support.h
index b9bac7a10c21..2ff0e3ca8c53 100644
--- a/gdb/xml-support.h
+++ b/gdb/xml-support.h
@@ -191,8 +191,9 @@ void gdb_xml_debug (struct gdb_xml_parser *parser, const char *format, ...)
/* Issue an error message from one of PARSER's handlers, and stop
parsing. */
-void gdb_xml_error (struct gdb_xml_parser *parser, const char *format, ...)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 3);
+[[noreturn]] void gdb_xml_error (struct gdb_xml_parser *parser,
+ const char *format, ...)
+ ATTRIBUTE_PRINTF (2, 3);
/* Find the attribute named NAME in the set of parsed attributes
ATTRIBUTES. Returns NULL if not found. */
diff --git a/gdbserver/gdbreplay.cc b/gdbserver/gdbreplay.cc
index 0219e865ec73..c2359e4ab436 100644
--- a/gdbserver/gdbreplay.cc
+++ b/gdbserver/gdbreplay.cc
@@ -421,7 +421,7 @@ gdbreplay_usage (FILE *stream)
/* Main function. This is called by the real "main" function,
wrapped in a TRY_CATCH that handles any uncaught exceptions. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
captured_main (int argc, char *argv[])
{
FILE *fp;
diff --git a/gdbserver/server.cc b/gdbserver/server.cc
index 30d051774523..87b2a2677211 100644
--- a/gdbserver/server.cc
+++ b/gdbserver/server.cc
@@ -4038,7 +4038,7 @@ test_memory_tagging_functions (void)
/* Main function. This is called by the real "main" function,
wrapped in a TRY_CATCH that handles any uncaught exceptions. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
captured_main (int argc, char *argv[])
{
int bad_attach;
diff --git a/gdbserver/utils.cc b/gdbserver/utils.cc
index 302300770e84..57fceb1103de 100644
--- a/gdbserver/utils.cc
+++ b/gdbserver/utils.cc
@@ -31,7 +31,7 @@
the filesystem of small embedded targets with core files. If in
development mode however, abort, producing core files to help with
debugging GDBserver. */
-static void ATTRIBUTE_NORETURN
+[[noreturn]] static void
abort_or_exit ()
{
#ifdef DEVELOPMENT
diff --git a/gdbsupport/common-exceptions.cc b/gdbsupport/common-exceptions.cc
index 5aa16129b02b..8301fb556fb1 100644
--- a/gdbsupport/common-exceptions.cc
+++ b/gdbsupport/common-exceptions.cc
@@ -191,7 +191,7 @@ throw_exception (gdb_exception &&exception)
gdb_assert_not_reached ("invalid return reason");
}
-static void ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 0)
+[[noreturn]] static void ATTRIBUTE_PRINTF (3, 0)
throw_it (enum return_reason reason, enum errors error, const char *fmt,
va_list ap)
{
diff --git a/gdbsupport/common-exceptions.h b/gdbsupport/common-exceptions.h
index ffc02d2107f0..8f53cd475dad 100644
--- a/gdbsupport/common-exceptions.h
+++ b/gdbsupport/common-exceptions.h
@@ -336,27 +336,26 @@ struct gdb_quit_bad_alloc
/* Throw an exception (as described by "struct gdb_exception"),
landing in the inner most containing exception handler established
using TRY/CATCH. */
-extern void throw_exception (gdb_exception &&exception)
- ATTRIBUTE_NORETURN;
+[[noreturn]] extern void throw_exception (gdb_exception &&exception);
/* Throw an exception by executing a LONG JUMP to the inner most
containing exception handler established using TRY_SJLJ. Necessary
in some cases where we need to throw GDB exceptions across
third-party library code (e.g., readline). */
-extern void throw_exception_sjlj (const struct gdb_exception &exception)
- ATTRIBUTE_NORETURN;
+[[noreturn]] extern void throw_exception_sjlj (const gdb_exception &exception);
/* Convenience wrappers around throw_exception that throw GDB
errors. */
-extern void throw_verror (enum errors, const char *fmt, va_list ap)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 0);
-extern void throw_vquit (const char *fmt, va_list ap)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0);
-extern void throw_error (enum errors error, const char *fmt, ...)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 3);
-extern void throw_quit (const char *fmt, ...)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
-extern void throw_forced_quit (const char *fmt, ...)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
+[[noreturn]] extern void throw_verror (enum errors, const char *fmt,
+ va_list ap)
+ ATTRIBUTE_PRINTF (2, 0);
+[[noreturn]] extern void throw_vquit (const char *fmt, va_list ap)
+ ATTRIBUTE_PRINTF (1, 0);
+[[noreturn]] extern void throw_error (enum errors error, const char *fmt, ...)
+ ATTRIBUTE_PRINTF (2, 3);
+[[noreturn]] extern void throw_quit (const char *fmt, ...)
+ ATTRIBUTE_PRINTF (1, 2);
+[[noreturn]] [[noreturn]] extern void throw_forced_quit (const char *fmt, ...)
+ ATTRIBUTE_PRINTF (1, 2);
#endif /* COMMON_COMMON_EXCEPTIONS_H */
diff --git a/gdbsupport/errors.h b/gdbsupport/errors.h
index d8daed0f5f28..c0747f84bae1 100644
--- a/gdbsupport/errors.h
+++ b/gdbsupport/errors.h
@@ -36,11 +36,10 @@ extern void vwarning (const char *fmt, va_list args)
a printf- or vprintf-style argument list. These functions do not
return. The function "verror" must be provided by the client. */
-extern void error (const char *fmt, ...)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
+[[noreturn]] extern void error (const char *fmt, ...) ATTRIBUTE_PRINTF (1, 2);
-extern void verror (const char *fmt, va_list args)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 0);
+[[noreturn]] extern void verror (const char *fmt, va_list args)
+ ATTRIBUTE_PRINTF (1, 0);
/* An internal error was detected. Internal errors indicate
programming errors such as assertion failures, as opposed to
@@ -53,16 +52,16 @@ extern void verror (const char *fmt, va_list args)
automatically. The function "internal_verror" must be provided
by the client. */
-extern void internal_error_loc (const char *file, int line,
- const char *fmt, ...)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 4);
+[[noreturn]] extern void internal_error_loc (const char *file, int line,
+ const char *fmt, ...)
+ ATTRIBUTE_PRINTF (3, 4);
#define internal_error(fmt, ...) \
internal_error_loc (__FILE__, __LINE__, fmt, ##__VA_ARGS__)
-extern void internal_verror (const char *file, int line,
- const char *fmt, va_list args)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 0);
+[[noreturn]] extern void internal_verror (const char *file, int line,
+ const char *fmt, va_list args)
+ ATTRIBUTE_PRINTF (3, 0);
/* An internal problem was detected, but the requested operation can
still proceed. Internal warnings indicate programming errors as
@@ -93,14 +92,13 @@ extern std::string perror_string (const char *prefix, int errnum = 0);
STRING with the system error message for errno. If ERRNUM is given,
then use it in place of errno. This function does not return. */
-extern void perror_with_name (const char *string, int errnum = 0)
- ATTRIBUTE_NORETURN;
+[[noreturn]] extern void perror_with_name (const char *string, int errnum = 0);
/* Call this function to handle memory allocation failures. This
function does not return. This function must be provided by the
client. */
-extern void malloc_failure (long size) ATTRIBUTE_NORETURN;
+[[noreturn]] extern void malloc_failure (long size);
/* Flush stdout and stderr. Must be provided by the client. */
@@ -124,8 +122,8 @@ extern const char *strwinerror (ULONGEST error);
including STRING and the system text for the given error
number. */
-extern void throw_winerror_with_name (const char *string, ULONGEST err)
- ATTRIBUTE_NORETURN;
+[[noreturn]] extern void throw_winerror_with_name (const char *string,
+ ULONGEST err);
#endif /* USE_WIN32API */
base-commit: 9153eb8a7f5449c9baa67b2349cdfc0a47104c9a
--
2.45.2
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] gdb, gdbserver, gdbsupport: use [noreturn] instead of ATTRIBUTE_NORETURN
2024-07-16 20:02 [PATCH] gdb, gdbserver, gdbsupport: use [[noreturn]] instead of ATTRIBUTE_NORETURN Simon Marchi
@ 2024-07-16 21:24 ` Lancelot SIX
2024-07-16 22:31 ` Simon Marchi
0 siblings, 1 reply; 3+ messages in thread
From: Lancelot SIX @ 2024-07-16 21:24 UTC (permalink / raw)
To: Simon Marchi; +Cc: gdb-patches
On Tue, Jul 16, 2024 at 04:02:12PM -0400, Simon Marchi wrote:
> C++ 11 has a built-in attribute for this, no need to use a compat macro.
>
> Change-Id: I90e4220d26e8f3949d91761f8a13cd9c37da3875
Hi Simon,
Thanks for doing this!
FWIW, this looks good to me.
Reviewed-by: Lancelot Six <lancelot.six@amd.com>
Best,
Lancelot.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] gdb, gdbserver, gdbsupport: use [noreturn] instead of ATTRIBUTE_NORETURN
2024-07-16 21:24 ` [PATCH] gdb, gdbserver, gdbsupport: use [noreturn] " Lancelot SIX
@ 2024-07-16 22:31 ` Simon Marchi
0 siblings, 0 replies; 3+ messages in thread
From: Simon Marchi @ 2024-07-16 22:31 UTC (permalink / raw)
To: Lancelot SIX; +Cc: gdb-patches
On 2024-07-16 17:24, Lancelot SIX wrote:
> On Tue, Jul 16, 2024 at 04:02:12PM -0400, Simon Marchi wrote:
>> C++ 11 has a built-in attribute for this, no need to use a compat macro.
>>
>> Change-Id: I90e4220d26e8f3949d91761f8a13cd9c37da3875
>
> Hi Simon,
>
> Thanks for doing this!
>
> FWIW, this looks good to me.
>
> Reviewed-by: Lancelot Six <lancelot.six@amd.com>
>
> Best,
> Lancelot.
Thanks, pushed.
Simon
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-07-16 22:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-16 20:02 [PATCH] gdb, gdbserver, gdbsupport: use [[noreturn]] instead of ATTRIBUTE_NORETURN Simon Marchi
2024-07-16 21:24 ` [PATCH] gdb, gdbserver, gdbsupport: use [noreturn] " Lancelot SIX
2024-07-16 22:31 ` Simon Marchi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox