<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Thu, Feb 23, 2017 at 1:43 AM Sean Silva <<a href="mailto:chisophugis@gmail.com">chisophugis@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg">On Wed, Feb 22, 2017 at 8:42 AM, David Blaikie <span dir="ltr" class="gmail_msg"><<a href="mailto:dblaikie@gmail.com" class="gmail_msg" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg">The unreachable outside a switch is usually in the case of a fully covered switch to address the way that other compilers conservatively assume that a covered switch may still be skipped (due to values that are not enumerators, but in the representable range of the enumeration). In this case, of a switch with a  default (not fully covered), unreachable in the default is OK/good I think.</div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg">But then you don't get Clang's warning which assumes that the intent is to cover all enumerators, so you don't get the reminder to update this location if you add one.</div></div></div></div></blockquote><div><br>Sure, but sometimes you don't want one - I don't think every switch over an enum is/should be a fully covered one. At least that's my understanding at the moment.<br><br>- Dave<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">-- Sean Silva</div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"> </div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_-4773643221326285455HOEnZb gmail_msg"><div class="m_-4773643221326285455h5 gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Tue, Feb 21, 2017 at 11:01 PM Sean Silva via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org" class="gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg"><div class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">Usually we put the unreachable outside the switch:</div><div class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg"><br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg"></div><div class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg"><a href="http://llvm.org/docs/CodingStandards.html#don-t-use-default-labels-in-fully-covered-switches-over-enumerations" class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg" target="_blank">http://llvm.org/docs/CodingStandards.html#don-t-use-default-labels-in-fully-covered-switches-over-enumerations</a><br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg"></div></div><div class="gmail_extra m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg"><br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg"><div class="gmail_quote m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">On Tue, Feb 21, 2017 at 5:01 PM, Rui Ueyama via llvm-commits <span dir="ltr" class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg"><<a href="mailto:llvm-commits@lists.llvm.org" class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg"><blockquote class="gmail_quote m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: ruiu<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
Date: Tue Feb 21 19:01:45 2017<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
New Revision: 295799<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=295799&view=rev" rel="noreferrer" class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project?rev=295799&view=rev</a><br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
Log:<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
Fix -Wcovered-switch-default.<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
Modified:<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
    llvm/trunk/lib/Object/ArchiveWriter.cpp<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
Modified: llvm/trunk/lib/Object/ArchiveWriter.cpp<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/ArchiveWriter.cpp?rev=295799&r1=295798&r2=295799&view=diff" rel="noreferrer" class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Object/ArchiveWriter.cpp?rev=295799&r1=295798&r2=295799&view=diff</a><br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
==============================================================================<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
--- llvm/trunk/lib/Object/ArchiveWriter.cpp (original)<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
+++ llvm/trunk/lib/Object/ArchiveWriter.cpp Tue Feb 21 19:01:45 2017<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
@@ -129,9 +129,7 @@ static bool isBSDLike(object::Archive::K<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
   case object::Archive::K_BSD:<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
   case object::Archive::K_DARWIN:<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
     return true;<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
-  case object::Archive::K_MIPS64:<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
-  case object::Archive::K_DARWIN64:<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
-  case object::Archive::K_COFF:<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
+  default:<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
     llvm_unreachable("not supported for writting");<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
   }<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
 }<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
_______________________________________________<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
llvm-commits mailing list<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
</blockquote></div><br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg"></div>
_______________________________________________<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
llvm-commits mailing list<br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
<a href="mailto:llvm-commits@lists.llvm.org" class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg" target="_blank">llvm-commits@lists.llvm.org</a><br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br class="m_-4773643221326285455m_-3555292475961165172gmail_msg gmail_msg">
</blockquote></div>
</div></div></blockquote></div></div></div></blockquote></div></div>