[cfe-commits] [PATCH] Fixes for unintended fall-through bugs (-Wimplicit-fallthrough)
Richard Smith
richard at metafoo.co.uk
Thu May 31 16:47:20 PDT 2012
On Mon, May 28, 2012, at 8:08PM, Alexander Kornienko <alexfh at google.com> wrote:
> I've put aside header changes for now. There are patches with bug fixes (at
> least, those seem to be bugs to me) and a patch with LLVM_FALLTHROUGH macro.
> Please, take a look at these. Thanks!
Looking at fallthrough-bugs-clang.diff:
--- tools/clang/lib/Sema/SemaDeclAttr.cpp (revision 157508)
+++ tools/clang/lib/Sema/SemaDeclAttr.cpp (working copy)
@@ -3342,6 +3342,7 @@
}
D->addAttr(::new (S.Context) PcsAttr(Attr.getRange(), S.Context, PCS));
+ return;
}
default:
llvm_unreachable("unexpected attribute kind");
Thanks for spotting this. The problem here goes deeper than a simple
missing 'return': this code is not reached at all for the AT_pcs
attribute. The following crashes clang (with or without this change):
int f() __attribute__((pcs("something")));
More information about the cfe-commits
mailing list