Re: [PATCH] Fix GCC6 -Wmisleading-indentation issues.

Simon Marchi
2016-01-25T21:46:15Z

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?