summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM
diff options
context:
space:
mode:
authorOscar Fuentes <ofv@wanadoo.es>2008-11-15 21:36:30 +0000
committerOscar Fuentes <ofv@wanadoo.es>2008-11-15 21:36:30 +0000
commitba4eb2a9dba43e1d4de1e5d378204a8222e1bfea (patch)
tree4f99d9355b464c7a565d1b29c0e32fc4d8cf9d71 /llvm/lib/Target/ARM
parente132e2432a3834f6128ffe304b04ec58b415af3a (diff)
downloadbcm5719-llvm-ba4eb2a9dba43e1d4de1e5d378204a8222e1bfea.tar.gz
bcm5719-llvm-ba4eb2a9dba43e1d4de1e5d378204a8222e1bfea.zip
Adds extern "C" ints to the .cpp files that use RegisterTarget, as
well as 2 files that use "Registrator"s. These are to be used by the MSVC builds, as the Win32 linker does not include libs that are otherwise unreferenced, even if global constructors in the lib have side-effects. Patch by Scott Graham! llvm-svn: 59378
Diffstat (limited to 'llvm/lib/Target/ARM')
-rw-r--r--llvm/lib/Target/ARM/ARMTargetMachine.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.cpp b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
index b9c9c486005..a5d3659d3c7 100644
--- a/llvm/lib/Target/ARM/ARMTargetMachine.cpp
+++ b/llvm/lib/Target/ARM/ARMTargetMachine.cpp
@@ -28,6 +28,13 @@ static cl::opt<bool> DisableLdStOpti("disable-arm-loadstore-opti", cl::Hidden,
static cl::opt<bool> DisableIfConversion("disable-arm-if-conversion",cl::Hidden,
cl::desc("Disable if-conversion pass"));
+/// ARMTargetMachineModule - Note that this is used on hosts that cannot link
+/// in a library unless there are references into the library. In particular,
+/// it seems that it is not possible to get things to work on Win32 without
+/// this. Though it is unused, do not remove it.
+extern "C" int ARMTargetMachineModule;
+int ARMTargetMachineModule = 0;
+
// Register the target.
static RegisterTarget<ARMTargetMachine> X("arm", "ARM");
static RegisterTarget<ThumbTargetMachine> Y("thumb", "Thumb");
OpenPOWER on IntegriCloud