BFD: Fix double BFD_FAIL calls in `bfd_default_reloc_type_lookup'

Break out of the outer switch statement once the inner switch for the
BFD_RELOC_CTOR relocation has been processed, preventing double BFD_FAIL
calls from being made, once from the inner switch and then again from
the default case of the outer switch.

Noticed with a `-Wimplicit-fallthrough' build error reported by a recent
GCC version:

In file included from .../bfd/reloc.c:52:0:
.../bfd/reloc.c: In function 'bfd_default_reloc_type_lookup':
.../bfd/libbfd.h:779:8: error: this statement may fall through [-Werror=implicit-fallthrough=]
   do { bfd_assert(__FILE__,__LINE__); } while (0)
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.../bfd/reloc.c:7780:4: note: in expansion of macro 'BFD_FAIL'
    BFD_FAIL ();
    ^~~~~~~~
.../bfd/reloc.c:7782:5: note: here
     default:
     ^~~~~~~
cc1: all warnings being treated as errors
make[4]: *** [reloc.lo] Error 1

	bfd/
	* reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
	not fall through to the default case.
This commit is contained in:
Maciej W. Rozycki 2016-10-31 16:14:35 +00:00
parent e23eba971d
commit af955fe696
2 changed files with 6 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2016-11-01 Maciej W. Rozycki <macro@imgtec.com>
* reloc.c (bfd_default_reloc_type_lookup) <BFD_RELOC_CTOR>: Do
not fall through to the default case.
2016-11-01 Palmer Dabbelt <palmer@dabbelt.com>
Andrew Waterman <andrew@sifive.com>

View File

@ -7859,6 +7859,7 @@ bfd_default_reloc_type_lookup (bfd *abfd, bfd_reloc_code_real_type code)
default:
BFD_FAIL ();
}
break;
default:
BFD_FAIL ();
}