svn commit: r260148 - in vendor/clang/dist: docs lib/Basic lib/Parse test/Parser
Dimitry Andric
dim at FreeBSD.org
Wed Jan 1 00:37:44 UTC 2014
Author: dim
Date: Wed Jan 1 00:37:42 2014
New Revision: 260148
URL: http://svnweb.freebsd.org/changeset/base/260148
Log:
Vendor import of clang RELEASE_34/final tag r197956 (effectively, 3.4 release):
https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_34/final@197956
Modified:
vendor/clang/dist/docs/ReleaseNotes.rst
vendor/clang/dist/lib/Basic/Version.cpp
vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp
vendor/clang/dist/test/Parser/recovery.cpp
Modified: vendor/clang/dist/docs/ReleaseNotes.rst
==============================================================================
--- vendor/clang/dist/docs/ReleaseNotes.rst Wed Jan 1 00:37:10 2014 (r260147)
+++ vendor/clang/dist/docs/ReleaseNotes.rst Wed Jan 1 00:37:42 2014 (r260148)
@@ -18,23 +18,22 @@ documentation <http://llvm.org/docs/Rele
releases may be downloaded from the `LLVM releases web
site <http://llvm.org/releases/>`_.
-For more information about Clang or LLVM, including information about
-the latest release, please check out the main `Clang Web
-Site <http://clang.llvm.org>`_ or the `LLVM Web
-Site <http://llvm.org>`_.
-
-Note that if you are reading this file from a Subversion checkout or the
-main Clang web page, this document applies to the *next* release, not
-the current one. To see the release notes for a specific release, please
-see the `releases page <http://llvm.org/releases/>`_.
+For more information about Clang or LLVM, including information about the
+latest release, please check out the main `Clang Web Site
+<http://clang.llvm.org>`_ or the `LLVM Web Site <http://llvm.org>`_.
+
+Note that if you are reading this file from a Subversion checkout or the main
+Clang web page, this document applies to the *next* release, not the current
+one. To see the release notes for a specific release, please see the `releases
+page <http://llvm.org/releases/>`_.
What's New in Clang 3.4?
========================
-Some of the major new features and improvements to Clang are listed
-here. Generic improvements to Clang as a whole or to its underlying
-infrastructure are described first, followed by language-specific
-sections with improvements to Clang's support for those languages.
+Some of the major new features and improvements to Clang are listed here.
+Generic improvements to Clang as a whole or to its underlying infrastructure
+are described first, followed by language-specific sections with improvements
+to Clang's support for those languages.
Last release which will build as C++98
--------------------------------------
@@ -58,9 +57,9 @@ Major New Features
Improvements to Clang's diagnostics
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Clang's diagnostics are constantly being improved to catch more issues,
-explain them more clearly, and provide more accurate source information
-about them. The improvements since the 3.3 release include:
+Clang's diagnostics are constantly being improved to catch more issues, explain
+them more clearly, and provide more accurate source information about them. The
+improvements since the 3.3 release include:
- -Wheader-guard warns on mismatches between the #ifndef and #define lines
in a header guard.
Modified: vendor/clang/dist/lib/Basic/Version.cpp
==============================================================================
--- vendor/clang/dist/lib/Basic/Version.cpp Wed Jan 1 00:37:10 2014 (r260147)
+++ vendor/clang/dist/lib/Basic/Version.cpp Wed Jan 1 00:37:42 2014 (r260148)
@@ -36,7 +36,7 @@ std::string getClangRepositoryPath() {
// If the SVN_REPOSITORY is empty, try to use the SVN keyword. This helps us
// pick up a tag in an SVN export, for example.
- StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/branches/release_34/lib/Basic/Version.cpp $");
+ StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_34/final/lib/Basic/Version.cpp $");
if (URL.empty()) {
URL = SVNRepository.slice(SVNRepository.find(':'),
SVNRepository.find("/lib/Basic"));
Modified: vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp
==============================================================================
--- vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp Wed Jan 1 00:37:10 2014 (r260147)
+++ vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp Wed Jan 1 00:37:42 2014 (r260148)
@@ -1427,7 +1427,13 @@ void Parser::ParseClassSpecifier(tok::To
<< DeclSpec::getSpecifierName(TagType);
}
- SkipUntil(tok::comma, StopAtSemi);
+ // If we are parsing a definition and stop at a base-clause, continue on
+ // until the semicolon. Continuing from the comma will just trick us into
+ // thinking we are seeing a variable declaration.
+ if (TUK == Sema::TUK_Definition && Tok.is(tok::colon))
+ SkipUntil(tok::semi, StopBeforeMatch);
+ else
+ SkipUntil(tok::comma, StopAtSemi);
return;
}
Modified: vendor/clang/dist/test/Parser/recovery.cpp
==============================================================================
--- vendor/clang/dist/test/Parser/recovery.cpp Wed Jan 1 00:37:10 2014 (r260147)
+++ vendor/clang/dist/test/Parser/recovery.cpp Wed Jan 1 00:37:42 2014 (r260148)
@@ -119,3 +119,9 @@ void MissingSemiInFunction() {
struct Inner4 {} // ok, no missing ';' here
Inner5;
}
+
+namespace PR17084 {
+enum class EnumID {};
+template <typename> struct TempID;
+template <> struct TempID<BadType> : BadType, EnumID::Garbage; // expected-error{{use of undeclared identifier 'BadType'}}
+}
More information about the svn-src-vendor
mailing list