Fix -Wimplicit-fallthrough warnings in libHilbert
The libHilbert code has thousands of the following warnings:
../../../../contrib/libHilbert/include/Hilbert/SetLocation.hpp:51:81: warning: this statement may fall through [-Wimplicit-fallthrough=]
#define SETBIT p->racks()[ir]|=im; if ((*lr&jm)==0) p->racks()[ir]^=im; jm<<=1; ++p;
^
../../../../contrib/libHilbert/include/Hilbert/SetLocation.hpp:53:15: note: in expansion of macro ‘SETBIT’
case (a+1): SETBIT;
^~~~~~
it would be good to ignore these somehow.
Are these coming from the build of libHilbert itself, or from a hilbert.h include that I forgot to wrap ignore_warnings.h around (I see src/mesh/mesh_communication_global_indices.C and include/parallel/parallel_conversion_utils.h missing them...), or is ignore_warnings.h failing to squelch -Wimplicit-fallthrough?
I think it was while building libHilbert in contrib, but it has since scrolled way off my screen in the process of testing "make distcheck" so I'm only 90% sure.
Even setting aside the fallthrough warnings, this macro needs to be wrapped in a do {} while (0) anyway...
Looks like libHilbert maintainance stopped around 2014 (right when we contacted Chris to get permission to relicense under LGPL, whew!), and all I can find online today is a github archive copy from 2017, so I guess synchronizing with upstream isn't a problem or an opportunity here, in which case I'd totally be happy to see these sorts of code smells actually fixed rather than just hidden by pragmas.