From: Simon Marchi <simon.marchi@polymtl.ca>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Yao Qi <qiyaoltc@gmail.com>,
simon.marchi@ericsson.com, gdb-patches@sourceware.org
Subject: Re: [PATCH 0/5] Remove a few hurdles of compiling with clang
Date: Mon, 12 Jun 2017 15:54:00 -0000 [thread overview]
Message-ID: <93eb64489ac9d53665a144ddf5a966d5@polymtl.ca> (raw)
In-Reply-To: <83a85d5l4n.fsf@gnu.org>
On 2017-06-12 16:35, Eli Zaretskii wrote:
> That's not the issue: AFAIU, GDB already builds with clang.
>
> The issue is how much effort would we want to invest for that, and
> what are we willing to give up when using GCC to be able to use other
> compilers. For example, the proposed patch adds an explicit "-x c++"
> switch to _all_ compilations, and also tweaks the warning switches.
> I'm not sure we want GCC builds to be affected so that clang builds
> could be cleaner. But maybe we have a policy about this which deems
> these issues acceptable?
Hi Eli,
I included in this patchset the changes that I think improve the
situation with Clang, but are neutral to GCC, so I don't think these
should pose any problem. Here is what I have to say about each patch:
- gdb: Pass -x c++ to the compiler: GCC (and even the Intel compiler)
supports this option too, at worst it's a neutral change for compiling
with GCC.
- gdb: Use -Werror when checking for (un)supported warning flags: it
just forces the behavior to what's already the default with GCC. Again,
it's neutral at worst, at best it protects us if GCC ever decides to
change its default behavior.
- gdb: Add -Wno-mismatched-tags: We already have a system that tests
which warning flags are supported by the current compiler, so this flag
will not be included in the builds with GCC. So it's neutral for GCC,
and improves the situation for Clang with almost no effort.
- linux-low: Remove usage of "register" keyword: That's a good legacy
code cleanup in any case, IMHO.
- Add ATTRIBUTE_PRINTF to trace_start_error: It's actually a legit
warning, I'm surprised GCC itself doesn't warn about that.
But I think it's a good thing to discuss how far we're willing to go to
make GDB build cleanly with Clang, because some other issues are not so
easily resolved. Some warnings are a bit silly and don't provide much
value (e.g. [1] or -Wmismatched-tags), so it may not make sense to go
too far out of our way to make it happy.
I think it's also good to have this discussion because of how relevant
Clang is nowadays. A big number of software developers are on OS
X/macOS, on which Clang is the default compiler (shipped with Xcode).
Making the source more Clang-friendly removes a barrier to them
contributing to GDB.
Simon
[1] https://bugs.llvm.org//show_bug.cgi?id=22712#c1
next prev parent reply other threads:[~2017-06-12 15:54 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-10 19:58 Simon Marchi
2017-06-10 19:58 ` [PATCH 3/5] gdb: Add -Wno-mismatched-tags Simon Marchi
2017-06-10 19:58 ` [PATCH 2/5] gdb: Use -Werror when checking for (un)supported warning flags Simon Marchi
2017-06-10 19:58 ` [PATCH 1/5] gdb: Pass -x c++ to the compiler Simon Marchi
2017-06-10 19:58 ` [PATCH 5/5] Add ATTRIBUTE_PRINTF to trace_start_error Simon Marchi
2017-06-14 19:49 ` Sergio Durigan Junior
2017-06-10 19:58 ` [PATCH 4/5] linux-low: Remove usage of "register" keyword Simon Marchi
2017-06-11 2:36 ` [PATCH 0/5] Remove a few hurdles of compiling with clang Eli Zaretskii
2017-06-12 7:56 ` Yao Qi
2017-06-12 14:36 ` Eli Zaretskii
2017-06-12 15:54 ` Simon Marchi [this message]
2017-06-12 16:23 ` Andrew Pinski
2017-06-12 16:35 ` Pedro Alves
2017-06-12 16:37 ` Andrew Pinski
2017-06-12 16:45 ` Pedro Alves
2017-06-12 16:55 ` Pedro Alves
2017-06-12 16:44 ` Simon Marchi
2017-06-12 16:55 ` Andrew Pinski
2017-06-12 17:00 ` Simon Marchi
2017-06-12 16:44 ` Eli Zaretskii
2017-06-13 9:14 ` Yao Qi
2017-06-13 10:23 ` Simon Marchi
2017-06-13 11:06 ` Pedro Alves
2017-06-13 11:08 ` Simon Marchi
2017-06-13 14:38 ` Eli Zaretskii
2017-06-13 17:07 ` Simon Marchi
2017-06-13 19:23 ` Eli Zaretskii
2017-06-13 20:17 ` Simon Marchi
2017-06-14 2:29 ` Eli Zaretskii
2017-06-14 10:45 ` Pedro Alves
2017-06-16 16:12 ` John Baldwin
2017-06-13 15:22 ` Yao Qi
2017-06-13 15:44 ` Eli Zaretskii
2017-06-14 9:07 ` Yao Qi
2017-06-19 8:07 ` Yao Qi
2017-06-13 10:44 ` Pedro Alves
2017-06-13 15:09 ` Joel Brobecker
2017-06-17 21:23 ` Simon Marchi
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=93eb64489ac9d53665a144ddf5a966d5@polymtl.ca \
--to=simon.marchi@polymtl.ca \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=qiyaoltc@gmail.com \
--cc=simon.marchi@ericsson.com \
/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