[binutils-gdb] Fix clang build
Tom Tromey
tromey@sourceware.org
Wed Mar 27 16:19:54 GMT 2024
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=13ed3225004896142dcb0fbe24411b66f17dfc8e
commit 13ed3225004896142dcb0fbe24411b66f17dfc8e
Author: Tom Tromey <tromey@adacore.com>
Date: Wed Mar 27 07:21:56 2024 -0600
Fix clang build
Simon pointed out that commit 818ef5f4 ("Capture warnings when writing
to the index cache") broke the build with clang. This patch fixes the
breakage.
Diff:
---
gdb/utils.h | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/gdb/utils.h b/gdb/utils.h
index d7db1d84e2f..875a2583179 100644
--- a/gdb/utils.h
+++ b/gdb/utils.h
@@ -444,10 +444,18 @@ struct deferred_warnings
hook; see scoped_restore_warning_hook. Note that no locking is
done, so users have to be careful to only install this into a
single thread at a time. */
- void operator() (const char *format, va_list args) ATTRIBUTE_PRINTF (2, 0)
+ void operator() (const char *format, va_list args)
{
string_file msg (m_can_style);
+ /* Clang warns if we add ATTRIBUTE_PRINTF to this method (because
+ the function-view wrapper doesn't also have the attribute), but
+ then warns again if we remove it, because this vprintf call
+ does not use a literal format string. So, suppress the
+ warnings here. */
+ DIAGNOSTIC_PUSH
+ DIAGNOSTIC_IGNORE_FORMAT_NONLITERAL
msg.vprintf (format, args);
+ DIAGNOSTIC_POP
m_warnings.emplace_back (std::move (msg));
}
More information about the Gdb-cvs
mailing list