Lines Matching defs: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()));
346 LV.merge(getLVForValue(Arg.getAsStructuralValue(), computation));
354 LV.merge(getLVForDecl(Template, computation));
358 LV.merge(getLVForTemplateArgumentList(Arg.getPackAsArray(), computation));
364 return LV;
391 /// \param[out] LV the computation to use for the parent
393 LinkageInfo &LV, const FunctionDecl *fn,
404 LV.setLinkage(tempLV.getLinkage());
409 LV.mergeMaybeWithVisibility(paramsLV, considerVisibility);
414 LV.mergeMaybeWithVisibility(argsLV, considerVisibility);
467 LinkageInfo &LV, const ClassTemplateSpecializationDecl *spec,
478 LV.setLinkage(tempLV.getLinkage());
482 LV.mergeMaybeWithVisibility(paramsLV,
491 LV.mergeVisibility(argsLV);
492 LV.mergeExternalVisibility(argsLV);
523 void LinkageComputer::mergeTemplateLV(LinkageInfo &LV,
533 LV.mergeMaybeWithVisibility(tempLV,
542 LV.mergeVisibility(argsLV);
543 LV.mergeExternalVisibility(argsLV);
698 LinkageInfo LV = getExternalLinkageFor(D);
702 LV.mergeVisibility(*Vis, true);
713 LV.mergeVisibility(*Vis, true);
720 if (!LV.isVisibilityExplicit()) {
726 LV.mergeVisibility(globalVisibility, /*explicit*/ false);
731 LV.mergeVisibility(HiddenVisibility, /*visibilityExplicit=*/false);
746 // LV is currently set up to handle the last two bullets.
755 // Modify the variable's LV by the LV of its type unless this is
779 if (!LV.isVisibilityExplicit())
780 LV.mergeVisibility(TypeLV);
784 LV.mergeVisibility(HiddenVisibility, true);
791 // consider LV for the template and template arguments. We're at file
794 mergeTemplateLV(LV, spec, computation);
799 // In theory, we can modify the function's LV by the LV of its
805 LV.mergeVisibility(HiddenVisibility, true);
815 LV.mergeVisibility(HiddenVisibility, /*newExplicit=*/false);
835 // Consider LV from the template and the template arguments.
840 mergeTemplateLV(LV, Function, specInfo, computation);
858 mergeTemplateLV(LV, spec, computation);
868 LV.merge(EnumLV);
875 LV.mergeMaybeWithVisibility(tempLV, considerVisibility);
883 return LV;
907 if (!isExternallyVisible(LV.getLinkage()))
908 return LinkageInfo(LV.getLinkage(), DefaultVisibility, false);
910 return LV;
935 LinkageInfo LV;
940 LV.mergeVisibility(*Vis, true);
946 if (!LV.isVisibilityExplicit() && useInlineVisibilityHidden(D))
947 LV.mergeVisibility(HiddenVisibility, /*visibilityExplicit=*/false);
954 if (LV.isVisibilityExplicit())
985 mergeTemplateLV(LV, MD, spec, computation);
1004 LV.mergeVisibility(HiddenVisibility, /*newExplicit=*/false);
1008 mergeTemplateLV(LV, spec, computation);
1024 mergeTemplateLV(LV, spec, computation);
1032 if (!LV.isVisibilityExplicit() && !classLV.isVisibilityExplicit())
1033 LV.mergeVisibility(typeLV);
1034 LV.mergeExternalVisibility(typeLV);
1044 (!LV.isVisibilityExplicit() &&
1049 LV.mergeMaybeWithVisibility(tempLV, considerVisibility);
1066 LV.isVisibilityExplicit() &&
1073 LV.mergeMaybeWithVisibility(classLV, considerClassVisibility);
1074 return LV;
1358 LinkageInfo LV;
1362 LV.mergeVisibility(*Vis, true);
1369 return LV;
1377 LinkageInfo LV;
1379 LV.mergeVisibility(HiddenVisibility, true);
1383 LV.mergeVisibility(*Vis, true);
1389 LV.setLinkage(PrevLV.getLinkage());
1390 LV.mergeVisibility(PrevLV);
1393 return LV;
1408 LinkageInfo LV;
1413 LV = getLVForClosure(BD->getDeclContext()->getRedeclContext(),
1424 LV = getLVForDecl(FD, computation);
1426 !LV.isVisibilityExplicit() &&
1433 LV = getLVForDecl(MD->getParent(), computation);
1434 if (!LV.isVisibilityExplicit()) {
1444 if (!isExternallyVisible(LV.getLinkage()))
1446 return LinkageInfo(Linkage::VisibleNone, LV.getVisibility(),
1447 LV.isVisibilityExplicit());
1528 LinkageInfo LV = getLVForType(*TPO->getType(), computation);
1529 LV.merge(getLVForValue(TPO->getValue(), computation));
1530 return LV;
1580 LinkageInfo LV = computeLVForDecl(D, computation);
1582 assert(D->getCachedLinkage() == LV.getLinkage());
1584 D->setCachedLinkage(LV.getLinkage());
1585 cache(D, computation, LV);
1593 return LV;
1611 return LV;