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-all mailing list