Lines Matching refs:LV

251   LinkageInfo LV;
266 LV.merge(getLVForType(*NTTP->getType(), computation));
275 LV.merge(getTypeLinkageAndVisibility(type));
286 LV.merge(getLVForTemplateParameterList(TTP->getTemplateParameters(),
294 LV.merge(getLVForTemplateParameterList(
299 return LV;
321 LinkageInfo LV;
331 LV.merge(getLVForType(*Arg.getAsType(), computation));
337 LV.merge(getLVForDecl(ND, computation));
342 LV.merge(getTypeLinkageAndVisibility(Arg.getNullPtrType()));
349 LV.merge(getLVForDecl(Template, computation));
353 LV.merge(getLVForTemplateArgumentList(Arg.getPackAsArray(), computation));
359 return LV;
386 /// \param[out] LV the computation to use for the parent
388 LinkageInfo &LV, const FunctionDecl *fn,
398 LV.mergeMaybeWithVisibility(tempLV, considerVisibility);
403 LV.mergeMaybeWithVisibility(argsLV, considerVisibility);
456 LinkageInfo &LV, const ClassTemplateSpecializationDecl *spec,
466 LV.mergeMaybeWithVisibility(tempLV,
475 LV.mergeVisibility(argsLV);
476 LV.mergeExternalVisibility(argsLV);
507 void LinkageComputer::mergeTemplateLV(LinkageInfo &LV,
518 LV.mergeMaybeWithVisibility(tempLV,
527 LV.mergeVisibility(argsLV);
528 LV.mergeExternalVisibility(argsLV);
709 LinkageInfo LV = getExternalLinkageFor(D);
713 LV.mergeVisibility(*Vis, true);
723 LV.mergeVisibility(*Vis, true);
730 if (!LV.isVisibilityExplicit()) {
736 LV.mergeVisibility(globalVisibility, /*explicit*/ false);
741 LV.mergeVisibility(HiddenVisibility, /*visibilityExplicit=*/false);
756 // LV is currently set up to handle the last two bullets.
765 // Modify the variable's LV by the LV of its type unless this is
788 if (!LV.isVisibilityExplicit())
789 LV.mergeVisibility(TypeLV);
793 LV.mergeVisibility(HiddenVisibility, true);
800 // consider LV for the template and template arguments. We're at file
803 mergeTemplateLV(LV, spec, computation);
808 // In theory, we can modify the function's LV by the LV of its
814 LV.mergeVisibility(HiddenVisibility, true);
834 // Consider LV from the template and the template arguments.
839 mergeTemplateLV(LV, Function, specInfo, computation);
857 mergeTemplateLV(LV, spec, computation);
867 LV.merge(EnumLV);
874 LV.mergeMaybeWithVisibility(tempLV, considerVisibility);
882 return LV;
902 if (!isExternallyVisible(LV.getLinkage()))
903 return LinkageInfo(LV.getLinkage(), DefaultVisibility, false);
907 LV.mergeVisibility(HiddenVisibility, /*newExplicit=*/false);
909 return LV;
934 LinkageInfo LV;
939 LV.mergeVisibility(*Vis, true);
945 if (!LV.isVisibilityExplicit() && useInlineVisibilityHidden(D))
946 LV.mergeVisibility(HiddenVisibility, /*visibilityExplicit=*/false);
953 if (LV.isVisibilityExplicit())
984 mergeTemplateLV(LV, MD, spec, computation);
996 mergeTemplateLV(LV, spec, computation);
1012 mergeTemplateLV(LV, spec, computation);
1020 if (!LV.isVisibilityExplicit() && !classLV.isVisibilityExplicit())
1021 LV.mergeVisibility(typeLV);
1022 LV.mergeExternalVisibility(typeLV);
1032 (!LV.isVisibilityExplicit() &&
1037 LV.mergeMaybeWithVisibility(tempLV, considerVisibility);
1054 LV.isVisibilityExplicit() &&
1061 LV.mergeMaybeWithVisibility(classLV, considerClassVisibility);
1062 return LV;
1231 LinkageInfo LV;
1235 LV.mergeVisibility(*Vis, true);
1242 return LV;
1250 LinkageInfo LV;
1252 LV.mergeVisibility(HiddenVisibility, true);
1255 LV.mergeVisibility(*Vis, true);
1261 LV.setLinkage(PrevLV.getLinkage());
1262 LV.mergeVisibility(PrevLV);
1265 return LV;
1280 LinkageInfo LV;
1285 LV = getLVForClosure(BD->getDeclContext()->getRedeclContext(),
1296 LV = getLVForDecl(FD, computation);
1298 !LV.isVisibilityExplicit()) {
1304 LV = getLVForDecl(MD->getParent(), computation);
1305 if (!LV.isVisibilityExplicit()) {
1315 if (!isExternallyVisible(LV.getLinkage()))
1317 return LinkageInfo(VisibleNoLinkage, LV.getVisibility(),
1318 LV.isVisibilityExplicit());
1470 LinkageInfo LV = computeLVForDecl(D, computation);
1472 assert(D->getCachedLinkage() == LV.getLinkage());
1474 D->setCachedLinkage(LV.getLinkage());
1475 cache(D, computation, LV);
1483 return LV;
1501 return LV;