Commit c4ec8585 by Mark Wielaard Committed by Mark Wielaard

libiberty: Fix -Wimplicit-fallthrough warnings.

Adjust some comments, add some explicit fall through comments or explicit
returns where necessary to not get implicit-fallthrough warnings.

All fall throughs were deliberate. In one case I added an explicit return
false for clarity instead of falling through a default case (that also
would return false).

libiberty/ChangeLog:

       * cplus-dem.c (demangle_signature): Move fall through comment.
       (demangle_fund_type): Add fall through comment between 'G' and 'I'.
       * hashtab.c (iterative_hash): Add fall through comments.
       * regex.c (regex_compile): Add Fall through comment after '+'/'?'.
       (byte_re_match_2_internal): Add Fall through comment after jump_n.
       Change "Note fall through" to "Fall through".
       (common_op_match_null_string_p): Return false after set_number_at
       instead of fall through.

From-SVN: r241864
parent 8d48126d
2016-11-02 Mark Wielaard <mjw@redhat.com>
* cplus-dem.c (demangle_signature): Move fall through comment.
(demangle_fund_type): Add fall through comment between 'G' and 'I'.
* hashtab.c (iterative_hash): Add fall through comments.
* regex.c (regex_compile): Add Fall through comment after '+'/'?'.
(byte_re_match_2_internal): Add Fall through comment after jump_n.
Change "Note fall through" to "Fall through".
(common_op_match_null_string_p): Return false after set_number_at
instead of fall through.
2016-11-01 Jason Merrill <jason@redhat.com> 2016-11-01 Jason Merrill <jason@redhat.com>
* cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor. * cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor.
......
...@@ -1657,9 +1657,7 @@ demangle_signature (struct work_stuff *work, ...@@ -1657,9 +1657,7 @@ demangle_signature (struct work_stuff *work,
(*mangled)++; (*mangled)++;
break; break;
} }
else /* fall through */
/* fall through */
{;}
default: default:
if (AUTO_DEMANGLING || GNU_DEMANGLING) if (AUTO_DEMANGLING || GNU_DEMANGLING)
...@@ -4024,6 +4022,7 @@ demangle_fund_type (struct work_stuff *work, ...@@ -4024,6 +4022,7 @@ demangle_fund_type (struct work_stuff *work,
success = 0; success = 0;
break; break;
} }
/* fall through */
case 'I': case 'I':
(*mangled)++; (*mangled)++;
if (**mangled == '_') if (**mangled == '_')
......
...@@ -962,17 +962,17 @@ iterative_hash (const PTR k_in /* the key */, ...@@ -962,17 +962,17 @@ iterative_hash (const PTR k_in /* the key */,
c += length; c += length;
switch(len) /* all the case statements fall through */ switch(len) /* all the case statements fall through */
{ {
case 11: c+=((hashval_t)k[10]<<24); case 11: c+=((hashval_t)k[10]<<24); /* fall through */
case 10: c+=((hashval_t)k[9]<<16); case 10: c+=((hashval_t)k[9]<<16); /* fall through */
case 9 : c+=((hashval_t)k[8]<<8); case 9 : c+=((hashval_t)k[8]<<8); /* fall through */
/* the first byte of c is reserved for the length */ /* the first byte of c is reserved for the length */
case 8 : b+=((hashval_t)k[7]<<24); case 8 : b+=((hashval_t)k[7]<<24); /* fall through */
case 7 : b+=((hashval_t)k[6]<<16); case 7 : b+=((hashval_t)k[6]<<16); /* fall through */
case 6 : b+=((hashval_t)k[5]<<8); case 6 : b+=((hashval_t)k[5]<<8); /* fall through */
case 5 : b+=k[4]; case 5 : b+=k[4]; /* fall through */
case 4 : a+=((hashval_t)k[3]<<24); case 4 : a+=((hashval_t)k[3]<<24); /* fall through */
case 3 : a+=((hashval_t)k[2]<<16); case 3 : a+=((hashval_t)k[2]<<16); /* fall through */
case 2 : a+=((hashval_t)k[1]<<8); case 2 : a+=((hashval_t)k[1]<<8); /* fall through */
case 1 : a+=k[0]; case 1 : a+=k[0];
/* case 0: nothing left to add */ /* case 0: nothing left to add */
} }
......
...@@ -2493,6 +2493,7 @@ PREFIX(regex_compile) (const char *ARG_PREFIX(pattern), ...@@ -2493,6 +2493,7 @@ PREFIX(regex_compile) (const char *ARG_PREFIX(pattern),
if ((syntax & RE_BK_PLUS_QM) if ((syntax & RE_BK_PLUS_QM)
|| (syntax & RE_LIMITED_OPS)) || (syntax & RE_LIMITED_OPS))
goto normal_char; goto normal_char;
/* Fall through. */
handle_plus: handle_plus:
case '*': case '*':
/* If there is no previous pattern... */ /* If there is no previous pattern... */
...@@ -6697,6 +6698,7 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp, ...@@ -6697,6 +6698,7 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp,
{ {
case jump_n: case jump_n:
is_a_jump_n = true; is_a_jump_n = true;
/* Fall through. */
case pop_failure_jump: case pop_failure_jump:
case maybe_pop_jump: case maybe_pop_jump:
case jump: case jump:
...@@ -7125,7 +7127,7 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp, ...@@ -7125,7 +7127,7 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp,
DEBUG_PRINT1 (" Match => jump.\n"); DEBUG_PRINT1 (" Match => jump.\n");
goto unconditional_jump; goto unconditional_jump;
} }
/* Note fall through. */ /* Fall through. */
/* The end of a simple repeat has a pop_failure_jump back to /* The end of a simple repeat has a pop_failure_jump back to
...@@ -7150,7 +7152,7 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp, ...@@ -7150,7 +7152,7 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp,
dummy_low_reg, dummy_high_reg, dummy_low_reg, dummy_high_reg,
reg_dummy, reg_dummy, reg_info_dummy); reg_dummy, reg_dummy, reg_info_dummy);
} }
/* Note fall through. */ /* Fall through. */
unconditional_jump: unconditional_jump:
#ifdef _LIBC #ifdef _LIBC
...@@ -7453,6 +7455,7 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp, ...@@ -7453,6 +7455,7 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp,
{ {
case jump_n: case jump_n:
is_a_jump_n = true; is_a_jump_n = true;
/* Fall through. */
case maybe_pop_jump: case maybe_pop_jump:
case pop_failure_jump: case pop_failure_jump:
case jump: case jump:
...@@ -7718,6 +7721,7 @@ PREFIX(common_op_match_null_string_p) (UCHAR_T **p, UCHAR_T *end, ...@@ -7718,6 +7721,7 @@ PREFIX(common_op_match_null_string_p) (UCHAR_T **p, UCHAR_T *end,
case set_number_at: case set_number_at:
p1 += 2 * OFFSET_ADDRESS_SIZE; p1 += 2 * OFFSET_ADDRESS_SIZE;
return false;
default: default:
/* All other opcodes mean we cannot match the empty string. */ /* All other opcodes mean we cannot match the empty string. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment