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