[Bug c/7652] -Wswitch-break : Warn if a switch case falls through

mpolacek at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Aug 12 10:35:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652

--- Comment #58 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Author: mpolacek
Date: Fri Aug 12 10:30:47 2016
New Revision: 239410

URL: https://gcc.gnu.org/viewcvs?rev=239410&root=gcc&view=rev
Log:
        PR c/7652
gcc/
        * alias.c (find_base_value): Adjust fall through comment.
        * cfgexpand.c (expand_debug_expr): Likewise.
        * combine.c (find_split_point): Likewise.
        (expand_compound_operation): Likewise.  Add FALLTHRU.
        (make_compound_operation): Adjust fall through comment.
        (canon_reg_for_combine): Add FALLTHRU.
        (force_to_mode): Adjust fall through comment.
        (simplify_shift_const_1): Likewise.
        (simplify_comparison): Likewise.
        * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Add
        FALLTHRU.
        * config/aarch64/predicates.md: Likewise.
        * config/i386/i386.c (function_arg_advance_32): Likewise.
        (ix86_gimplify_va_arg): Likewise.
        (print_reg): Likewise.
        (ix86_print_operand): Likewise.
        (ix86_build_const_vector): Likewise.
        (ix86_expand_branch): Likewise.
        (ix86_sched_init_global): Adjust fall through comment.
        (ix86_expand_args_builtin): Add FALLTHRU.
        (ix86_expand_builtin): Likewise.
        (ix86_expand_vector_init_one_var): Likewise.
        * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise.
        (rs6000_adjust_cost): Likewise.
        (insn_must_be_first_in_group): Likewise.
        * config/rs6000/rs6000.md: Likewise.  Adjust fall through comment.
        * dbxout.c (dbxout_symbol): Adjust fall through comment.
        * df-scan.c (df_uses_record): Likewise.
        * dojump.c (do_jump): Add FALLTHRU.
        * dwarf2out.c (mem_loc_descriptor): Likewise.  Adjust fall through
        comment.
        (resolve_args_picking_1): Adjust fall through comment.
        (loc_list_from_tree_1): Likewise.
        * expmed.c (make_tree): Likewise.
        * expr.c (expand_expr_real_2): Add FALLTHRU.
        (expand_expr_real_1): Likewise.  Adjust fall through comment.
        * fold-const.c (const_binop): Adjust fall through comment.
        (fold_truth_not_expr): Likewise.
        (fold_cond_expr_with_comparison): Add FALLTHRU.
        (fold_binary_loc): Likewise.
        (contains_label_1): Adjust fall through comment.
        (multiple_of_p): Likewise.
        * gcov-tool.c (process_args): Add FALLTHRU.
        * genattrtab.c (check_attr_test): Likewise.
        (write_test_expr): Likewise.
        * genconfig.c (walk_insn_part): Likewise.
        * genpreds.c (validate_exp): Adjust fall through comment.
        (needs_variable): Likewise.
        * gensupport.c (get_alternatives_number): Add FALLTHRU.
        (subst_dup): Likewise.
        * gimple-pretty-print.c (dump_gimple_assign): Likewise.
        * gimplify.c (gimplify_addr_expr): Adjust fall through comment.
        (gimplify_scan_omp_clauses): Add FALLTHRU.
        (goa_stabilize_expr): Likewise.
        * graphite-isl-ast-to-gimple.c (substitute_ssa_name): Adjust fall
        through comment.
        * hsa-gen.c (get_address_from_value): Likewise.
        * ipa-icf.c (sem_function::hash_stmt): Likewise.
        * ira.c (ira_setup_alts): Add FALLTHRU.
        * lra-eliminations.c (lra_eliminate_regs_1): Adjust fall through
        comment.
        * lto-streamer-out.c (lto_output_tree_ref): Add FALLTHRU.
        * opts.c (common_handle_option): Likewise.
        * read-rtl.c (read_rtx_code): Likewise.
        * real.c (round_for_format): Likewise.
        * recog.c (asm_operand_ok): Likewise.
        * reginfo.c (reg_scan_mark_refs): Adjust fall through comment.
        * reload1.c (set_label_offsets): Likewise.
        (eliminate_regs_1): Likewise.
        (reload_reg_reaches_end_p): Likewise.
        * rtlanal.c (commutative_operand_precedence): Add FALLTHRU.
        (rtx_cost): Likewise.
        * sched-rgn.c (is_exception_free): Likewise.
        * simplify-rtx.c (simplify_rtx): Adjust fall through comment.
        * stor-layout.c (int_mode_for_mode): Likewise.
        * toplev.c (print_to_asm_out_file): Likewise.
        (print_to_stderr): Likewise.
        * tree-cfg.c (gimple_verify_flow_info): Likewise.
        * tree-chrec.c (chrec_fold_plus_1): Add FALLTHRU.
        (chrec_fold_multiply): Likewise.
        (evolution_function_is_invariant_rec_p): Likewise.
        (for_each_scev_op): Likewise.
        * tree-data-ref.c (siv_subscript_p): Likewise.
        (get_references_in_stmt): Likewise.
        * tree.c (find_placeholder_in_expr): Adjust fall through comment.
        (substitute_in_expr): Likewise.
        (type_cache_hasher::equal): Likewise.
        (walk_type_fields): Likewise.
        * var-tracking.c (adjust_mems): Add FALLTHRU.
        (set_dv_changed): Adjust fall through comment.
        * varasm.c (default_function_section): Add FALLTHRU.
