Use __attribute__((fallthrough)) rather than magic GCC comments.
commitcc397449fca8fb1559db3a790dffcd1e8046e86b
authorNick Mathewson <nickm@torproject.org>
Wed, 6 May 2020 14:45:48 +0000 (6 10:45 -0400)
committerNick Mathewson <nickm@torproject.org>
Wed, 6 May 2020 20:51:11 +0000 (6 16:51 -0400)
tree9ed93910dcd172f71d3b369a62b5e25ce370e962
parent78a72f8196505e28a5a823f24fdb74f36dc26845
Use __attribute__((fallthrough)) rather than magic GCC comments.

GCC added an implicit-fallthrough warning a while back, where it
would complain if you had a nontrivial "case:" block that didn't end
with break, return, or something like that.  Clang recently added
the same thing.

GCC, however, would let you annotate a fall-through as intended by
any of various magic "/* fall through */" comments.  Clang, however,
only seems to like "__attribute__((fallthrough))".  Fortunately, GCC
accepts that too.

A previous commit in this branch defined a FALLTHROUGH macro to do
the right thing if GNUC is defined; here we replace all of our "fall
through" comments with uses of that macro.

This is an automated commit, made with the following perl one-liner:

  #!/usr/bin/perl -i -p
  s#/\* *falls? ?thr.*?\*/#FALLTHROUGH;#i;
22 files changed:
src/app/config/confparse.c
src/core/or/channeltls.c
src/core/or/circuitbuild.c
src/core/or/circuitlist.c
src/core/or/circuituse.c
src/core/or/connection_edge.c
src/core/or/onion.c
src/core/or/reasons.c
src/core/or/relay.c
src/core/or/scheduler.c
src/core/proto/proto_socks.c
src/ext/csiphash.c
src/ext/ed25519/donna/modm-donna-32bit.h
src/ext/ed25519/donna/modm-donna-64bit.h
src/feature/client/entrynodes.c
src/feature/control/control.c
src/feature/dirclient/dirclient.c
src/feature/dirparse/parsecommon.c
src/feature/relay/dns.c
src/feature/rend/rendclient.c
src/lib/crypt_ops/crypto_digest.c
src/test/test_socks.c