[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).


Repository:
  rL LLVM

http://reviews.llvm.org/D18584





More information about the cfe-commits mailing list