[libcxxabi] r309349 - [demangler] Fix some overzealous -Wreturn-type errors

Erik Pilkington via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 31 19:42:50 PDT 2017



On 7/31/17 11:44 AM, David Blaikie wrote:
>
>
> On Thu, Jul 27, 2017 at 6:35 PM Erik Pilkington via cfe-commits 
> <cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>> wrote:
>
>     Author: epilk
>     Date: Thu Jul 27 18:35:14 2017
>     New Revision: 309349
>
>     URL: http://llvm.org/viewvc/llvm-project?rev=309349&view=rev
>     Log:
>     [demangler] Fix some overzealous -Wreturn-type errors
>
>
> I'm guessing this is GCC's -Wreturn-type after a 
> fully-covered-all-returning switch?
Yep, thats exactly the problem.
> That's usually addressed by using llvm_unreachable after the switch, 
> rather than a dead return. (not sure if you've something like 
> llvm_unreachable in libcxxabi to use?)
Turns out there is a macro for this in libcxxabi. r309649 updates this 
to use that macro.

Thanks!
Erik
>
>
>     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=309349&r1=309348&r2=309349&view=diff
>     ==============================================================================
>     --- libcxxabi/trunk/src/cxa_demangle.cpp (original)
>     +++ libcxxabi/trunk/src/cxa_demangle.cpp Thu Jul 27 18:35:14 2017
>     @@ -896,6 +896,7 @@ public:
>          case SpecialSubKind::iostream:
>            return StringView("basic_iostream");
>          }
>     +    return StringView();
>        }
>
>        void printLeft(OutputStream &S) const override {
>     @@ -944,6 +945,7 @@ public:
>          case SpecialSubKind::iostream:
>            return StringView("iostream");
>          }
>     +    return StringView();
>        }
>
>        void printLeft(OutputStream &S) const override {
>
>
>     _______________________________________________
>     cfe-commits mailing list
>     cfe-commits at lists.llvm.org <mailto:cfe-commits at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170731/92c73e20/attachment.html>


More information about the cfe-commits mailing list