This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Fix GCC6 -Wmisleading-indentation issues.
- From: Simon Marchi <simon dot marchi at ericsson dot com>
- To: Mark Wielaard <mjw at redhat dot com>, <gdb-patches at sourceware dot org>
- Date: Mon, 25 Jan 2016 16:46:10 -0500
- Subject: Re: [PATCH] Fix GCC6 -Wmisleading-indentation issues.
- Authentication-results: sourceware.org; auth=none
- References: <1453750851-29990-1-git-send-email-mjw at redhat dot com>
On 16-01-25 02:40 PM, Mark Wielaard wrote:
> GCC6 will warn about misleading indentation issues like:
>
> gdb/ada-lang.c: In function âada_evaluate_subexpâ:
> ada-lang.c:11423:9: error: statement is indented as if it were guarded by...
> arg1 = unwrap_value (arg1);
> ^~~~
>
> gdb/ada-lang.c:11421:7: note: ...this âelseâ clause, but it is not
> else
> ^~~~
>
> In this case it would be a bug except for the fact the if clause already
> returned early. So this misindented statement really only got executed
> for the else case. But it could easily mislead a reader, so adding a
> proper else block is the correct solution.
>
> In case of c-typeprint.c (c_type_print_base) the if statement is indeed
> misleadingly indented, but not a bug. Just indent correctly. The inflow.c
> (terminal_ours_1) misindented block comes from the removal of an if clause
> in commit d9d2d8b which looks correct. So just reindent the brackets of
> the block. The linux-record.c misleadingly indented return statements
> are just that. Misleading to the reader, but not actual bugs. So just
> properly indent them so they don't look the fall under the wrong if clause.
Thanks for doing this!
If you feel like it, you could build with --enable-targets=all to enable more code.
You'll find more of these.
One little comment below, otherwise it LGTM (without implying that my voice is
worth anything).
> diff --git a/gdb/inflow.c b/gdb/inflow.c
> index bbd2b12..d1dd41c 100644
> --- a/gdb/inflow.c
> +++ b/gdb/inflow.c
> @@ -413,7 +413,7 @@ child_terminal_ours_1 (int output_only)
> if (tinfo->run_terminal != NULL || gdb_has_a_terminal () == 0)
> return;
>
> - {
> + {
> #ifdef SIGTTOU
> /* Ignore this signal since it will happen when we try to set the
> pgrp. */
> @@ -497,7 +497,7 @@ child_terminal_ours_1 (int output_only)
> result = fcntl (0, F_SETFL, our_terminal_info.tflags);
> result = fcntl (0, F_SETFL, our_terminal_info.tflags);
> #endif
> - }
> + }
Shouldn't the code inside the brackets be de-indented too?