rsmith added inline comments. ================ Comment at: lib/Sema/SemaTemplateInstantiateDecl.cpp:3598-3603 @@ -3599,1 +3597,8 @@ + // FIXME: We need to track the instantiation stack in order to know which + // definitions should be visible within this instantiation. + if (DiagnoseUninstantiableTemplate(PointOfInstantiation, Function, + Function->getInstantiatedFromMemberFunction(), + PatternDecl, PatternDecl, TSK, + /*Complain*/DefinitionRequired)) + return; ---------------- As long as we treat a late-parsed template as being defined, it should be fine (and looking at `FunctionDecl::isThisDeclarationADefinition`, we do). It's not correct to parse a late-parsed template that's not visible, so we need to move this check to before we handle late-parsed templates for correctness.
https://reviews.llvm.org/D23492 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits