[llvm-branch-commits] [cfe-branch] r216835 - Some Clang 3.5 release note updates.

Richard Smith richard-llvm at metafoo.co.uk
Sat Aug 30 20:54:48 PDT 2014


Author: rsmith
Date: Sat Aug 30 22:54:48 2014
New Revision: 216835

URL: http://llvm.org/viewvc/llvm-project?rev=216835&view=rev
Log:
Some Clang 3.5 release note updates.

Modified:
    cfe/branches/release_35/docs/ClangFormatStyleOptions.rst
    cfe/branches/release_35/docs/LanguageExtensions.rst
    cfe/branches/release_35/docs/ReleaseNotes.rst
    cfe/branches/release_35/docs/UsersManual.rst

Modified: cfe/branches/release_35/docs/ClangFormatStyleOptions.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_35/docs/ClangFormatStyleOptions.rst?rev=216835&r1=216834&r2=216835&view=diff
==============================================================================
--- cfe/branches/release_35/docs/ClangFormatStyleOptions.rst (original)
+++ cfe/branches/release_35/docs/ClangFormatStyleOptions.rst Sat Aug 30 22:54:48 2014
@@ -213,7 +213,7 @@ the configuration (without a prefix: ``A
 
 **DerivePointerAlignment** (``bool``)
   If ``true``, analyze the formatted file for the most common
-  alignment of & and *. ``PointerAlignment`` is then used only as fallback.
+  alignment of & and \*. ``PointerAlignment`` is then used only as fallback.
 
 **DisableFormat** (``bool``)
   Disables formatting at all.

Modified: cfe/branches/release_35/docs/LanguageExtensions.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_35/docs/LanguageExtensions.rst?rev=216835&r1=216834&r2=216835&view=diff
==============================================================================
--- cfe/branches/release_35/docs/LanguageExtensions.rst (original)
+++ cfe/branches/release_35/docs/LanguageExtensions.rst Sat Aug 30 22:54:48 2014
@@ -1780,6 +1780,8 @@ it causes the instantiation of ``twice``
 these two instantiations, ``twice`` will be optimized (because its definition
 was outside the region) and ``thrice`` will not be optimized.
 
+.. _langext-pragma-loop:
+
 Extensions for loop hint optimizations
 ======================================
 

Modified: cfe/branches/release_35/docs/ReleaseNotes.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_35/docs/ReleaseNotes.rst?rev=216835&r1=216834&r2=216835&view=diff
==============================================================================
--- cfe/branches/release_35/docs/ReleaseNotes.rst (original)
+++ cfe/branches/release_35/docs/ReleaseNotes.rst Sat Aug 30 22:54:48 2014
@@ -76,6 +76,15 @@ about them. The improvements since the 3
 - GCC compatibility: Clang displays a warning on unsupported gcc
   optimization flags instead of an error.
 
+- Remarks system: Clang supports `-R` flags for enabling remarks. These are
+  diagnostic messages that provide information about the compilation process,
+  but don't suggest that a problem has been detected. As such, they cannot
+  be upgraded to errors with `-Werror` or `-Rerror`. A `-Reverything` flag
+  is provided (paralleling `-Weverything`) to turn on all remarks.
+
+- New remark `-Rpass`: Clang provides information about decisions made by
+  optimization passes during compilation. See :ref:`opt_rpass`.
+
 - New warning `-Wabsolute-value`: Clang warns about incorrect or useless usage
   of the absolute functions (`abs`, `fabsf`, etc).
 
@@ -177,8 +186,8 @@ New Pragmas in Clang
 Loop optimization hints can be specified using the new `#pragma clang loop`
 directive just prior to the desired loop. The directive allows vectorization,
 interleaving, and unrolling to be enabled or disabled. Vector width as well
-as interleave and unrolling count can be manually specified.  See language
-extensions for details.
+as interleave and unrolling count can be manually specified.  See
+:ref:`langext-pragma-loop` for details.
 
 Clang now supports the `#pragma unroll` directive to specify loop unrolling
 optimization hints.  Placed just prior to the desired loop, `#pragma unroll`
@@ -200,12 +209,31 @@ C11 Feature Support
 C++ Language Changes in Clang
 -----------------------------
 
+- Reference parameters and return values from functions are more aggressively
+  assumed to refer to valid objects when optimizing. Clang will attempt to
+  issue a warning by default if it sees null checks being performed on
+  references, and `-fsanitize=null` can be used to detect null references
+  being formed at runtime.
+
 - ...
 
-C++11 Feature Support
+C++17 Feature Support
 ^^^^^^^^^^^^^^^^^^^^^
 
-...
+Clang has experimental support for some proposed C++1z (tentatively, C++17)
+features. This support can be enabled using the `-std=c++1z` flag. The
+supported features are:
+
+- `static_assert(expr)` with no message
+
+- `for (identifier : range)` as a synonym for `for (auto &&identifier : range)`
+
+- `template<template<...> typename>` as a synonym for `template<template<...> class>`
+
+Additionally, trigraphs are not recognized by default in this mode.
+`-ftrigraphs` can be used if you need to parse legacy code that uses trigraphs.
+Note that these features may be changed or removed in future Clang releases
+without notice.
 
 Objective-C Language Changes in Clang
 -------------------------------------
@@ -231,7 +259,8 @@ These are major API changes that have ha
 Clang. If upgrading an external codebase that uses Clang as a library,
 this section should help get you past the largest hurdles of upgrading.
 
-...
+- Clang uses `std::unique_ptr<T>` in many places where it used to use
+  raw `T *` pointers.
 
 libclang
 --------
@@ -244,7 +273,7 @@ Static Analyzer
 Check for code testing a variable for 0 after using it as a denominator.
 This new checker, alpha.core.TestAfterDivZero, catches issues like this:
 
-.. code:: c
+.. code-block:: c
 
   int sum = ...
   int avg = sum / count; // potential division by zero...

Modified: cfe/branches/release_35/docs/UsersManual.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/branches/release_35/docs/UsersManual.rst?rev=216835&r1=216834&r2=216835&view=diff
==============================================================================
--- cfe/branches/release_35/docs/UsersManual.rst (original)
+++ cfe/branches/release_35/docs/UsersManual.rst Sat Aug 30 22:54:48 2014
@@ -531,6 +531,8 @@ control the crash diagnostics.
 The -fno-crash-diagnostics flag can be helpful for speeding the process
 of generating a delta reduced test case.
 
+.. _opt_rpass:
+
 Options to Emit Optimization Reports
 ------------------------------------
 





More information about the llvm-branch-commits mailing list