gcc/c-family/
        * c-common.c (scalar_to_vector): Adjust fall through comment.
        * c-opts.c (c_common_handle_option): Likewise.
        * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
        * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
        fall through comment.
        * cilk.c (extract_free_variables): Add FALLTHRU.
gcc/c/
        * c-parser.c (c_parser_external_declaration): Add FALLTHRU.
        (c_parser_postfix_expression): Likewise.
        * c-typeck.c (build_unary_op): Adjust fall through comment.
        (c_mark_addressable): Likewise.
gcc/cp/
        * call.c (add_builtin_candidate): Add FALLTHRU.
        (build_integral_nontype_arg_conv): Adjust fall through comment.
        (build_new_op_1): Add FALLTHRU.
        (convert_like_real): Adjust fall through comment.
        * class.c (fixed_type_or_null): Likewise.
        * constexpr.c (cxx_eval_constant_expression): Likewise.
        (potential_constant_expression_1): Likewise.  Add FALLTHRU.
        * cp-gimplify.c (cp_gimplify_expr): Adjust fall through comment.
        (cp_fold): Add FALLTHRU.
        * cvt.c (build_expr_type_conversion): Adjust fall through comment.
        * cxx-pretty-print.c (pp_cxx_unqualified_id): Add FALLTHRU.
        (pp_cxx_qualified_id): Likewise.
        (cxx_pretty_printer::constant): Adjust fall through comment.
        (cxx_pretty_printer::primary_expression): Add FALLTHRU.
        (pp_cxx_pm_expression): Adjust fall through comment.
        (cxx_pretty_printer::expression): Add FALLTHRU.
        (cxx_pretty_printer::declaration_specifiers): Reformat code.
        (pp_cxx_type_specifier_seq): Adjust fall through comment.
        (pp_cxx_ptr_operator): Likewise.  Add FALLTHRU.
        * error.c (dump_type): Adjust fall through comment.
        (dump_decl): Likewise.
        * mangle.c (write_type): Likewise.
        * method.c (synthesized_method_walk): Add FALLTHRU.
        * name-lookup.c (arg_assoc_type): Likewise.
        * parser.c (cp_lexer_print_token): Adjust fall through comment.
        (cp_parser_primary_expression): Add FALLTHRU.
        (cp_parser_operator): Likewise.
        * pt.c (find_parameter_packs_r): Likewise.
        (tsubst_aggr_type): Adjust fall through comment.
        * semantics.c (finish_omp_clauses): Add FALLTHRU.
        * tree.c (lvalue_kind): Likewise.
gcc/fortran/
        * decl.c (match_attr_spec): Add FALLTHRU.
        * primary.c (match_arg_list_function): Likewise.
        * resolve.c (resolve_operator): Adjust fall through comment.
        (fixup_charlen): Add FALLTHRU.
        (resolve_allocate_expr): Adjust fall through comment.
        * trans-array.c (gfc_conv_ss_startstride): Add FALLTHRU.
        * trans-intrinsic.c (gfc_conv_intrinsic_len): Adjust fall through
        comment.
