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@lists.llvm.org <mailto:cfe-commits@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@lists.llvm.org <mailto:cfe-commits@lists.llvm.org>
    http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to