@@ -288,6 +288,7 @@ print_ada_macros (pretty_printer *pp, cpp_hashnode **macros, int max_ada_macros)
break;
}
/* fallthrough */
+ gcc_fallthrough ();
case CPP_RSHIFT:
case CPP_COMPL:
@@ -1182,6 +1183,7 @@ to_ada_name (const char *name, int *space_found)
if (len2 && s[len2 - 1] == '_')
s[len2++] = 'u';
/* fall through */
+ gcc_fallthrough ();
default:
s[len2++] = name[j];
@@ -1862,6 +1864,8 @@ dump_generic_ada_node (pretty_printer *buffer, tree node, tree type, int spc,
case TREE_BINFO:
dump_generic_ada_node
(buffer, BINFO_TYPE (node), type, spc, limited_access, name_only);
+ /* XXX Really fallthru? */
+ gcc_fallthrough ();
case TREE_VEC:
pp_string (buffer, "--- unexpected node: TREE_VEC");
@@ -2585,6 +2589,7 @@ dump_nested_type (pretty_printer *buffer, tree field, tree t, tree parent,
pp_string (buffer, ");");
}
}
+ gcc_fallthrough ();
default:
break;
@@ -1506,6 +1506,7 @@ warn_if_unused_value (const_tree exp, location_t locus)
goto restart;
}
/* Fall through. */
+ gcc_fallthrough ();
default:
/* Referencing a volatile value is a side effect, so don't warn. */
@@ -1518,6 +1519,7 @@ warn_if_unused_value (const_tree exp, location_t locus)
but front ends may define such. */
if (EXPRESSION_CLASS_P (exp) && TREE_OPERAND_LENGTH (exp) == 0)
return false;
+ gcc_fallthrough ();
warn:
return warning_at (locus, OPT_Wunused_value, "value computed is not used");
@@ -1629,6 +1631,7 @@ sizeof_pointer_memaccess_warning (location_t *sizeof_arg_loc, tree callee,
case BUILT_IN_STRNCASECMP:
cmp = true;
/* FALLTHRU */
+ gcc_fallthrough ();
case BUILT_IN_STRNCPY:
case BUILT_IN_STRNCPY_CHK:
case BUILT_IN_STRNCAT:
@@ -1637,6 +1640,7 @@ sizeof_pointer_memaccess_warning (location_t *sizeof_arg_loc, tree callee,
case BUILT_IN_STPNCPY_CHK:
strop = true;
/* FALLTHRU */
+ gcc_fallthrough ();
case BUILT_IN_MEMCPY:
case BUILT_IN_MEMCPY_CHK:
case BUILT_IN_MEMMOVE:
@@ -4468,6 +4472,7 @@ c_common_truthvalue_conversion (location_t location, tree expr)
case FUNCTION_DECL:
expr = build_unary_op (location, ADDR_EXPR, expr, 0);
/* Fall through. */
+ gcc_fallthrough ();
case ADDR_EXPR:
{
@@ -8739,6 +8744,7 @@ handle_tm_attribute (tree *node, tree name, tree args,
if (tm_attr_to_mask (name) & ~(TM_ATTR_SAFE | TM_ATTR_CALLABLE))
goto ignored;
/* FALLTHRU */
+ gcc_fallthrough ();
case FUNCTION_TYPE:
case METHOD_TYPE:
@@ -8782,11 +8788,13 @@ handle_tm_attribute (tree *node, tree name, tree args,
}
}
/* FALLTHRU */
+ gcc_fallthrough ();
default:
/* If a function is next, pass it on to be tried next. */
if (flags & (int) ATTR_FLAG_FUNCTION_NEXT)
return tree_cons (name, args, NULL);
+ gcc_fallthrough ();
ignored:
warning (OPT_Wattributes, "%qE attribute ignored", name);
@@ -10253,6 +10261,7 @@ c_cpp_error (cpp_reader *pfile ATTRIBUTE_UNUSED, int level, int reason,
return false;
global_dc->dc_warn_system_headers = 1;
/* Fall through. */
+ gcc_fallthrough ();
case CPP_DL_WARNING:
if (flag_no_output)
return false;
@@ -11450,6 +11459,7 @@ resolve_overloaded_builtin (location_t loc, tree function,
{
fetch_op = false;
/* Fallthrough to further processing. */
+ gcc_fallthrough ();
}
case BUILT_IN_ATOMIC_ADD_FETCH_N:
case BUILT_IN_ATOMIC_SUB_FETCH_N:
@@ -11466,6 +11476,7 @@ resolve_overloaded_builtin (location_t loc, tree function,
{
orig_format = false;
/* Fallthru for parameter processing. */
+ gcc_fallthrough ();
}
case BUILT_IN_SYNC_FETCH_AND_ADD_N:
case BUILT_IN_SYNC_FETCH_AND_SUB_N:
@@ -12623,6 +12634,7 @@ scalar_to_vector (location_t loc, enum tree_code code, tree op0, tree op1,
case BIT_AND_EXPR:
integer_only_op = true;
/* ... fall through ... */
+ gcc_fallthrough ();
case VEC_COND_EXPR:
@@ -12678,6 +12690,7 @@ scalar_to_vector (location_t loc, enum tree_code code, tree op0, tree op1,
}
return ret;
}
+ gcc_fallthrough ();
default:
break;
}
@@ -295,6 +295,7 @@ c_gimplify_expr (tree *expr_p, gimple_seq *pre_p ATTRIBUTE_UNUSED,
cilk_gimplify_call_params_in_spawned_fn (expr_p, pre_p);
return (enum gimplify_status) gimplify_cilk_spawn (expr_p);
}
+ gcc_fallthrough ();
default:;
}
@@ -493,6 +493,7 @@ c_lex_with_flags (tree *value, location_t *loc, unsigned char *cpp_flags,
break;
}
/* FALLTHROUGH */
+ gcc_fallthrough ();
default:
/* ... or not. */
@@ -504,6 +505,7 @@ c_lex_with_flags (tree *value, location_t *loc, unsigned char *cpp_flags,
}
/* FALLTHROUGH */
+ gcc_fallthrough ();
case CPP_HASH:
case CPP_PASTE:
{
@@ -1127,6 +1129,7 @@ lex_string (const cpp_token *tok, tree *valp, bool objc_string, bool translate)
goto retry;
}
/* FALLTHROUGH */
+ gcc_fallthrough ();
default:
break;
@@ -1142,6 +1145,8 @@ lex_string (const cpp_token *tok, tree *valp, bool objc_string, bool translate)
else
error ("unsupported non-standard concatenation of string literals");
}
+ /* XXX Really fallthru? */
+ gcc_fallthrough ();
case CPP_STRING:
if (!concats)
@@ -634,6 +634,7 @@ c_finish_omp_for (location_t locus, enum tree_code code, tree declv,
break;
incr = TREE_OPERAND (incr, 1);
/* FALLTHRU */
+ gcc_fallthrough ();
case MODIFY_EXPR:
if (TREE_OPERAND (incr, 0) != decl)
break;
@@ -437,6 +437,7 @@ c_common_handle_option (size_t scode, const char *arg, int value,
case OPT_ffreestanding:
value = !value;
/* Fall through.... */
+ gcc_fallthrough ();
case OPT_fhosted:
flag_hosted = value;
flag_no_builtin = !value;
@@ -479,6 +480,7 @@ c_common_handle_option (size_t scode, const char *arg, int value,
if (value)
value = 2;
/* Fall Through. */
+ gcc_fallthrough ();
case OPT_ftrack_macro_expansion_:
if (arg && *arg != '\0')
@@ -214,6 +214,8 @@ handle_pragma_pack (cpp_reader * ARG_UNUSED (dummy))
align = maximum_field_alignment;
break;
}
+ /* XXX Really fallthru? */
+ gcc_fallthrough ();
default:
GCC_BAD2 ("alignment must be a small power of two, not %d", align);
}
@@ -1643,6 +1643,7 @@ c_pretty_printer::postfix_expression (tree e)
case COMPOUND_LITERAL_EXPR:
e = DECL_INITIAL (COMPOUND_LITERAL_EXPR_DECL (e));
/* Fall through. */
+ gcc_fallthrough ();
case CONSTRUCTOR:
initializer (e);
break;
@@ -1663,6 +1664,7 @@ c_pretty_printer::postfix_expression (tree e)
break;
}
/* else fall through. */
+ gcc_fallthrough ();
default:
primary_expression (e);
@@ -1096,6 +1096,7 @@ extract_free_variables (tree t, struct wrapper_data *wd,
case RESULT_DECL:
if (wd->type != CILK_BLOCK_SPAWN)
TREE_ADDRESSABLE (t) = 1;
+ gcc_fallthrough ();
case VAR_DECL:
case PARM_DECL:
if (!is_global_var (t))