From a2c8cd18128d3529992a86998d2bea80cceafff0 Mon Sep 17 00:00:00 2001 From: diggerlin Date: Thu, 30 Apr 2020 09:53:41 -0400 Subject: [AIX] emit .extern and .weak directive linkage SUMMARY: emit .extern and .weak directive linkage Reviewers: hubert.reinterpretcast, Jason Liu Subscribers: wuzish, nemanjai, hiraditya Differential Revision: https://reviews.llvm.org/D76932 --- llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp') diff --git a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp index a2dfa0a..a9b1455 100644 --- a/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp +++ b/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp @@ -2131,15 +2131,19 @@ XCOFF::StorageClass TargetLoweringObjectFileXCOFF::getStorageClassForGlobal( case GlobalValue::CommonLinkage: return XCOFF::C_EXT; case GlobalValue::ExternalWeakLinkage: + case GlobalValue::LinkOnceAnyLinkage: case GlobalValue::LinkOnceODRLinkage: + case GlobalValue::WeakAnyLinkage: + case GlobalValue::WeakODRLinkage: return XCOFF::C_WEAKEXT; case GlobalValue::AppendingLinkage: report_fatal_error( "There is no mapping that implements AppendingLinkage for XCOFF."); - default: - report_fatal_error( - "Unhandled linkage when mapping linkage to StorageClass."); + case GlobalValue::AvailableExternallyLinkage: + report_fatal_error("unhandled AvailableExternallyLinkage when mapping " + "linkage to StorageClass"); } + llvm_unreachable("Unknown linkage type!"); } MCSection *TargetLoweringObjectFileXCOFF::getSectionForFunctionDescriptor( -- cgit v1.1