From 4d17eaece8b31e642acaf4d77fe961ad8e3aaf50 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Fri, 4 Nov 2016 23:55:01 +0000 Subject: [PATCH] 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. --- libiberty/ChangeLog | 11 +++++++++++ libiberty/cplus-dem.c | 5 ++--- libiberty/hashtab.c | 20 ++++++++++---------- libiberty/regex.c | 8 ++++++-- 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 5dd812b748a..27c275b9e6c 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,14 @@ +2016-11-02 Mark Wielaard + + * 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 * cp-demangle.c (d_ctor_dtor_name): Handle inheriting constructor. diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c index 7f63397f2d4..c955bfbe1e7 100644 --- a/libiberty/cplus-dem.c +++ b/libiberty/cplus-dem.c @@ -1657,9 +1657,7 @@ demangle_signature (struct work_stuff *work, (*mangled)++; break; } - else - /* fall through */ - {;} + /* fall through */ default: if (AUTO_DEMANGLING || GNU_DEMANGLING) @@ -4024,6 +4022,7 @@ demangle_fund_type (struct work_stuff *work, success = 0; break; } + /* fall through */ case 'I': (*mangled)++; if (**mangled == '_') diff --git a/libiberty/hashtab.c b/libiberty/hashtab.c index 04607ea6a01..99381b17fd6 100644 --- a/libiberty/hashtab.c +++ b/libiberty/hashtab.c @@ -962,17 +962,17 @@ iterative_hash (const PTR k_in /* the key */, c += length; switch(len) /* all the case statements fall through */ { - case 11: c+=((hashval_t)k[10]<<24); - case 10: c+=((hashval_t)k[9]<<16); - case 9 : c+=((hashval_t)k[8]<<8); + case 11: c+=((hashval_t)k[10]<<24); /* fall through */ + case 10: c+=((hashval_t)k[9]<<16); /* fall through */ + case 9 : c+=((hashval_t)k[8]<<8); /* fall through */ /* the first byte of c is reserved for the length */ - case 8 : b+=((hashval_t)k[7]<<24); - case 7 : b+=((hashval_t)k[6]<<16); - case 6 : b+=((hashval_t)k[5]<<8); - case 5 : b+=k[4]; - case 4 : a+=((hashval_t)k[3]<<24); - case 3 : a+=((hashval_t)k[2]<<16); - case 2 : a+=((hashval_t)k[1]<<8); + case 8 : b+=((hashval_t)k[7]<<24); /* fall through */ + case 7 : b+=((hashval_t)k[6]<<16); /* fall through */ + case 6 : b+=((hashval_t)k[5]<<8); /* fall through */ + case 5 : b+=k[4]; /* fall through */ + case 4 : a+=((hashval_t)k[3]<<24); /* fall through */ + case 3 : a+=((hashval_t)k[2]<<16); /* fall through */ + case 2 : a+=((hashval_t)k[1]<<8); /* fall through */ case 1 : a+=k[0]; /* case 0: nothing left to add */ } diff --git a/libiberty/regex.c b/libiberty/regex.c index 9ffc3f47f00..6854e3b41a0 100644 --- a/libiberty/regex.c +++ b/libiberty/regex.c @@ -2493,6 +2493,7 @@ PREFIX(regex_compile) (const char *ARG_PREFIX(pattern), if ((syntax & RE_BK_PLUS_QM) || (syntax & RE_LIMITED_OPS)) goto normal_char; + /* Fall through. */ handle_plus: case '*': /* If there is no previous pattern... */ @@ -6697,6 +6698,7 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp, { case jump_n: is_a_jump_n = true; + /* Fall through. */ case pop_failure_jump: case maybe_pop_jump: case jump: @@ -7125,7 +7127,7 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp, DEBUG_PRINT1 (" Match => jump.\n"); goto unconditional_jump; } - /* Note fall through. */ + /* Fall through. */ /* 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, dummy_low_reg, dummy_high_reg, reg_dummy, reg_dummy, reg_info_dummy); } - /* Note fall through. */ + /* Fall through. */ unconditional_jump: #ifdef _LIBC @@ -7453,6 +7455,7 @@ byte_re_match_2_internal (struct re_pattern_buffer *bufp, { case jump_n: is_a_jump_n = true; + /* Fall through. */ case maybe_pop_jump: case pop_failure_jump: case jump: @@ -7718,6 +7721,7 @@ PREFIX(common_op_match_null_string_p) (UCHAR_T **p, UCHAR_T *end, case set_number_at: p1 += 2 * OFFSET_ADDRESS_SIZE; + return false; default: /* All other opcodes mean we cannot match the empty string. */ -- 2.30.2