Nice, then I leave this for you to deal with. Any ideas regarding llvm bugs and LLVM_FALLTHROUGH macro?<br><br><div class="gmail_quote">On Fri, Jun 1, 2012 at 1:47 AM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Mon, May 28, 2012, at 8:08PM, Alexander Kornienko <<a href="mailto:alexfh@google.com">alexfh@google.com</a>> wrote:<br>

> I've put aside header changes for now. There are patches with bug fixes (at<br>
> least, those seem to be bugs to me) and a patch with LLVM_FALLTHROUGH macro.<br>
> Please, take a look at these. Thanks!<br>
<br>
</div>Looking at fallthrough-bugs-clang.diff:<br>
<br>
--- tools/clang/lib/Sema/SemaDeclAttr.cpp       (revision 157508)<br>
+++ tools/clang/lib/Sema/SemaDeclAttr.cpp       (working copy)<br>
@@ -3342,6 +3342,7 @@<br>
     }<br>
<br>
     D->addAttr(::new (S.Context) PcsAttr(Attr.getRange(), S.Context, PCS));<br>
+    return;<br>
   }<br>
   default:<br>
     llvm_unreachable("unexpected attribute kind");<br>
<br>
Thanks for spotting this. The problem here goes deeper than a simple<br>
missing 'return': this code is not reached at all for the AT_pcs<br>
attribute. The following crashes clang (with or without this change):<br>
<br>
int f() __attribute__((pcs("something")));<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>
<div>Best regards,</div><div>Alexander Kornienko</div>