You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When building libbsoncxx against core HEAD with -Wall, I'm getting lots of warnings about the use of the clang::fallthrough attribute in the new string_view header:
src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core/include/core/string_view.hpp:100:55: warning: attributes at the beginning of statement are ignored [-Wattributes]
case 2: hash ^= ::std::uint64_t(data[1]) << 8; [[clang::fallthrough]];
Easy enough to work around by adding -Wno-attribute but that is not ideal.
The text was updated successfully, but these errors were encountered:
Hi, you're not going to like to hear this, but the recommended fix for this is to use -Wno-attribute, as otherwise you get a large number of warnings from clang, and have to enable a set of -Wno- flags there (and there are a lot if you use -Weverything). I know this is seen as inconvenient, however one of the goals for Core is to use as few preprocessor macros and workarounds as possible, except when it's absolutely 100% needed, such as using Core without exceptions or RTTI, or to get it to work between gcc 4.8 and later versions (where max_align_t was in the global namespace, then moved to namespace std)
Technically, I could add a clang check and go from there, but I've not wanted to do that so far. I will take it into consideration though (and leave this issue open for now)
@slurps-mad-rips Actually I'm taking much the same hard line with the C++ driver, so, I get what you are saying. The downside will be that since core headers are exposed via C++ driver's headers, the need for -Wno-attribute will propagate to users of the C++ driver library.
I'm fine with leaving open and taking no immediate action. We can wait until C++ driver ships and see how much user pushback arrives.
Since this is the only other issue I'll be making a small preprocessor set of changes to guard this kind of stuff from warning. The "let's not use the preprocessor" goal for Core is a failure, so might as well go all in on fixing these issues, eh?
When building libbsoncxx against core HEAD with -Wall, I'm getting lots of warnings about the use of the
clang::fallthrough
attribute in the new string_view header:Easy enough to work around by adding -Wno-attribute but that is not ideal.
The text was updated successfully, but these errors were encountered: