On Fri, Nov 13, 2020 at 1:09 AM Nick Desaulniers <ndesaulniers@xxxxxxxxxx> wrote: > > Thank you for the explicit diagnostics observed. Something fishy is > going on though, https://godbolt.org/z/Gbxbxa is how I expect MSVC to > handle include/linux/compiler_attributes.h. > > The C preprocessor should make it such that MSVC never sees > `__attribute__` or `__fallthrough__`; that it does begs the question. > That would seem to imply that `#if __has_attribute(__fallthrough__)` > somehow evaluates to true on MSVC, but my godbolt link shows it does > not. > > Could the upstream ACPICA project be #define'ing something that could > be altering this? (Or not #define'ing something?) > > Worst case, we could do as Joe Perches suggested and disable > -Wfallthrough for drivers/acpi/acpica/. I agree, something is fishy. MSVC has several flags for conformance and extensions support, including two full C preprocessors in newer versions; which means we might be missing something, but I don't see how the code in compiler_attributes.h could be confusing MSVC even in older non-conforming versions. Cheers, Miguel