[PATCH] D18584: Complete support for C++ Core Guidelines Type.6: Always initialize a member variable.
Michael Miller via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 19 09:33:33 PDT 2016
michael_miller added a comment.
In http://reviews.llvm.org/D18584#404901, @hokein wrote:
> In http://reviews.llvm.org/D18584#404192, @michael_miller wrote:
> > In http://reviews.llvm.org/D18584#403872, @alexfh wrote:
> > > FYI, the check has started crashing after this patch. I'll try to provide a minimal test case soon. The relevant part of the stack trace is:
> > >
> > > @ 0x7fc9c255efa0 8 clang::Stmt::getLocStart()
> > > @ 0x7fc9c48fdac1 64 clang::tidy::cppcoreguidelines::(anonymous namespace)::IntializerInsertion::getLocation()
> > > @ 0x7fc9c49026d5 1696 clang::tidy::cppcoreguidelines::ProTypeMemberInitCheck::checkMissingBaseClassInitializer()
> > > @ 0x7fc9c490424f 96 clang::tidy::cppcoreguidelines::ProTypeMemberInitCheck::check()
> > Hmm... I can get this to crash in that location but only if I run with -fdelayed-template-parsing. I've got an easy fix and test case if that's the same issue you're running into. We should move the check at line 307 into ProTypeMemberInitCheck::check before both checks. I've got a test case I can add to cppcoreguidelines-pro-type-member-init-delayed.cpp that reproduces it. Let me know if I should write up a patch for this.
> I have created a minimal test case, see https://llvm.org/bugs/show_bug.cgi?id=27419. I think it's related to template. It would be very nice if you can submit a patch fixing this (and include the crash test case).
Thanks for the test case! The same fix I had applies. I reduced your test case down even further and added it to the tests. I submitted a patch with these fixes (http://reviews.llvm.org/D19270).
More information about the cfe-commits