[libcxxabi] r305173 - cxa_demangle: fix -Wimplicit-fallthrough for GCC:7

Erik Pilkington via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 12 09:23:37 PDT 2017


Clang warns on macos here:
/Users/epilk/llvm/projects/libcxxabi/src/cxa_demangle.cpp:2261:27: 
warning: unknown attribute 'fallthrough' ignored [-Wunknown-attributes]
                         [[gnu::fallthrough]];
                           ^
Can you try defining a compatibility macro like LLVM_FALLTHROUGH for this?

On 6/11/17 3:57 PM, Saleem Abdulrasool via cfe-commits wrote:
> Author: compnerd
> Date: Sun Jun 11 17:57:31 2017
> New Revision: 305173
>
> URL: http://llvm.org/viewvc/llvm-project?rev=305173&view=rev
> Log:
> cxa_demangle: fix -Wimplicit-fallthrough for GCC:7
>
> Use the C++11 (formalised in C++17) tag to indicate a fallthrough in the
> switch case.  Silences a -Wimplicit-fallthrough warning with gcc:7
>
> Modified:
>      libcxxabi/trunk/src/cxa_demangle.cpp
>
> Modified: libcxxabi/trunk/src/cxa_demangle.cpp
> URL: http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/cxa_demangle.cpp?rev=305173&r1=305172&r2=305173&view=diff
> ==============================================================================
> --- libcxxabi/trunk/src/cxa_demangle.cpp (original)
> +++ libcxxabi/trunk/src/cxa_demangle.cpp Sun Jun 11 17:57:31 2017
> @@ -2258,7 +2258,7 @@ parse_type(const char* first, const char
>                                   break;
>                               }
>                           }
> -                        // drop through
> +                        [[gnu::fallthrough]];
>                       default:
>                           // must check for builtin-types before class-enum-types to avoid
>                           // ambiguities with operator-names
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits



More information about the cfe-commits mailing list