[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