From f42454b94b035cd4ad65c8470bb56e761f79b86e Mon Sep 17 00:00:00 2001 From: Mehdi Amini Date: Sun, 9 Oct 2016 23:00:34 +0000 Subject: Move the global variables representing each Target behind accessor function This avoids "static initialization order fiasco" Differential Revision: https://reviews.llvm.org/D25412 llvm-svn: 283702 --- llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp') diff --git a/llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp b/llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp index 1dea379e14e..da7e0b737e7 100644 --- a/llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp +++ b/llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp @@ -44,7 +44,9 @@ public: } namespace llvm { -extern Target TheSparcTarget, TheSparcV9Target, TheSparcelTarget; +Target &getTheSparcTarget(); +Target &getTheSparcV9Target(); +Target &getTheSparcelTarget(); } static MCDisassembler *createSparcDisassembler(const Target &T, @@ -56,11 +58,11 @@ static MCDisassembler *createSparcDisassembler(const Target &T, extern "C" void LLVMInitializeSparcDisassembler() { // Register the disassembler. - TargetRegistry::RegisterMCDisassembler(TheSparcTarget, + TargetRegistry::RegisterMCDisassembler(getTheSparcTarget(), createSparcDisassembler); - TargetRegistry::RegisterMCDisassembler(TheSparcV9Target, + TargetRegistry::RegisterMCDisassembler(getTheSparcV9Target(), createSparcDisassembler); - TargetRegistry::RegisterMCDisassembler(TheSparcelTarget, + TargetRegistry::RegisterMCDisassembler(getTheSparcelTarget(), createSparcDisassembler); } -- cgit v1.2.3