gcc/java/
        * expr.c (java_truthvalue_conversion): Adjust fall through comment.
        * jcf-io.c (verify_constant_pool): Likewise.
        * typeck.c (promote_type): Likewise.
gcc/objc/
        * objc-encoding.c (encode_type): Add FALLTHRU.
libcpp/
        * lex.c (search_line_fast): Add FALLTHRU.
        (_cpp_lex_direct): Likewise.
        (cpp_token_val_index): Adjust fall through comment.
        * macro.c (parse_params): Add FALLTHRU.
        * pch.c (count_defs): Adjust fall through comment.
        (write_defs): Likewise.
libiberty/
        * cp-demangle.c (d_print_mod): Add FALLTHRU.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/alias.c
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/c-family/c-opts.c
    trunk/gcc/c-family/c-pragma.c
    trunk/gcc/c-family/c-pretty-print.c
    trunk/gcc/c-family/cilk.c
    trunk/gcc/c/ChangeLog
    trunk/gcc/c/c-parser.c
    trunk/gcc/c/c-typeck.c
    trunk/gcc/cfgexpand.c
    trunk/gcc/combine.c
    trunk/gcc/config/aarch64/aarch64-builtins.c
    trunk/gcc/config/aarch64/predicates.md
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/rs6000/rs6000.c
    trunk/gcc/config/rs6000/rs6000.md
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/call.c
    trunk/gcc/cp/class.c
    trunk/gcc/cp/constexpr.c
    trunk/gcc/cp/cp-gimplify.c
    trunk/gcc/cp/cvt.c
    trunk/gcc/cp/cxx-pretty-print.c
    trunk/gcc/cp/error.c
    trunk/gcc/cp/mangle.c
    trunk/gcc/cp/method.c
    trunk/gcc/cp/name-lookup.c
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/pt.c
    trunk/gcc/cp/semantics.c
    trunk/gcc/cp/tree.c
    trunk/gcc/dbxout.c
    trunk/gcc/df-scan.c
    trunk/gcc/dojump.c
    trunk/gcc/dwarf2out.c
    trunk/gcc/expmed.c
    trunk/gcc/expr.c
    trunk/gcc/fold-const.c
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/decl.c
    trunk/gcc/fortran/primary.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/fortran/trans-array.c
    trunk/gcc/fortran/trans-intrinsic.c
    trunk/gcc/gcov-tool.c
    trunk/gcc/genattrtab.c
    trunk/gcc/genconfig.c
    trunk/gcc/genpreds.c
    trunk/gcc/gensupport.c
    trunk/gcc/gimple-pretty-print.c
    trunk/gcc/gimplify.c
    trunk/gcc/graphite-isl-ast-to-gimple.c
    trunk/gcc/hsa-gen.c
    trunk/gcc/ipa-icf.c
    trunk/gcc/ira.c
    trunk/gcc/java/ChangeLog
    trunk/gcc/java/expr.c
    trunk/gcc/java/jcf-io.c
    trunk/gcc/java/typeck.c
    trunk/gcc/lra-eliminations.c
    trunk/gcc/lto-streamer-out.c
    trunk/gcc/objc/ChangeLog
    trunk/gcc/objc/objc-encoding.c
    trunk/gcc/opts.c
    trunk/gcc/read-rtl.c
    trunk/gcc/real.c
    trunk/gcc/recog.c
    trunk/gcc/reginfo.c
    trunk/gcc/reload1.c
    trunk/gcc/rtlanal.c
    trunk/gcc/sched-rgn.c
    trunk/gcc/simplify-rtx.c
    trunk/gcc/stor-layout.c
    trunk/gcc/toplev.c
    trunk/gcc/tree-cfg.c
    trunk/gcc/tree-chrec.c
    trunk/gcc/tree-data-ref.c
    trunk/gcc/tree.c
    trunk/gcc/var-tracking.c
    trunk/gcc/varasm.c
    trunk/libcpp/ChangeLog
    trunk/libcpp/lex.c
    trunk/libcpp/macro.c
    trunk/libcpp/pch.c
    trunk/libiberty/ChangeLog
    trunk/libiberty/cp-demangle.c


More information about the Gcc-bugs mailing list