On Wed, Apr 13, 2016 at 04:14:03PM +0200, Marek Polacek wrote: > PR c/70436 > * c-parser.c > (c_parser_statement_after_labels): Add IF_P argument and adjust > callers.
Can you put > @@ -5533,7 +5548,7 @@ c_parser_switch_statement (c_parser *parser) > c_start_case (switch_loc, switch_cond_loc, expr, explicit_cast_p); > save_break = c_break_label; > c_break_label = NULL_TREE; > - body = c_parser_c99_block_statement (parser); > + body = c_parser_c99_block_statement (parser, NULL/*if??*/); > c_finish_case (body, ce.original_type); > if (c_break_label) > { Is: void bar (int); void foo (int a, int b, int c) { if (a) switch (b) case 0: if (c) bar (1); else bar (2); } something -Wdangling-else should warn about? Note, g++ does not warn about it, and clang nor clang++ doesn't either. As it is something that unlikely happens in user code, I guess it is ok to not warn about this for GCC 6, and we can deal with that later on. Jakub