diff options
-rw-r--r-- | include/clang/Basic/Version.h | 4 | ||||
-rw-r--r-- | lib/Driver/Driver.cpp | 5 |
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; } |