[PATCH] D18584: Complete support for C++ Core Guidelines Type.6: Always initialize a member variable.

Haojian Wu via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 19 01:33:49 PDT 2016

hokein added a subscriber: hokein.
hokein added a comment.

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



More information about the cfe-commits mailing list