From: "H.J. Lu" <hjl.tools@gmail.com>
To: binutils@sourceware.org
Cc: gdb-patches@sourceware.org
Subject: [PATCH 2/3] Add DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION
Date: Mon, 21 May 2018 13:10:00 -0000 [thread overview]
Message-ID: <20180521121557.16535-2-hjl.tools@gmail.com> (raw)
In-Reply-To: <20180521121557.16535-1-hjl.tools@gmail.com>
Add DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION for GCC 8 to silence
-Wstringop-truncation warning:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643
* diagnostics.h (DIAGNOSTIC_STRINGIFY_1): New.
(DIAGNOSTIC_STRINGIFY): Likewise.
(DIAGNOSTIC_IGNORE): Replace STRINGIFY with DIAGNOSTIC_STRINGIFY.
(DIAGNOSTIC_IGNORE_SELF_MOVE): Define empty if not defined.
(DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER): Likewise.
(DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): Likewise.
(DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Likewise.
(DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION): New.
---
include/diagnostics.h | 31 ++++++++++++++++++++++++-------
1 file changed, 24 insertions(+), 7 deletions(-)
diff --git a/include/diagnostics.h b/include/diagnostics.h
index 0725664177..ec5ac4190e 100644
--- a/include/diagnostics.h
+++ b/include/diagnostics.h
@@ -19,8 +19,13 @@
#ifdef __GNUC__
# define DIAGNOSTIC_PUSH _Pragma ("GCC diagnostic push")
# define DIAGNOSTIC_POP _Pragma ("GCC diagnostic pop")
+
+/* Stringification. */
+# define DIAGNOSTIC_STRINGIFY_1(x) #x
+# define DIAGNOSTIC_STRINGIFY(x) DIAGNOSTIC_STRINGIFY_1 (x)
+
# define DIAGNOSTIC_IGNORE(option) \
- _Pragma (STRINGIFY (GCC diagnostic ignored option))
+ _Pragma (DIAGNOSTIC_STRINGIFY (GCC diagnostic ignored option))
#else
# define DIAGNOSTIC_PUSH
# define DIAGNOSTIC_POP
@@ -37,24 +42,36 @@
# if __has_warning ("-Wenum-compare-switch")
# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \
DIAGNOSTIC_IGNORE ("-Wenum-compare-switch")
-# else
-# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
# endif
#elif defined (__GNUC__) /* GCC */
-# define DIAGNOSTIC_IGNORE_SELF_MOVE
-# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \
DIAGNOSTIC_IGNORE ("-Wunused-function")
-# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
-#else /* Other compilers */
+# if __GNUC__ >= 8
+# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION \
+ DIAGNOSTIC_IGNORE ("-Wstringop-truncation")
+# endif
+#endif
+#ifndef DIAGNOSTIC_IGNORE_SELF_MOVE
# define DIAGNOSTIC_IGNORE_SELF_MOVE
+#endif
+
+#ifndef DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER
+#endif
+
+#ifndef DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
# define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION
+#endif
+
+#ifndef DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES
+#endif
+#ifndef DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION
+# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION
#endif
#endif /* DIAGNOSTICS_H */
--
2.17.0
next prev parent reply other threads:[~2018-05-21 12:16 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-21 12:16 [PATCH 1/3] Move gdb/common/diagnostics.h to include/diagnostics.h H.J. Lu
2018-05-21 13:10 ` H.J. Lu [this message]
2018-06-01 7:57 ` [PATCH 2/3] Add DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION Nick Clifton
[not found] ` <20180601101949.GA7660@bubble.grove.modra.org>
2018-06-01 16:51 ` H.J. Lu
2018-06-04 12:13 ` Nick Clifton
2018-06-04 12:19 ` Pedro Alves
2018-06-04 12:46 ` H.J. Lu
[not found] ` <CAMe9rOox6mZ6MX=GyC7-XJ2GuDzc5cjrLDyc3Hei5gBR4fWw7w@mail.gmail.com>
2018-06-04 13:40 ` Pedro Alves
2018-06-04 14:04 ` Pedro Alves
2018-05-21 13:12 ` [PATCH 3/3] Use DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION to silence GCC 8 H.J. Lu
2018-06-01 7:59 ` Nick Clifton
2018-06-04 16:58 ` H.J. Lu
2018-06-04 17:06 ` Pedro Alves
2018-07-02 16:25 ` Tulio Magno Quites Machado Filho
2018-05-21 14:12 ` [PATCH 1/3] Move gdb/common/diagnostics.h to include/diagnostics.h Simon Marchi
2018-06-01 7:49 ` Nick Clifton
[not found] ` <B781F464-751E-4D45-8881-36F6003759BE@glasgow.ac.uk>
2018-06-04 13:12 ` H.J. Lu
2018-06-04 13:24 ` John Marshall
2018-06-04 13:35 ` Pedro Alves
2018-06-04 13:37 ` H.J. Lu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180521121557.16535-2-hjl.tools@gmail.com \
--to=hjl.tools@gmail.com \
--cc=binutils@sourceware.org \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox