On Thu, 11 Aug 2016, Marek Polacek wrote: > A few more cases where I'm unsure whether the fall through is intended. > Jason, can you please look at the cp/ part? > Richi, would you mind looking at the tree-complex.c bit? > What 'bout the pch.c? > > Thanks, > > 2016-08-11 Marek Polacek <pola...@redhat.com> > > PR c/7652 > gcc/ > * tree-complex.c (expand_complex_division): Likewise. > gcc/cp/ > * call.c (add_builtin_candidate): Add gcc_fallthrough. > * cxx-pretty-print.c (pp_cxx_unqualified_id): Likewise. > * parser.c (cp_parser_skip_to_end_of_statement): Likewise. > (cp_parser_cache_defarg): Likewise. > libcpp/ > * pch.c (write_macdef): Add CPP_FALLTHRU. > > --- gcc/gcc/cp/call.c > +++ gcc/gcc/cp/call.c > @@ -2542,6 +2544,8 @@ add_builtin_candidate (struct z_candidate **candidates, > enum tree_code code, > type2 = ptrdiff_type_node; > break; > } > + /* XXX Really fallthru? */ > + /* FALLTHRU */ > case MULT_EXPR: > case TRUNC_DIV_EXPR: > if (ARITHMETIC_TYPE_P (type1) && ARITHMETIC_TYPE_P (type2)) > --- gcc/gcc/cp/cxx-pretty-print.c > +++ gcc/gcc/cp/cxx-pretty-print.c > @@ -142,6 +142,8 @@ pp_cxx_unqualified_id (cxx_pretty_printer *pp, tree t) > > case OVERLOAD: > t = OVL_CURRENT (t); > + /* XXX Really fallthru? */ > + /* FALLTHRU */ > case VAR_DECL: > case PARM_DECL: > case CONST_DECL: > --- gcc/gcc/cp/parser.c > +++ gcc/gcc/cp/parser.c > @@ -3488,6 +3488,8 @@ cp_parser_skip_to_end_of_statement (cp_parser* parser) > cp_lexer_consume_token (parser->lexer); > return; > } > + /* XXX Really fallthru? */ > + /* FALLTHRU */ > > case CPP_OPEN_BRACE: > ++nesting_depth; > @@ -27640,6 +27646,8 @@ cp_parser_cache_defarg (cp_parser *parser, bool nsdmi) > parser->in_template_argument_list_p = saved_italp; > break; > } > + /* XXX Really fallthru? */ > + /* FALLTHRU */ > case CPP_CLOSE_PAREN: > case CPP_ELLIPSIS: > /* If we run into a non-nested `;', `}', or `]', > --- gcc/gcc/tree-complex.c > +++ gcc/gcc/tree-complex.c > @@ -1336,6 +1336,8 @@ expand_complex_division (gimple_stmt_iterator *gsi, > tree inner_type, > rr = gimplify_build2 (gsi, code, inner_type, ai, bi); > ri = gimplify_build2 (gsi, code, inner_type, ar, bi); > ri = gimplify_build1 (gsi, NEGATE_EXPR, inner_type, ri); > + /* XXX Really fallthru? */ > + /* FALLTHRU */ >
Nope, looks like a bug to me. Richard. > case PAIR (ONLY_REAL, VARYING): > case PAIR (ONLY_IMAG, VARYING): > --- gcc/libcpp/pch.c > +++ gcc/libcpp/pch.c > @@ -55,6 +55,8 @@ write_macdef (cpp_reader *pfile, cpp_hashnode *hn, void > *file_p) > case NT_VOID: > if (! (hn->flags & NODE_POISONED)) > return 1; > + /* XXX Really fallthru? */ > + /* FALLTHRU */ > > case NT_MACRO: > if ((hn->flags & NODE_BUILTIN) > > Marek > > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)