Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(448)

Unified Diff: lib/Support/Triple.cpp

Issue 7730004: add llvm configure flags to enable/disable target OSes/Envs Base URL: https://llvm.org/svn/llvm-project/llvm/trunk/
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/MC/MCObjectFileInfo.cpp ('k') | lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/Support/Triple.cpp
===================================================================
--- lib/Support/Triple.cpp (revision 138335)
+++ lib/Support/Triple.cpp (working copy)
@@ -10,6 +10,7 @@
#include "llvm/ADT/Triple.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/STLExtras.h"
+#include "llvm/Support/ErrorHandling.h"
#include <cstring>
using namespace llvm;
@@ -328,58 +329,156 @@
Triple::OSType Triple::ParseOS(StringRef OSName) {
if (OSName.startswith("auroraux"))
+#if defined(LLVM_ENABLED_TARGET_OS_AURORAUX)
return AuroraUX;
+#else
+ llvm_unreachable(
+ "ParseOS auroraux w/out LLVM_ENABLED_TARGET_OS_AURORAUX");
+#endif
else if (OSName.startswith("cygwin"))
+#if defined(LLVM_ENABLED_TARGET_OS_CYGWIN)
return Cygwin;
+#else
+ llvm_unreachable("ParseOS cygwin w/out LLVM_ENABLED_TARGET_OS_CYGWIN");
+#endif
else if (OSName.startswith("darwin"))
+#if defined(LLVM_ENABLED_TARGET_OS_DARWIN)
return Darwin;
+#else
+ llvm_unreachable("ParseOS darwin w/out LLVM_ENABLED_TARGET_OS_DARWIN");
+#endif
else if (OSName.startswith("dragonfly"))
+#if defined(LLVM_ENABLED_TARGET_OS_DRAGONFLY)
return DragonFly;
+#else
+ llvm_unreachable(
+ "ParseOS dragonfly w/out LLVM_ENABLED_TARGET_OS_DRAGONFLY");
+#endif
else if (OSName.startswith("freebsd"))
+#if defined(LLVM_ENABLED_TARGET_OS_FREEBSD)
return FreeBSD;
+#else
+ llvm_unreachable("ParseOS freebsd w/out LLVM_ENABLED_TARGET_OS_FREEBSD");
+#endif
else if (OSName.startswith("ios"))
+#if defined(LLVM_ENABLED_TARGET_OS_IOS)
return IOS;
+#else
+ llvm_unreachable("ParseOS ios w/out LLVM_ENABLED_TARGET_OS_IOS");
+#endif
else if (OSName.startswith("kfreebsd"))
+#if defined(LLVM_ENABLED_TARGET_OS_KFREEBSD)
return KFreeBSD;
+#else
+ llvm_unreachable("ParseOS kfreebsd w/out LLVM_ENABLED_TARGET_OS_KFREEBSD");
+#endif
else if (OSName.startswith("linux"))
+#if defined(LLVM_ENABLED_TARGET_OS_LINUX)
return Linux;
+#else
+ llvm_unreachable("ParseOS linux w/out LLVM_ENABLED_TARGET_OS_LINUX");
+#endif
else if (OSName.startswith("lv2"))
+#if defined(LLVM_ENABLED_TARGET_OS_LV2)
return Lv2;
+#else
+ llvm_unreachable("ParseOS lv2 w/out LLVM_ENABLED_TARGET_OS_LV2");
+#endif
else if (OSName.startswith("macosx"))
+#if defined(LLVM_ENABLED_TARGET_OS_MACOSX)
return MacOSX;
+#else
+ llvm_unreachable("ParseOS macosx w/out LLVM_ENABLED_TARGET_OS_MACOSX");
+#endif
else if (OSName.startswith("mingw32"))
+#if defined(LLVM_ENABLED_TARGET_OS_MINGW32)
return MinGW32;
+#else
+ llvm_unreachable("ParseOS mingw32 w/out LLVM_ENABLED_TARGET_OS_MINGW32");
+#endif
else if (OSName.startswith("netbsd"))
+#if defined(LLVM_ENABLED_TARGET_OS_NETBSD)
return NetBSD;
+#else
+ llvm_unreachable("ParseOS netbsd w/out LLVM_ENABLED_TARGET_OS_NETBSD");
+#endif
else if (OSName.startswith("openbsd"))
+#if defined(LLVM_ENABLED_TARGET_OS_OPENBSD)
return OpenBSD;
+#else
+ llvm_unreachable("ParseOS openbsd w/out LLVM_ENABLED_TARGET_OS_OPENBSD");
+#endif
else if (OSName.startswith("psp"))
+#if defined(LLVM_ENABLED_TARGET_OS_PSP)
return Psp;
+#else
+ llvm_unreachable("ParseOS psp w/out LLVM_ENABLED_TARGET_OS_PSP");
+#endif
else if (OSName.startswith("solaris"))
+#if defined(LLVM_ENABLED_TARGET_OS_SOLARIS)
return Solaris;
+#else
+ llvm_unreachable("ParseOS solaris w/out LLVM_ENABLED_TARGET_OS_SOLARIS");
+#endif
else if (OSName.startswith("win32"))
+#if defined(LLVM_ENABLED_TARGET_OS_WIN32)
return Win32;
+#else
+ llvm_unreachable("ParseOS win32 w/out LLVM_ENABLED_TARGET_OS_WIN32");
+#endif
else if (OSName.startswith("haiku"))
+#if defined(LLVM_ENABLED_TARGET_OS_HAIKU)
return Haiku;
+#else
+ llvm_unreachable("ParseOS haiku w/out LLVM_ENABLED_TARGET_OS_HAIKU");
+#endif
else if (OSName.startswith("minix"))
+#if defined(LLVM_ENABLED_TARGET_OS_MINIX)
return Minix;
+#else
+ llvm_unreachable("ParseOS minix w/out LLVM_ENABLED_TARGET_OS_MINIX");
+#endif
else if (OSName.startswith("rtems"))
+#if defined(LLVM_ENABLED_TARGET_OS_RTEMS)
return RTEMS;
+#else
+ llvm_unreachable("ParseOS rtems w/out LLVM_ENABLED_TARGET_OS_RTEMS");
+#endif
else if (OSName.startswith("nacl"))
+#if defined(LLVM_ENABLED_TARGET_OS_NATIVECLIENT)
return NativeClient;
+#else
+ llvm_unreachable("ParseOS nacl w/out LLVM_ENABLED_TARGET_OS_NATIVECLIENT");
+#endif
else
return UnknownOS;
}
Triple::EnvironmentType Triple::ParseEnvironment(StringRef EnvironmentName) {
if (EnvironmentName.startswith("eabi"))
+#if defined(LLVM_ENABLED_TARGET_ENV_EABI)
return EABI;
+#else
+ llvm_unreachable("ParseEnv eabi w/out LLVM_ENABLED_TARGET_ENV_EABI");
+#endif
else if (EnvironmentName.startswith("gnueabi"))
+#if defined(LLVM_ENABLED_TARGET_ENV_GNUEABI)
return GNUEABI;
+#else
+ llvm_unreachable("ParseEnv gnueabi w/out LLVM_ENABLED_TARGET_ENV_GNUEABI");
+#endif
else if (EnvironmentName.startswith("gnu"))
+#if defined(LLVM_ENABLED_TARGET_ENV_GNU)
return GNU;
+#else
+ llvm_unreachable("ParseEnv gnu w/out LLVM_ENABLED_TARGET_ENV_GNU");
+#endif
else if (EnvironmentName.startswith("macho"))
+#if defined(LLVM_ENABLED_TARGET_ENV_MACHO)
return MachO;
+#else
+ llvm_unreachable("ParseEnv macho w/out LLVM_ENABLED_TARGET_ENV_MACHO");
+#endif
else
return UnknownEnvironment;
}
« no previous file with comments | « lib/MC/MCObjectFileInfo.cpp ('k') | lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698