aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSylvestre Ledru <sylvestre@debian.org>2019-07-12 21:45:08 +0000
committerSylvestre Ledru <sylvestre@debian.org>2019-07-12 21:45:08 +0000
commit603580216f0aa387b0d4c01b8d2f05873e6a98e2 (patch)
treeab39f999692b4272ccc11fcf7deb2495232d16a9
parent4d95c3684b31350fa31682618e470649a858873a (diff)
downloadllvm-603580216f0aa387b0d4c01b8d2f05873e6a98e2.zip
llvm-603580216f0aa387b0d4c01b8d2f05873e6a98e2.tar.gz
llvm-603580216f0aa387b0d4c01b8d2f05873e6a98e2.tar.bz2
Remove __VERSION__
Summary: It has been introduced in 2011 for gcc compat: https://github.com/llvm-mirror/clang/commit/ad1a4c6e89594e704775ddb6b036ac982fd68cad it is probably time to remove it Reviewers: rnk, dexonsmith Reviewed By: rnk Subscribers: dschuff, aheejin, fedor.sergeev, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D64062 llvm-svn: 365962
-rw-r--r--clang/docs/LanguageExtensions.rst2
-rw-r--r--clang/docs/ReleaseNotes.rst10
-rw-r--r--clang/lib/Basic/Version.cpp2
-rw-r--r--clang/lib/Frontend/InitPreprocessor.cpp6
-rw-r--r--clang/test/Index/complete-exprs.c2
-rw-r--r--clang/test/Preprocessor/init.c4
-rw-r--r--clang/utils/builtin-defines.c1
7 files changed, 12 insertions, 15 deletions
diff --git a/clang/docs/LanguageExtensions.rst b/clang/docs/LanguageExtensions.rst
index ecbf04c..61152a2 100644
--- a/clang/docs/LanguageExtensions.rst
+++ b/clang/docs/LanguageExtensions.rst
@@ -324,6 +324,8 @@ option for a warning and returns true if that is a valid warning option.
...
#endif
+.. _languageextensions-builtin-macros:
+
Builtin Macros
==============
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index f0a3505..7185030 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -56,6 +56,11 @@ Improvements to Clang's diagnostics
Non-comprehensive list of changes in this release
-------------------------------------------------
+- The ``__VERSION__`` macro has been removed.
+ Previously this macro was set to a string aiming to achieve compatibility with
+ GCC 4.2.1, but that should no longer be necessary. To get Clang's version,
+ use the :ref:`clang namespaced version macros <languageextensions-builtin-macros>`.
+
- ...
@@ -79,6 +84,11 @@ Modified Compiler Flags
- ...
+Removed Compiler Options
+------------------------
+
+- ...
+
New Pragmas in Clang
--------------------
diff --git a/clang/lib/Basic/Version.cpp b/clang/lib/Basic/Version.cpp
index d656458..5fd1276 100644
--- a/clang/lib/Basic/Version.cpp
+++ b/clang/lib/Basic/Version.cpp
@@ -136,8 +136,6 @@ std::string getClangToolFullVersion(StringRef ToolName) {
}
std::string getClangFullCPPVersion() {
- // The version string we report in __VERSION__ is just a compacted version of
- // the one we report on the command line.
std::string buf;
llvm::raw_string_ostream OS(buf);
#ifdef CLANG_VENDOR
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp
index 1741ba5..a02c266 100644
--- a/clang/lib/Frontend/InitPreprocessor.cpp
+++ b/clang/lib/Frontend/InitPreprocessor.cpp
@@ -604,12 +604,6 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
// Support for #pragma redefine_extname (Sun compatibility)
Builder.defineMacro("__PRAGMA_REDEFINE_EXTNAME", "1");
- // As sad as it is, enough software depends on the __VERSION__ for version
- // checks that it is necessary to report 4.2.1 (the base GCC version we claim
- // compatibility with) first.
- Builder.defineMacro("__VERSION__", "\"4.2.1 Compatible " +
- Twine(getClangFullCPPVersion()) + "\"");
-
// Initialize language-specific preprocessor defines.
// Standard conforming mode?
diff --git a/clang/test/Index/complete-exprs.c b/clang/test/Index/complete-exprs.c
index 9beb16d..50f5025f 100644
--- a/clang/test/Index/complete-exprs.c
+++ b/clang/test/Index/complete-exprs.c
@@ -27,7 +27,6 @@ void f5(float f) {
// RUN: c-index-test -code-completion-at=%s:7:10 -Xclang -code-completion-patterns %s | FileCheck -check-prefix=CHECK-CC1 %s
// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:7:10 -Xclang -code-completion-patterns %s | FileCheck -check-prefix=CHECK-CC1 %s
// CHECK-CC1: NotImplemented:{TypedText __PRETTY_FUNCTION__} (65)
-// CHECK-CC1: macro definition:{TypedText __VERSION__} (70)
// CHECK-CC1: FunctionDecl:{ResultType int}{TypedText f}{LeftParen (}{Placeholder int}{RightParen )} (12) (unavailable)
// CHECK-CC1-NOT: NotImplemented:{TypedText float} (65)
// CHECK-CC1: ParmDecl:{ResultType int}{TypedText j} (8)
@@ -39,7 +38,6 @@ void f5(float f) {
// RUN: c-index-test -code-completion-at=%s:7:18 -Xclang -code-completion-patterns %s | FileCheck -check-prefix=CHECK-CC1 %s
// RUN: c-index-test -code-completion-at=%s:7:22 -Xclang -code-completion-patterns %s | FileCheck -check-prefix=CHECK-CC1 %s
// RUN: c-index-test -code-completion-at=%s:7:2 -Xclang -code-completion-patterns %s | FileCheck -check-prefix=CHECK-CC2 %s
-// CHECK-CC2: macro definition:{TypedText __VERSION__} (70)
// CHECK-CC2: FunctionDecl:{ResultType int}{TypedText f}{LeftParen (}{Placeholder int}{RightParen )} (50)
// CHECK-CC2: NotImplemented:{TypedText float} (50)
// CHECK-CC2: ParmDecl:{ResultType int}{TypedText j} (34)
diff --git a/clang/test/Preprocessor/init.c b/clang/test/Preprocessor/init.c
index 8df3b4b..00a7c7b 100644
--- a/clang/test/Preprocessor/init.c
+++ b/clang/test/Preprocessor/init.c
@@ -101,7 +101,6 @@
// COMMON:#define __ORDER_PDP_ENDIAN__ 3412
// COMMON:#define __STDC_HOSTED__ 1
// COMMON:#define __STDC__ 1
-// COMMON:#define __VERSION__ {{.*}}
// COMMON:#define __clang__ 1
// COMMON:#define __clang_major__ {{[0-9]+}}
// COMMON:#define __clang_minor__ {{[0-9]+}}
@@ -8169,7 +8168,6 @@
// SPARC:#define __UINT_LEAST8_MAX__ 255
// SPARC:#define __UINT_LEAST8_TYPE__ unsigned char
// SPARC:#define __USER_LABEL_PREFIX__
-// SPARC:#define __VERSION__ "4.2.1 Compatible{{.*}}
// SPARC:#define __WCHAR_MAX__ 2147483647
// SPARC:#define __WCHAR_TYPE__ int
// SPARC:#define __WCHAR_WIDTH__ 32
@@ -9041,7 +9039,6 @@
// X86_64-CLOUDABI:#define __UINT_LEAST8_MAX__ 255
// X86_64-CLOUDABI:#define __UINT_LEAST8_TYPE__ unsigned char
// X86_64-CLOUDABI:#define __USER_LABEL_PREFIX__
-// X86_64-CLOUDABI:#define __VERSION__ "4.2.1 Compatible{{.*}}
// X86_64-CLOUDABI:#define __WCHAR_MAX__ 2147483647
// X86_64-CLOUDABI:#define __WCHAR_TYPE__ int
// X86_64-CLOUDABI:#define __WCHAR_WIDTH__ 32
@@ -10043,7 +10040,6 @@
// WEBASSEMBLY-NEXT:#define __UINT_LEAST8_MAX__ 255
// WEBASSEMBLY-NEXT:#define __UINT_LEAST8_TYPE__ unsigned char
// WEBASSEMBLY-NEXT:#define __USER_LABEL_PREFIX__
-// WEBASSEMBLY-NEXT:#define __VERSION__ "{{.*}}"
// WEBASSEMBLY-NEXT:#define __WCHAR_MAX__ 2147483647
// WEBASSEMBLY-NEXT:#define __WCHAR_TYPE__ int
// WEBASSEMBLY-NOT:#define __WCHAR_UNSIGNED__
diff --git a/clang/utils/builtin-defines.c b/clang/utils/builtin-defines.c
index 9bbe5be..2936d63 100644
--- a/clang/utils/builtin-defines.c
+++ b/clang/utils/builtin-defines.c
@@ -49,7 +49,6 @@ RUN: done;
#undef __INT8_TYPE__
#undef __SSP__
#undef __APPLE_CC__
-#undef __VERSION__
#undef __clang__
#undef __llvm__
#undef __nocona