[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