From: Eric Christopher Date: Fri, 17 Dec 2010 19:13:21 +0000 (+0000) Subject: Horrible hack for systems that use -dumpversion with clang to expect versions X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2c5c3135286a8cb27406dc6dcecfbd16e7c898fa;p=clang 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 --- 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; }