From: Tom Tromey Date: Wed, 27 Mar 2024 13:21:56 +0000 (-0600) Subject: Fix clang build X-Git-Tag: gdb-15-branchpoint~588 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=13ed3225004896142dcb0fbe24411b66f17dfc8e;p=thirdparty%2Fbinutils-gdb.git 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 --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)); }