summaryrefslogtreecommitdiffstats
path: root/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2017-08-13 19:42:17 +0000
committerMartin Storsjo <martin@martin.st>2017-08-13 19:42:17 +0000
commit4fe40d82f8df672e374871dc8c09cb8128f9dc1e (patch)
tree8cd9c99d238d183e4c8775a141a321b4691ef8f4 /lib/Basic/Targets.cpp
parent7602b13a8e8b5656afd6327d112b76b39f836e5b (diff)
[AArch64] Add support for a MinGW AArch64 target
Differential Revision: https://reviews.llvm.org/D36364 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@310798 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic/Targets.cpp')
-rw-r--r--lib/Basic/Targets.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index 9946f82405..3c1c08bb05 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -142,7 +142,13 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
case llvm::Triple::OpenBSD:
return new OpenBSDTargetInfo<AArch64leTargetInfo>(Triple, Opts);
case llvm::Triple::Win32:
- return new MicrosoftARM64TargetInfo(Triple, Opts);
+ switch (Triple.getEnvironment()) {
+ case llvm::Triple::GNU:
+ return new MinGWARM64TargetInfo(Triple, Opts);
+ case llvm::Triple::MSVC:
+ default: // Assume MSVC for unknown environments
+ return new MicrosoftARM64TargetInfo(Triple, Opts);
+ }
default:
return new AArch64leTargetInfo(Triple, Opts);
}