Home | History | Annotate | Download | only in CodeGen

Lines Matching full:linkage

757   GVALinkage Linkage = getContext().GetGVALinkageForFunction(D);
764 return Linkage == GVA_Internal ? llvm::GlobalValue::InternalLinkage
777 return getLLVMLinkageForDeclarator(D, Linkage, /*isConstantVariable=*/false);
977 // Set linkage and visibility in case we never see a definition.
980 // Don't set internal linkage on declarations.
990 // separate linkage types for this.
1447 // Implicit template instantiations may change linkage if they are later
1454 // linkage later if it's redeclared outside the class.
1606 // change linkage, make sure that it's emitted.
1780 // linkage.
2210 llvm::GlobalValue::LinkageTypes Linkage) {
2227 Linkage, nullptr, Name);
2331 // Must have internal linkage and an ordinary name.
2341 // OK, this is an internal linkage entity inside an extern "C" linkage
2347 // If we have multiple internal linkage entities with the same name
2360 GVALinkage Linkage;
2362 Linkage = CGM.getContext().GetGVALinkageForVariable(VD);
2364 Linkage = CGM.getContext().GetGVALinkageForFunction(cast<FunctionDecl>(&D));
2366 switch (Linkage) {
2375 llvm_unreachable("No such linkage");
2491 // Set the llvm linkage type as appropriate.
2492 llvm::GlobalValue::LinkageTypes Linkage =
2512 Linkage = llvm::GlobalValue::InternalLinkage;
2528 Linkage = llvm::GlobalValue::InternalLinkage;
2547 // On Darwin, if the normal linkage of a C++ thread_local variable is
2548 // LinkOnce or Weak, we keep the normal linkage to prevent multiple
2549 // copies within a linkage unit; otherwise, the backing variable has
2550 // internal linkage and all accesses should just be calls to the
2551 // Itanium-specified entry point, which has the normal linkage of the
2556 !llvm::GlobalVariable::isLinkOnceLinkage(Linkage) &&
2557 !llvm::GlobalVariable::isWeakLinkage(Linkage))
2558 Linkage = llvm::GlobalValue::InternalLinkage;
2560 GV->setLinkage(Linkage);
2568 if (Linkage == llvm::GlobalVariable::CommonLinkage)
2597 // Don't give variables common linkage if -fno-common was specified unless it
2613 // Thread local vars aren't considered common linkage.
2625 // Declarations with a required alignment do not have common linkage in MSVC
2651 const DeclaratorDecl *D, GVALinkage Linkage, bool IsConstantVariable) {
2652 if (Linkage == GVA_Internal)
2663 // so we can use available_externally linkage.
2664 if (Linkage == GVA_AvailableExternally)
2678 if (Linkage == GVA_DiscardableODR)
2682 // An explicit instantiation of a template has weak linkage, since
2690 if (Linkage == GVA_StrongODR) {
2700 // linkage.
2708 // all definitions should be the same and ODR linkage should be used.
2713 // Otherwise, we have strong external linkage.
2714 assert(Linkage == GVA_StrongExternal);
2720 GVALinkage Linkage = getContext().GetGVALinkageForVariable(VD);
2721 return getLLVMLinkageForDeclarator(VD, Linkage, IsConstant);
2885 // We need to set linkage and visibility on the function before
3308 llvm::GlobalValue::LinkageTypes Linkage;
3310 Linkage = llvm::GlobalValue::PrivateLinkage;
3314 Linkage, C, ".str");
3467 // rely on strings having normal linkage.
3591 llvm::GlobalValue::LinkageTypes Linkage =
3593 if (Linkage == llvm::GlobalVariable::ExternalLinkage) {
3597 // Temporaries defined inside a class get linkonce_odr linkage because the
3599 Linkage = llvm::GlobalVariable::LinkOnceODRLinkage;
3601 // There is no need for this temporary to have external linkage if the
3602 // VarDecl has external linkage.
3603 Linkage = llvm::GlobalVariable::InternalLinkage;
3609 getModule(), Type, Constant, Linkage, InitialValue, Name.c_str(),
3724 // EmitLinkageSpec - Emit all declarations in a linkage spec.
3728 ErrorUnsupported(LSD, "linkage spec");
4058 /// as 'used', but has internal linkage, create an alias from the unmangled