Might be good to mention in an email on this thread what the revision number of the missing test is (& hopefully that test commit also mentions the revision number of this change as well - so people can track through in either direction)
On Tue, Aug 23, 2016 at 8:31 AM Adrian Prantl <apra...@apple.com> wrote: > Yes, that's because I forgot to git-add the actual testcase :-) > It came commits after this one. > > -- adrian > > On Aug 22, 2016, at 11:00 PM, David Blaikie <dblai...@gmail.com> wrote: > > Generally I'd expect a test case to exercise/demonstrate the behavior that > was previously hidden behind an assertion. (put another way: "we expect > something specific to happen, not just for clang not to assert/crash") > > On Mon, Aug 22, 2016 at 3:32 PM Adrian Prantl via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Author: adrian >> Date: Mon Aug 22 17:23:58 2016 >> New Revision: 279485 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=279485&view=rev >> Log: >> Module debug info: Don't assert when encountering an incomplete definition >> in isDefinedInClangModule() and assume that the incomplete definition >> is not defined in the module. >> >> This broke the -gmodules self host recently. >> rdar://problem/27894367 >> >> Added: >> cfe/trunk/test/Modules/Inputs/DebugNestedA.h >> cfe/trunk/test/Modules/Inputs/DebugNestedB.h >> Modified: >> cfe/trunk/lib/CodeGen/CGDebugInfo.cpp >> cfe/trunk/test/Modules/Inputs/module.map >> >> Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=279485&r1=279484&r2=279485&view=diff >> >> ============================================================================== >> --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original) >> +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Mon Aug 22 17:23:58 2016 >> @@ -1655,7 +1655,8 @@ static bool isDefinedInClangModule(const >> if (!RD->isExternallyVisible() && RD->getName().empty()) >> return false; >> if (auto *CXXDecl = dyn_cast<CXXRecordDecl>(RD)) { >> - assert(CXXDecl->isCompleteDefinition() && "incomplete record >> definition"); >> + if (!CXXDecl->isCompleteDefinition()) >> + return false; >> auto TemplateKind = CXXDecl->getTemplateSpecializationKind(); >> if (TemplateKind != TSK_Undeclared) { >> // This is a template, check the origin of the first member. >> >> Added: cfe/trunk/test/Modules/Inputs/DebugNestedA.h >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/DebugNestedA.h?rev=279485&view=auto >> >> ============================================================================== >> --- cfe/trunk/test/Modules/Inputs/DebugNestedA.h (added) >> +++ cfe/trunk/test/Modules/Inputs/DebugNestedA.h Mon Aug 22 17:23:58 2016 >> @@ -0,0 +1,8 @@ >> +/* -*- C++ -*- */ >> +template <typename T> class Base {}; >> +template <typename T> struct A : public Base<A<T>> { >> + void f(); >> +}; >> + >> +class F {}; >> +typedef A<F> AF; >> >> Added: cfe/trunk/test/Modules/Inputs/DebugNestedB.h >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/DebugNestedB.h?rev=279485&view=auto >> >> ============================================================================== >> --- cfe/trunk/test/Modules/Inputs/DebugNestedB.h (added) >> +++ cfe/trunk/test/Modules/Inputs/DebugNestedB.h Mon Aug 22 17:23:58 2016 >> @@ -0,0 +1,7 @@ >> +/* -*- C++ -*- */ >> +#include "DebugNestedA.h" >> +class C { >> + void run(AF &af) { >> + af.f(); >> + } >> +}; >> >> Modified: cfe/trunk/test/Modules/Inputs/module.map >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/module.map?rev=279485&r1=279484&r2=279485&view=diff >> >> ============================================================================== >> --- cfe/trunk/test/Modules/Inputs/module.map (original) >> +++ cfe/trunk/test/Modules/Inputs/module.map Mon Aug 22 17:23:58 2016 >> @@ -422,3 +422,13 @@ module MacroFabs1 { >> module DiagOutOfDate { >> header "DiagOutOfDate.h" >> } >> + >> +module DebugNestedA { >> + header "DebugNestedA.h" >> + export * >> +} >> + >> +module DebugNestedB { >> + header "DebugNestedB.h" >> + export * >> +} >> >> >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >> > >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits