summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2015-07-17 21:26:41 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2015-07-17 21:26:41 +0000
commit94f49511872a4a02bc9dbc31427a40fffda0d303 (patch)
treefc3359e999dadc6fdd898611281120ca71f184b8 /clang/lib/Basic/Targets.cpp
parentb873e84bd92f88966eca5834d5c5bcbca88608e3 (diff)
downloadbcm5719-llvm-94f49511872a4a02bc9dbc31427a40fffda0d303.tar.gz
bcm5719-llvm-94f49511872a4a02bc9dbc31427a40fffda0d303.zip
basic: default to MSVC on Windows
The "armv7-windows", "i686-windows", and "x86_64-windows" targets should be equivalent to the MSVC environment. This was previously discussed when the triples for Windows werw canonicalised. Im not sure how this was overlooked. This fixes the emission of non-COFF formats on Windows. Thanks to ki9a for reporting this issue over IRC! llvm-svn: 242574
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
-rw-r--r--clang/lib/Basic/Targets.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 38a6ba4eecb..e4c1feddf47 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -7084,8 +7084,6 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) {
return new NaClTargetInfo<ARMleTargetInfo>(Triple);
case llvm::Triple::Win32:
switch (Triple.getEnvironment()) {
- default:
- return new ARMleTargetInfo(Triple);
case llvm::Triple::Cygnus:
return new CygwinARMTargetInfo(Triple);
case llvm::Triple::GNU:
@@ -7093,6 +7091,7 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) {
case llvm::Triple::Itanium:
return new ItaniumWindowsARMleTargetInfo(Triple);
case llvm::Triple::MSVC:
+ default: // Assume MSVC for unknown environments
return new MicrosoftARMleTargetInfo(Triple);
}
default:
@@ -7347,14 +7346,13 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) {
return new SolarisTargetInfo<X86_32TargetInfo>(Triple);
case llvm::Triple::Win32: {
switch (Triple.getEnvironment()) {
- default:
- return new X86_32TargetInfo(Triple);
case llvm::Triple::Cygnus:
return new CygwinX86_32TargetInfo(Triple);
case llvm::Triple::GNU:
return new MinGWX86_32TargetInfo(Triple);
case llvm::Triple::Itanium:
case llvm::Triple::MSVC:
+ default: // Assume MSVC for unknown environments
return new MicrosoftX86_32TargetInfo(Triple);
}
}
@@ -7399,11 +7397,10 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple) {
return new SolarisTargetInfo<X86_64TargetInfo>(Triple);
case llvm::Triple::Win32: {
switch (Triple.getEnvironment()) {
- default:
- return new X86_64TargetInfo(Triple);
case llvm::Triple::GNU:
return new MinGWX86_64TargetInfo(Triple);
case llvm::Triple::MSVC:
+ default: // Assume MSVC for unknown environments
return new MicrosoftX86_64TargetInfo(Triple);
}
}
OpenPOWER on IntegriCloud