aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2010-12-17 19:13:21 +0000
committerEric Christopher <echristo@apple.com>2010-12-17 19:13:21 +0000
commit2c5c3135286a8cb27406dc6dcecfbd16e7c898fa (patch)
tree9044724a6699f380a3448c429ac029e9f2418f4f
parent154f251c6f47c68ba7c19ed1d5fb873de9fdece2 (diff)
Horrible hack for systems that use -dumpversion with clang to expect versions
that match gcc versions. Eew. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122080 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Basic/Version.h4
-rw-r--r--lib/Driver/Driver.cpp5
2 files changed, 8 insertions, 1 deletions
diff --git a/include/clang/Basic/Version.h b/include/clang/Basic/Version.h
index ede68ed50d..05eff65072 100644
--- a/include/clang/Basic/Version.h
+++ b/include/clang/Basic/Version.h
@@ -40,6 +40,10 @@
CLANG_MAKE_VERSION_STRING(CLANG_VERSION_MAJOR,CLANG_VERSION_MINOR)
#endif
+/// \brief A horrible hack to work around projects that depend upon gcc
+/// compatible compilers having versions that resemble gcc.
+#define GCC_COMPAT_VERSION_STRING CLANG_MAKE_VERSION_STRING(4,2)
+
namespace clang {
/// \brief Retrieves the repository path (e.g., Subversion path) that
/// identifies the particular Clang branch, tag, or trunk from which this
diff --git a/lib/Driver/Driver.cpp b/lib/Driver/Driver.cpp
index a3b7167c8b..621ce8dd58 100644
--- a/lib/Driver/Driver.cpp
+++ b/lib/Driver/Driver.cpp
@@ -417,8 +417,11 @@ bool Driver::HandleImmediateArgs(const Compilation &C) {
return false;
}
+ // This is a horrible hack. Some projects depend on gcc-like versions
+ // coming out of gcc -dumpversion to determine if the gcc compatible
+ // compiler has a correct version. Ideally we'd fix all of those projects.
if (C.getArgs().hasArg(options::OPT_dumpversion)) {
- llvm::outs() << CLANG_VERSION_STRING "\n";
+ llvm::outs() << GCC_COMPAT_VERSION_STRING "\n";
return false;
}