+2016-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * 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.
+
2016-08-12 Marek Polacek <polacek@redhat.com>
PR c/7652
if (GET_CODE (src) != PLUS && GET_CODE (src) != MINUS)
break;
- /* ... fall through ... */
+ /* fall through */
case PLUS:
case MINUS:
+2016-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * 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.
+
2016-08-10 Jason Merrill <jason@redhat.com>
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
case BIT_XOR_EXPR:
case BIT_AND_EXPR:
integer_only_op = true;
- /* ... fall through ... */
+ /* fall through */
case VEC_COND_EXPR:
case OPT_ffreestanding:
value = !value;
- /* Fall through.... */
+ /* Fall through. */
case OPT_fhosted:
flag_hosted = value;
flag_no_builtin = !value;
align = maximum_field_alignment;
break;
}
+ /* FALLTHRU */
default:
GCC_BAD2 ("alignment must be a small power of two, not %d", align);
}
id_expression (TREE_OPERAND (e, 0));
break;
}
- /* else fall through. */
+ /* fall through. */
default:
primary_expression (e);
case RESULT_DECL:
if (wd->type != CILK_BLOCK_SPAWN)
TREE_ADDRESSABLE (t) = 1;
+ /* FALLTHRU */
case VAR_DECL:
case PARM_DECL:
if (!is_global_var (t))
+2016-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * 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.
+
2016-08-11 Jakub Jelinek <jakub@redhat.com>
PR c/72816
}
/* Else fall through, and yield a syntax error trying to parse
as a declaration or function definition. */
+ /* FALLTHRU */
default:
decl_or_fndef:
/* A declaration or a function definition (or, in Objective-C,
break;
}
/* Else fall through to report error. */
+ /* FALLTHRU */
default:
c_parser_error (parser, "expected expression");
expr.set_error ();
return error_mark_node;
}
- /* ... fall through ... */
+ /* fall through */
case ARRAY_REF:
if (TYPE_REVERSE_STORAGE_ORDER (TREE_TYPE (TREE_OPERAND (arg, 0))))
return false;
}
- /* drops in */
+ /* FALLTHRU */
case FUNCTION_DECL:
TREE_ADDRESSABLE (x) = 1;
- /* drops out */
+ /* FALLTHRU */
default:
return true;
}
set_mem_attributes (op0, exp, 0);
return op0;
}
- /* Fall through... */
+ /* Fall through. */
case INTEGER_CST:
case REAL_CST:
split = find_split_point (&XEXP (x, 2), insn, false);
if (split)
return split;
- /* ... fall through ... */
+ /* fall through */
case RTX_BIN_ARITH:
case RTX_COMM_ARITH:
case RTX_COMPARE:
split = find_split_point (&XEXP (x, 1), insn, false);
if (split)
return split;
- /* ... fall through ... */
+ /* fall through */
case RTX_UNARY:
/* Some machines have (and (shift ...) ...) insns. If X is not
an AND, but XEXP (X, 0) is, use it as our split point. */
{
case ZERO_EXTEND:
unsignedp = 1;
+ /* FALLTHRU */
case SIGN_EXTEND:
/* We can't necessarily use a const_int for a multiword mode;
it depends on implicitly extending the value.
case ZERO_EXTRACT:
unsignedp = 1;
- /* ... fall through ... */
+ /* fall through */
case SIGN_EXTRACT:
/* If the operand is a CLOBBER, just return it. */
break;
}
- /* ... fall through ... */
+ /* fall through */
case ASHIFTRT:
lhs = XEXP (x, 0);
if (op0 != XEXP (x, 0) || op1 != XEXP (x, 1) || op2 != XEXP (x, 2))
return simplify_gen_ternary (GET_CODE (x), GET_MODE (x),
GET_MODE (op0), op0, op1, op2);
+ /* FALLTHRU */
case RTX_OBJ:
if (REG_P (x))
mode, smask, next_select);
}
- /* ... fall through ... */
+ /* fall through */
case MULT:
/* Substituting into the operands of a widening MULT is not likely to
continue;
}
- /* ... fall through ... */
+ /* fall through */
case LSHIFTRT:
case ASHIFT:
continue;
}
- /* ... fall through ... */
+ /* fall through */
case SIGN_EXTRACT:
tem = expand_compound_operation (op0);
}
/* Fall through - if the lane index isn't a constant then
the next case will error. */
+ /* FALLTHRU */
case SIMD_ARG_CONSTANT:
constant_arg:
if (!(*insn_data[icode].operand[opc].predicate)
|| GET_CODE (XEXP (op, 1)) != CONST_INT)
return false;
op = XEXP (op, 0);
+ /* FALLTHRU */
case SYMBOL_REF:
return SYMBOL_REF_TLS_MODEL (op) == TLS_MODEL_INITIAL_EXEC;
|| GET_CODE (XEXP (op, 1)) != CONST_INT)
return false;
op = XEXP (op, 0);
+ /* FALLTHRU */
case SYMBOL_REF:
return SYMBOL_REF_TLS_MODEL (op) == TLS_MODEL_LOCAL_EXEC;
error_p = 1;
if (cum->float_in_sse < 2)
break;
+ /* FALLTHRU */
case SFmode:
if (cum->float_in_sse == -1)
error_p = 1;
error_p = 1;
if (cum->float_in_sse < 2)
break;
+ /* FALLTHRU */
case SFmode:
if (cum->float_in_sse == -1)
error_p = 1;
container = NULL;
break;
}
+ /* FALLTHRU */
default:
container = construct_container (nat_mode, TYPE_MODE (type),
case 4:
if (LEGACY_INT_REGNO_P (regno))
putc (msize == 8 && TARGET_64BIT ? 'r' : 'e', file);
+ /* FALLTHRU */
case 16:
case 12:
case 2:
fputs ("eq_us", file);
break;
}
+ /* FALLTHRU */
case EQ:
fputs ("eq", file);
break;
fputs ("nge", file);
break;
}
+ /* FALLTHRU */
case LT:
fputs ("lt", file);
break;
fputs ("ngt", file);
break;
}
+ /* FALLTHRU */
case LE:
fputs ("le", file);
break;
fputs ("neq_oq", file);
break;
}
+ /* FALLTHRU */
case NE:
fputs ("neq", file);
break;
fputs ("ge", file);
break;
}
+ /* FALLTHRU */
case UNGE:
fputs ("nlt", file);
break;
fputs ("gt", file);
break;
}
+ /* FALLTHRU */
case UNGT:
fputs ("nle", file);
break;
case V4DImode:
case V2DImode:
gcc_assert (vect);
+ /* FALLTHRU */
case V16SFmode:
case V8SFmode:
case V4SFmode:
op0 = force_reg (mode, gen_rtx_XOR (mode, op0, op1));
op1 = const0_rtx;
}
+ /* FALLTHRU */
case TImode:
/* Expand DImode branch into multiple compare+branch. */
{
core2i7_ifetch_block_max_insns = 6;
break;
}
- /* ... Fall through ... */
+ /* Fall through. */
default:
targetm.sched.dfa_post_advance_cycle = NULL;
targetm.sched.first_cycle_multipass_init = NULL;
error ("the next to last argument must be an 8-bit immediate");
break;
}
+ /* FALLTHRU */
case 1:
error ("the last argument must be an 8-bit immediate");
break;
if (!TARGET_SSE)
/* Emit a normal call if SSE isn't available. */
return expand_call (exp, target, ignore);
+ /* FALLTHRU */
default:
return ix86_expand_args_builtin (d, exp, target);
}
/* Use ix86_expand_vector_set in 64bit mode only. */
if (!TARGET_64BIT)
return false;
+ /* FALLTHRU */
case V4DFmode:
case V8SFmode:
case V8SImode:
case GE:
if (GET_MODE_CLASS (mode) == MODE_VECTOR_INT)
return NULL_RTX;
+ /* FALLTHRU */
case EQ:
case GT:
}
}
/* Fall through, no cost for output dependency. */
+ /* FALLTHRU */
case REG_DEP_ANTI:
/* Anti dependency; DEP_INSN reads a register that INSN writes some
case PROCESSOR_POWER5:
if (is_cracked_insn (insn))
return true;
+ /* FALLTHRU */
case PROCESSOR_POWER4:
if (is_microcoded_insn (insn))
return true;
case 0:
if (TARGET_STRING)
return \"stswi %1,%P0,16\";
+ /* FALLTHRU */
case 1:
return \"#\";
case 2:
if (TARGET_STRING
&& ! reg_overlap_mentioned_p (operands[0], operands[1]))
return \"lswi %0,%P1,16\";
- /* ... fall through ... */
+ /* fall through */
case 3:
case 4:
case 5:
+2016-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * 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.
+
2016-08-12 Alexandre Oliva <aoliva@redhat.com>
PR debug/63240
case PREDECREMENT_EXPR:
if (TREE_CODE (type1) == BOOLEAN_TYPE)
return;
+ /* FALLTHRU */
case POSTINCREMENT_EXPR:
case PREINCREMENT_EXPR:
if (ARITHMETIC_TYPE_P (type1) || TYPE_PTROB_P (type1))
case UNARY_PLUS_EXPR: /* unary + */
if (TYPE_PTR_P (type1))
break;
+ /* FALLTHRU */
case NEGATE_EXPR:
if (ARITHMETIC_TYPE_P (type1))
break;
case PLUS_EXPR:
if (ARITHMETIC_TYPE_P (type1) && ARITHMETIC_TYPE_P (type2))
break;
+ /* FALLTHRU */
case ARRAY_REF:
if (INTEGRAL_OR_UNSCOPED_ENUMERATION_TYPE_P (type1) && TYPE_PTROB_P (type2))
{
type2 = ptrdiff_type_node;
break;
}
+ /* FALLTHRU */
case MULT_EXPR:
case TRUNC_DIV_EXPR:
if (ARITHMETIC_TYPE_P (type1) && ARITHMETIC_TYPE_P (type2))
if (complain & tf_error)
error_at (loc, "conversion from %qT to %qT not considered for "
"non-type template argument", t, type);
- /* and fall through. */
+ /* fall through. */
default:
conv = NULL;
case MODIFY_EXPR:
if (code2 != NOP_EXPR)
break;
+ /* FALLTHRU */
case COMPONENT_REF:
case ARRAY_REF:
memonly = true;
if (! MAYBE_CLASS_TYPE_P (totype))
return expr;
- /* Else fall through. */
+ /* Fall through. */
case ck_base:
if (convs->kind == ck_base && !convs->need_temporary_p)
{
*nonnull = 1;
return TREE_TYPE (TREE_TYPE (instance));
}
- /* fall through... */
+ /* fall through. */
case TARGET_EXPR:
case PARM_DECL:
case RESULT_DECL:
if (is_capture_proxy (t))
return cxx_eval_constant_expression (ctx, DECL_VALUE_EXPR (t),
lval, non_constant_p, overflow_p);
- /* else fall through. */
+ /* fall through */
case CONST_DECL:
/* We used to not check lval for CONST_DECL, but darwin.c uses
CONST_DECL for aggregate constants. */
overflow_p);
if (r)
break;
- /* else fall through */
+ /* fall through */
case PLUS_EXPR:
case MINUS_EXPR:
/* A destructor. */
if (TYPE_P (TREE_OPERAND (t, 0)))
return true;
- /* else fall through. */
+ /* fall through. */
case REALPART_EXPR:
case IMAGPART_EXPR:
}
return false;
}
+ /* FALLTHRU */
case INIT_EXPR:
return RECUR (TREE_OPERAND (t, 1), rval);
cp_gimplify_init_expr (expr_p);
if (TREE_CODE (*expr_p) != INIT_EXPR)
return GS_OK;
- /* Otherwise fall through. */
+ /* Fall through. */
case MODIFY_EXPR:
modify_expr_case:
{
case VIEW_CONVERT_EXPR:
rval_ops = false;
+ /* FALLTHRU */
case CONVERT_EXPR:
case NOP_EXPR:
case NON_LVALUE_EXPR:
case REALPART_EXPR:
case IMAGPART_EXPR:
rval_ops = false;
+ /* FALLTHRU */
case CONJ_EXPR:
case FIX_TRUNC_EXPR:
case FLOAT_EXPR:
case COMPOUND_EXPR:
case MODIFY_EXPR:
rval_ops = false;
+ /* FALLTHRU */
case POINTER_PLUS_EXPR:
case PLUS_EXPR:
case MINUS_EXPR:
case INTEGER_TYPE:
if ((desires & WANT_NULL) && null_ptr_cst_p (expr))
return expr;
- /* else fall through... */
+ /* fall through. */
case BOOLEAN_TYPE:
return (desires & WANT_INT) ? expr : NULL_TREE;
case USING_DECL:
case TEMPLATE_DECL:
t = DECL_NAME (t);
+ /* FALLTHRU */
case IDENTIFIER_NODE:
if (t == NULL)
functions and some function templates. */
case OVERLOAD:
t = OVL_CURRENT (t);
+ /* FALLTHRU */
case FUNCTION_DECL:
if (DECL_FUNCTION_MEMBER_P (t))
pp_cxx_nested_name_specifier (pp, DECL_CONTEXT (t));
pp_string (this, "nullptr");
break;
}
- /* else fall through. */
+ /* fall through. */
default:
c_pretty_printer::constant (t);
case BASELINK:
t = BASELINK_FUNCTIONS (t);
+ /* FALLTHRU */
case VAR_DECL:
case PARM_DECL:
case FIELD_DECL:
pp_cxx_qualified_id (pp, t);
break;
}
- /* Else fall through. */
+ /* Fall through. */
case MEMBER_REF:
case DOTSTAR_EXPR:
pp_cxx_pm_expression (pp, TREE_OPERAND (t, 0));
case OVERLOAD:
t = OVL_CURRENT (t);
+ /* FALLTHRU */
case VAR_DECL:
case PARM_DECL:
case FIELD_DECL:
else if (DECL_NONSTATIC_MEMBER_FUNCTION_P (t))
declaration_specifiers (TREE_TYPE (TREE_TYPE (t)));
else
- default:
+ c_pretty_printer::declaration_specifiers (t);
+ break;
+ default:
c_pretty_printer::declaration_specifiers (t);
break;
}
pp_cxx_ptr_operator (pp, t);
break;
}
- /* else fall through */
+ /* fall through */
default:
if (!(TREE_CODE (t) == FUNCTION_DECL && DECL_CONSTRUCTOR_P (t)))
pp_star (pp);
break;
}
+ /* FALLTHRU */
case OFFSET_TYPE:
if (TYPE_PTRMEM_P (t))
{
pp_cxx_cv_qualifier_seq (pp, t);
break;
}
- /* else fall through. */
+ /* fall through. */
default:
pp_unsupported_tree (pp, t);
? DECL_ORIGINAL_TYPE (t) : TREE_TYPE (t), flags);
break;
}
- /* Else fall through. */
+ /* Fall through. */
case TEMPLATE_DECL:
case NAMESPACE_DECL:
dump_type (pp, DECL_CONTEXT (t), flags);
break;
}
- /* Else fall through. */
+ /* Fall through. */
case FIELD_DECL:
case PARM_DECL:
dump_simple_decl (pp, t, TREE_TYPE (t), flags);
++is_builtin_type;
break;
}
- /* else fall through. */
+ /* fall through. */
case TEMPLATE_PARM_INDEX:
write_template_param (type);
break;
case sfk_move_constructor:
case sfk_move_assignment:
move_p = true;
+ /* FALLTHRU */
case sfk_copy_constructor:
case sfk_copy_assignment:
copy_arg_p = true;
case RECORD_TYPE:
if (TYPE_PTRMEMFUNC_P (type))
return arg_assoc_type (k, TYPE_PTRMEMFUNC_FN_TYPE (type));
+ /* FALLTHRU */
case UNION_TYPE:
return arg_assoc_class (k, type);
case POINTER_TYPE:
For example, `struct' is mapped to an INTEGER_CST. */
if (!identifier_p (token->u.value))
break;
- /* else fall through */
+ /* fall through */
case CPP_NAME:
fputs (IDENTIFIER_POINTER (token->u.value), stream);
break;
cp_parser_skip_to_end_of_block_or_statement (parser);
return error_mark_node;
}
+ /* FALLTHRU */
default:
cp_parser_error (parser, "expected primary-expression");
return error_mark_node;
case CPP_UTF8STRING:
case CPP_UTF8STRING_USERDEF:
utf8 = true;
+ /* FALLTHRU */
case CPP_STRING:
case CPP_WSTRING:
case CPP_STRING16:
case TEMPLATE_TYPE_PARM:
t = TYPE_MAIN_VARIANT (t);
+ /* FALLTHRU */
case TEMPLATE_TEMPLATE_PARM:
/* If the placeholder appears in the decl-specifier-seq of a function
parameter pack (14.6.3), or the type-specifier-seq of a type-id that
if (TYPE_PTRMEMFUNC_P (t))
return tsubst (TYPE_PTRMEMFUNC_FN_TYPE (t), args, complain, in_decl);
- /* Else fall through. */
+ /* Fall through. */
case ENUMERAL_TYPE:
case UNION_TYPE:
if (TYPE_TEMPLATE_INFO (t) && uses_template_parms (t))
OMP_CLAUSE_OPERAND (c, 1) = t;
}
/* Check operand 0, the num argument. */
+ /* FALLTHRU */
case OMP_CLAUSE_WORKER:
case OMP_CLAUSE_VECTOR:
if (OMP_CLAUSE_OPERAND (c, 0) == NULL_TREE)
break;
+ /* FALLTHRU */
case OMP_CLAUSE_NUM_TASKS:
case OMP_CLAUSE_NUM_TEAMS:
lvalues. */
if (! TREE_STATIC (ref))
return clk_none;
+ /* FALLTHRU */
case VAR_DECL:
if (TREE_READONLY (ref) && ! TREE_STATIC (ref)
&& DECL_LANG_SPECIFIC (ref)
&& DECL_IN_AGGR_P (ref))
return clk_none;
+ /* FALLTHRU */
case INDIRECT_REF:
case ARROW_EXPR:
case ARRAY_REF:
disguised VAR_DECLs like Out parameters in Ada. */
gcc_assert (TREE_CODE (decl) == VAR_DECL);
- /* ... fall through ... */
+ /* fall through */
case RESULT_DECL:
case VAR_DECL:
df_uses_record (collection_rec, loc, ref_type, bb, insn_info, flags);
return;
}
- /* ... Fall through ... */
+ /* Fall through */
case REG:
df_ref_record (DF_REF_REGULAR, collection_rec,
|| TREE_CODE (TREE_OPERAND (exp, 0)) == ARRAY_REF
|| TREE_CODE (TREE_OPERAND (exp, 0)) == ARRAY_RANGE_REF)
goto normal;
+ /* FALLTHRU */
case CONVERT_EXPR:
/* If we are narrowing the operand, we have to do the compare in the
narrower mode. */
if ((TYPE_PRECISION (TREE_TYPE (exp))
< TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (exp, 0)))))
goto normal;
+ /* FALLTHRU */
case NON_LVALUE_EXPR:
case ABS_EXPR:
case NEGATE_EXPR:
goto normal;
/* Boolean comparisons can be compiled as TRUTH_AND_EXPR. */
+ /* FALLTHRU */
case TRUTH_AND_EXPR:
/* High branch cost, expand as the bitwise AND of the conditions.
if (!subreg_lowpart_p (rtl))
break;
inner = SUBREG_REG (rtl);
+ /* FALLTHRU */
case TRUNCATE:
if (inner == NULL_RTX)
inner = XEXP (rtl, 0);
: -GET_MODE_UNIT_SIZE (mem_mode),
mode));
- /* ... fall through ... */
+ /* fall through */
case PLUS:
plus:
if (!resolve_args_picking_1 (l->dw_loc_next, frame_offset_, dpi,
frame_offsets))
return false;
- /* Fall through... */
+ /* Fall through. */
case DW_OP_skip:
l = l->dw_loc_oprnd1.v.val_loc;
TREE_OPERAND (loc, 1), TREE_OPERAND (loc, 0));
}
- /* ... fall through ... */
+ /* fall through */
case COND_EXPR:
{
t = SYMBOL_REF_DECL (x);
if (t)
return fold_convert (type, build_fold_addr_expr (t));
- /* else fall through. */
+ /* fall through. */
default:
t = build_decl (RTL_LOCATION (x), VAR_DECL, NULL_TREE, type);
offset to have matching modes. */
else if (TYPE_PRECISION (sizetype) > TYPE_PRECISION (type))
treeop1 = fold_convert_loc (loc, type, treeop1);
+ /* FALLTHRU */
case PLUS_EXPR:
/* If we are adding a constant, a VAR_DECL that is sp, fp, or ap, and
switch (TREE_CODE_LENGTH (code))
{
default:
- case 3: treeop2 = TREE_OPERAND (exp, 2);
- case 2: treeop1 = TREE_OPERAND (exp, 1);
- case 1: treeop0 = TREE_OPERAND (exp, 0);
+ case 3: treeop2 = TREE_OPERAND (exp, 2); /* FALLTHRU */
+ case 2: treeop1 = TREE_OPERAND (exp, 1); /* FALLTHRU */
+ case 1: treeop0 = TREE_OPERAND (exp, 0); /* FALLTHRU */
case 0: break;
}
ops.code = code;
&& (TREE_STATIC (exp) || DECL_EXTERNAL (exp)))
layout_decl (exp, 0);
- /* ... fall through ... */
+ /* fall through */
case FUNCTION_DECL:
case RESULT_DECL:
return original_target;
}
- /* ... fall through ... */
+ /* fall through */
case STRING_CST:
temp = expand_expr_constant (exp, 1, modifier);
return do_mpc_arg2 (arg1, arg2, type,
/* do_nonfinite= */ folding_initializer,
mpc_div);
- /* Fallthru ... */
+ /* Fallthru. */
case TRUNC_DIV_EXPR:
case CEIL_DIV_EXPR:
case FLOOR_DIV_EXPR:
if (TREE_CODE (TREE_TYPE (arg)) == BOOLEAN_TYPE)
return build1_loc (loc, TRUTH_NOT_EXPR, type, arg);
- /* ... fall through ... */
+ /* fall through */
case FLOAT_EXPR:
loc1 = expr_location_or (TREE_OPERAND (arg, 0), loc);
case UNLT_EXPR:
if (flag_trapping_math)
break;
+ /* FALLTHRU */
case LE_EXPR:
case LT_EXPR:
if (TYPE_UNSIGNED (TREE_TYPE (arg1)))
/* If first arg is constant zero, return it. */
if (integer_zerop (arg0))
return fold_convert_loc (loc, type, arg0);
+ /* FALLTHRU */
case TRUTH_AND_EXPR:
/* If either arg is constant true, drop it. */
if (TREE_CODE (arg0) == INTEGER_CST && ! integer_zerop (arg0))
/* If first arg is constant true, return it. */
if (TREE_CODE (arg0) == INTEGER_CST && ! integer_zerop (arg0))
return fold_convert_loc (loc, type, arg0);
+ /* FALLTHRU */
case TRUTH_OR_EXPR:
/* If either arg is constant zero, drop it. */
if (TREE_CODE (arg0) == INTEGER_CST && integer_zerop (arg0))
case GOTO_EXPR:
*walk_subtrees = 0;
- /* ... fall through ... */
+ /* fall through */
default:
return NULL_TREE;
< TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (top, 0)))))
return 0;
- /* .. fall through ... */
+ /* fall through */
case SAVE_EXPR:
return multiple_of_p (type, TREE_OPERAND (top, 0), bottom);
return 1;
}
- /* .. fall through ... */
+ /* fall through */
default:
return 0;
+2016-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * 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.
+
2016-08-11 Janne Blomqvist <jb@gcc.gnu.org>
* check.c (gfc_check_random_seed): Use new seed size in check.
d = DECL_CODIMENSION;
break;
}
+ /* FALLTHRU */
case 'n':
if (match_string_p ("tiguous"))
{
result->name = "%LOC";
break;
}
+ /* FALLTHRU */
case 'r':
if (strncmp (name, "ref", 3) == 0)
{
result->name = "%REF";
break;
}
+ /* FALLTHRU */
case 'v':
if (strncmp (name, "val", 3) == 0)
{
result->name = "%VAL";
break;
}
+ /* FALLTHRU */
default:
m = MATCH_ERROR;
goto cleanup;
if (!gfc_resolve_expr (e->value.op.op2))
return false;
- /* Fall through... */
+ /* Fall through. */
case INTRINSIC_NOT:
case INTRINSIC_UPLUS:
goto bad_op;
}
- /* Fall through... */
+ /* Fall through. */
case INTRINSIC_EQ:
case INTRINSIC_EQ_OS:
{
case EXPR_OP:
gfc_resolve_character_operator (e);
+ /* FALLTHRU */
case EXPR_ARRAY:
if (e->expr_type == EXPR_ARRAY)
gfc_resolve_character_array_constructor (e);
+ /* FALLTHRU */
case EXPR_SUBSTRING:
if (!e->ts.u.cl && e->ref)
gfc_resolve_substring_charlen (e);
+ /* FALLTHRU */
default:
if (!e->ts.u.cl)
&& ar->stride[i] == NULL)
break;
- /* Fall Through... */
+ /* Fall through. */
case DIMEN_UNKNOWN:
case DIMEN_VECTOR:
continue;
}
+ /* FALLTHRU */
case GFC_SS_CONSTRUCTOR:
case GFC_SS_FUNCTION:
for (n = 0; n < ss->dimen; n++)
break;
}
- /* Otherwise fall through. */
+ /* Fall through. */
default:
/* Anybody stupid enough to do this deserves inefficient code. */
case 'h':
print_usage (false);
/* Print_usage will exit. */
+ /* FALLTHRU */
case 'v':
print_version ();
/* Print_version will exit. */
+ /* FALLTHRU */
default:
print_usage (true);
/* Print_usage will exit. */
ATTR_IND_SIMPLIFIED_P (exp) = 1;
break;
}
+ /* FALLTHRU */
default:
fatal_at (loc, "invalid operator `%s' in definition of attribute"
" `%s'", GET_RTX_NAME (GET_CODE (exp)), attr->name);
case GE: case GT:
case LE: case LT:
comparison_operator = FLG_BITWISE;
+ /* FALLTHRU */
case PLUS: case MINUS: case MULT: case DIV: case MOD:
case AND: case IOR: case XOR:
case MATCH_OP_DUP:
case MATCH_PAR_DUP:
++dup_operands_seen_this_insn;
+ /* FALLTHRU */
case MATCH_SCRATCH:
case MATCH_PARALLEL:
case MATCH_OPERATOR:
case IF_THEN_ELSE:
if (validate_exp (XEXP (exp, 2), name, loc))
return true;
- /* else fall through */
+ /* fall through */
case AND:
case IOR:
if (validate_exp (XEXP (exp, 1), name, loc))
return true;
- /* else fall through */
+ /* fall through */
case NOT:
return validate_exp (XEXP (exp, 0), name, loc);
case IF_THEN_ELSE:
if (needs_variable (XEXP (exp, 2), var))
return true;
- /* else fall through */
+ /* fall through */
case AND:
case IOR:
if (needs_variable (XEXP (exp, 1), var))
return true;
- /* else fall through */
+ /* fall through */
case NOT:
return needs_variable (XEXP (exp, 0), var);
case 'V':
if (XVEC (pattern, i) == NULL)
break;
+ /* FALLTHRU */
case 'E':
for (j = XVECLEN (pattern, i) - 1; j >= 0; --j)
case 'V':
if (XVEC (pattern, i) == NULL)
break;
+ /* FALLTHRU */
case 'E':
if (code != MATCH_DUP && code != MATCH_OP_DUP)
for (j = XVECLEN (pattern, i) - 1; j >= 0; --j)
{
case 4:
arg3 = gimple_assign_rhs3 (gs);
+ /* FALLTHRU */
case 3:
arg2 = gimple_assign_rhs2 (gs);
+ /* FALLTHRU */
case 2:
arg1 = gimple_assign_rhs1 (gs);
break;
if (integer_zerop (TREE_OPERAND (op0, 1)))
goto do_indirect_ref;
- /* ... fall through ... */
+ /* fall through */
default:
/* If we see a call to a declared builtin or see its address
case OACC_DATA:
if (TREE_CODE (TREE_TYPE (decl)) != ARRAY_TYPE)
break;
+ /* FALLTHRU */
case OMP_TARGET_DATA:
case OMP_TARGET_ENTER_DATA:
case OMP_TARGET_EXIT_DATA:
case tcc_comparison:
saw_lhs |= goa_stabilize_expr (&TREE_OPERAND (expr, 1), pre_p, lhs_addr,
lhs_var);
+ /* FALLTHRU */
case tcc_unary:
saw_lhs |= goa_stabilize_expr (&TREE_OPERAND (expr, 0), pre_p, lhs_addr,
lhs_var);
case TRUTH_XOR_EXPR:
saw_lhs |= goa_stabilize_expr (&TREE_OPERAND (expr, 1), pre_p,
lhs_addr, lhs_var);
+ /* FALLTHRU */
case TRUTH_NOT_EXPR:
saw_lhs |= goa_stabilize_expr (&TREE_OPERAND (expr, 0), pre_p,
lhs_addr, lhs_var);
if (exp == f)
return r;
- /* Fall through... */
+ /* Fall through. */
case tcc_exceptional:
case tcc_unary:
case INTEGER_CST:
if (tree_fits_shwi_p (val))
return new hsa_op_address (NULL, NULL, tree_to_shwi (val));
- /* Otherwise fall-through */
+ /* fall-through */
default:
HSA_SORRY_ATV (EXPR_LOCATION (val),
add_type (TREE_TYPE (gimple_assign_lhs (stmt)), two);
break;
}
- /* ... fall through ... */
+ /* fall through */
case GIMPLE_CALL:
case GIMPLE_ASM:
case GIMPLE_COND:
case '#':
case ',':
c = '\0';
+ /* FALLTHRU */
case '\0':
len = 0;
break;
+2016-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * expr.c (java_truthvalue_conversion): Adjust fall through comment.
+ * jcf-io.c (verify_constant_pool): Likewise.
+ * typeck.c (promote_type): Likewise.
+
2016-08-02 Roger Sayle <roger@nextmovesoftware.com>
* expr.c (push_value): Only call flush_quick_stack for non-constant
if (TYPE_PRECISION (TREE_TYPE (expr))
>= TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (expr, 0))))
return java_truthvalue_conversion (TREE_OPERAND (expr, 0));
- /* fall through to default */
+ /* fall through */
default:
return fold_build2 (NE_EXPR, boolean_type_node,
if (n <= 0 || n >= JPOOL_SIZE(jcf)
|| JPOOL_TAG (jcf, n) != CONSTANT_Utf8)
return i;
- /* ... fall through ... */
+ /* fall through */
case CONSTANT_Class:
case CONSTANT_String:
n = JPOOL_USHORT1 (jcf, i);
return promoted_byte_type_node;
return int_type_node;
}
- /* ... else fall through ... */
+ /* fall through */
default:
return type;
}
return gen_rtx_MULT (Pmode, to, XEXP (x, 1));
}
- /* ... fall through ... */
+ /* fall through */
case CALL:
case COMPARE:
}
}
- /* ... fall through ... */
+ /* fall through */
case INSN_LIST:
case INT_LIST:
case VAR_DECL:
case DEBUG_EXPR_DECL:
gcc_assert (decl_function_context (expr) == NULL || TREE_STATIC (expr));
+ /* FALLTHRU */
case PARM_DECL:
streamer_write_record_start (ob, LTO_global_decl_ref);
lto_output_var_decl_index (ob->decl_state, ob->main_stream, expr);
+2016-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * objc-encoding.c (encode_type): Add FALLTHRU.
+
2016-06-07 David Malcolm <dmalcolm@redhat.com>
* objc-act.c (objc_build_component_ref): Update call
}
/* Else, they are encoded exactly like the integer type that is
used by the compiler to store them. */
+ /* FALLTHRU */
case INTEGER_TYPE:
{
char c;
opts->x_flag_profile_use = true;
value = true;
/* No break here - do -fprofile-use processing. */
+ /* FALLTHRU */
case OPT_fprofile_use:
enable_fdo_optimizations (opts, opts_set, value);
if (!opts_set->x_flag_profile_reorder_functions)
opts->x_flag_auto_profile = true;
value = true;
/* No break here - do -fauto-profile processing. */
+ /* FALLTHRU */
case OPT_fauto_profile:
enable_fdo_optimizations (opts, opts_set, value);
if (!opts_set->x_flag_profile_correction)
opts->x_profile_data_prefix = xstrdup (arg);
value = true;
/* No break here - do -fprofile-generate processing. */
+ /* FALLTHRU */
case OPT_fprofile_generate:
if (!opts_set->x_profile_arc_flag)
opts->x_profile_arc_flag = value;
break;
}
/* Now process the vector. */
+ /* FALLTHRU */
case 'E':
{
{
underflow:
get_zero (r, r->sign);
+ /* FALLTHRU */
case rvc_zero:
if (!fmt->has_signed_zero)
r->sign = 0;
Match any memory and hope things are resolved after reload. */
incdec_ok = true;
+ /* FALLTHRU */
default:
cn = lookup_constraint (constraint);
switch (get_constraint_type (cn))
if (REG_P (dest) && !REG_ATTRS (dest))
set_reg_attrs_from_value (dest, SET_SRC (x));
- /* ... fall through ... */
+ /* fall through */
default:
{
x = LABEL_REF_LABEL (x);
- /* ... fall through ... */
+ /* fall through */
case CODE_LABEL:
/* If we know nothing about this label, set the desired offsets. Note
case JUMP_INSN:
set_label_offsets (PATTERN (insn), insn, initial_p);
- /* ... fall through ... */
+ /* fall through */
case INSN:
case CALL_INSN:
ep->previous_offset * INTVAL (XEXP (x, 1)));
}
- /* ... fall through ... */
+ /* fall through */
case CALL:
case COMPARE:
}
}
- /* ... fall through ... */
+ /* fall through */
case INSN_LIST:
case INT_LIST:
opnum = reload_n_operands;
- /* ... fall through ... */
+ /* fall through */
case RELOAD_FOR_OUTPUT:
case RELOAD_FOR_OUTPUT_ADDRESS:
/* Then prefer NEG and NOT. */
if (code == NEG || code == NOT)
return 1;
+ /* FALLTHRU */
default:
return 0;
factor = GET_MODE_SIZE (mode) / UNITS_PER_WORD;
if (factor == 0)
factor = 1;
- /* Pass through. */
+ /* FALLTHRU */
default:
total = factor * COSTS_N_INSNS (1);
}
if (is_pfree (insn, bb_src, bb_trg))
return 1;
/* Don't 'break' here: PFREE-candidate is also PRISKY-candidate. */
+ /* FALLTHRU */
case PRISKY_CANDIDATE:
if (!flag_schedule_speculative_load_dangerous
|| is_prisky (insn, bb_src, bb_trg))
if (swap_commutative_operands_p (XEXP (x, 0), XEXP (x, 1)))
return simplify_gen_binary (code, mode, XEXP (x, 1), XEXP (x, 0));
- /* Fall through.... */
+ /* Fall through. */
case RTX_BIN_ARITH:
return simplify_binary_operation (code, mode, XEXP (x, 0), XEXP (x, 1));
if (mode == BLKmode)
break;
- /* ... fall through ... */
+ /* fall through */
case MODE_CC:
default:
case SWITCH_TYPE_DESCRIPTIVE:
if (ASM_COMMENT_START[0] == 0)
prepend_sep = false;
- /* Drop through. */
+ /* FALLTHRU */
case SWITCH_TYPE_PASSED:
case SWITCH_TYPE_ENABLED:
if (prepend_sep)
case SWITCH_TYPE_PASSED:
case SWITCH_TYPE_ENABLED:
fputc (' ', stderr);
- /* Drop through. */
+ /* FALLTHRU */
case SWITCH_TYPE_DESCRIPTIVE:
fputs (text, stderr);
case GIMPLE_CALL:
if (!gimple_call_builtin_p (stmt, BUILT_IN_RETURN))
break;
- /* ... fallthru ... */
+ /* fallthru */
case GIMPLE_RETURN:
if (!single_succ_p (bb)
|| (single_succ_edge (bb)->flags
CASE_CONVERT:
if (tree_contains_chrecs (op1, NULL))
return chrec_dont_know;
+ /* FALLTHRU */
default:
if (code == PLUS_EXPR || code == POINTER_PLUS_EXPR)
CASE_CONVERT:
if (tree_contains_chrecs (op0, NULL))
return chrec_dont_know;
+ /* FALLTHRU */
default:
switch (TREE_CODE (op1))
CASE_CONVERT:
if (tree_contains_chrecs (op1, NULL))
return chrec_dont_know;
+ /* FALLTHRU */
default:
{
CASE_CONVERT:
if (tree_contains_chrecs (op1, NULL))
return chrec_dont_know;
+ /* FALLTHRU */
default:
if (integer_onep (op1))
CASE_CONVERT:
if (tree_contains_chrecs (op0, NULL))
return chrec_dont_know;
+ /* FALLTHRU */
default:
if (integer_onep (op0))
CASE_CONVERT:
if (tree_contains_chrecs (op1, NULL))
return chrec_dont_know;
+ /* FALLTHRU */
default:
if (integer_onep (op1))
if (!evolution_function_is_invariant_rec_p (TREE_OPERAND (chrec, 1),
loopnum))
return false;
+ /* FALLTHRU */
case 1:
if (!evolution_function_is_invariant_rec_p (TREE_OPERAND (chrec, 0),
{
case 3:
for_each_scev_op (&TREE_OPERAND (*scev, 2), cbck, data);
+ /* FALLTHRU */
case 2:
for_each_scev_op (&TREE_OPERAND (*scev, 1), cbck, data);
+ /* FALLTHRU */
case 1:
for_each_scev_op (&TREE_OPERAND (*scev, 0), cbck, data);
+ /* FALLTHRU */
default:
cbck (scev, data);
case POLYNOMIAL_CHREC:
if (CHREC_VARIABLE (chrec_a) != CHREC_VARIABLE (chrec_b))
return false;
+ /* FALLTHRU */
default:
return true;
if (gimple_call_lhs (stmt) == NULL_TREE)
break;
ref.is_read = true;
+ /* FALLTHRU */
case IFN_MASK_STORE:
ptr = build_int_cst (TREE_TYPE (gimple_call_arg (stmt, 1)), 0);
align = tree_to_shwi (gimple_call_arg (stmt, 1));
break;
}
- /* Fall through... */
+ /* Fall through. */
case tcc_exceptional:
case tcc_unary:
if (exp == f)
return r;
- /* Fall through... */
+ /* Fall through. */
case tcc_exceptional:
case tcc_unary:
TYPE_VALUES (b->type))))
return 0;
- /* ... fall through ... */
+ /* fall through */
case INTEGER_TYPE:
case REAL_TYPE:
break;
}
- /* ... fall through ... */
+ /* fall through */
case COMPLEX_TYPE:
WALK_SUBTREE (TREE_TYPE (type));
? GET_MODE_SIZE (amd->mem_mode)
: -GET_MODE_SIZE (amd->mem_mode),
GET_MODE (loc)));
+ /* FALLTHRU */
case POST_INC:
case POST_DEC:
if (addr == loc)
return addr;
case PRE_MODIFY:
addr = XEXP (loc, 1);
+ /* FALLTHRU */
case POST_MODIFY:
if (addr == loc)
addr = XEXP (loc, 0);
case ONEPART_DEXPR:
if (newv)
NO_LOC_P (DECL_RTL_KNOWN_SET (dv_as_decl (dv))) = false;
- /* Fall through... */
+ /* Fall through. */
default:
DECL_CHANGED (dv_as_decl (dv)) = newv;
these ELF section. */
if (!in_lto_p || !flag_profile_values)
return get_named_text_section (decl, ".text.hot", NULL);
+ /* FALLTHRU */
default:
return NULL;
}
+2016-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * 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.
+
2016-08-06 David Malcolm <dmalcolm@redhat.com>
PR bootstrap/72823
if (l != 0)
break;
s += sizeof(unsigned long);
+ /* FALLTHRU */
case 2:
l = u.l[i++];
if (l != 0)
}
buffer->cur++;
}
+ /* FALLTHRU */
default:
create_literal (pfile, result, buffer->cur - 1, 1, CPP_OTHER);
return CPP_TOKEN_FLD_SOURCE;
else if (tok->type == CPP_PRAGMA)
return CPP_TOKEN_FLD_PRAGMA;
- /* else fall through */
+ /* fall through */
default:
return CPP_TOKEN_FLD_NONE;
}
return true;
/* Fall through to pick up the error. */
+ /* FALLTHRU */
case CPP_COMMA:
if (!prev_ident)
{
if (hn->flags & NODE_BUILTIN)
return 1;
- /* else fall through. */
+ /* fall through. */
case NT_VOID:
{
if (hn->flags & NODE_BUILTIN)
return 1;
- /* else fall through. */
+ /* fall through. */
case NT_VOID:
{
+2016-08-12 Marek Polacek <polacek@redhat.com>
+
+ PR c/7652
+ * cp-demangle.c (d_print_mod): Add FALLTHRU.
+
2016-08-04 Marcel Böhme <boehme.marcel@gmail.com>
PR c++/71696
case DEMANGLE_COMPONENT_REFERENCE_THIS:
/* For the ref-qualifier, put a space before the &. */
d_append_char (dpi, ' ');
+ /* FALLTHRU */
case DEMANGLE_COMPONENT_REFERENCE:
d_append_char (dpi, '&');
return;
case DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS:
d_append_char (dpi, ' ');
+ /* FALLTHRU */
case DEMANGLE_COMPONENT_RVALUE_REFERENCE:
d_append_string (dpi, "&&");
return;