mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-29 19:16:06 +00:00
Clear release notes for 6.0.0
llvm-svn: 308478
This commit is contained in:
parent
5a1606d562
commit
fbb21e0315
@ -1,5 +1,5 @@
|
||||
=======================================
|
||||
Clang 5.0.0 (In-Progress) Release Notes
|
||||
Clang 6.0.0 (In-Progress) Release Notes
|
||||
=======================================
|
||||
|
||||
.. contents::
|
||||
@ -10,7 +10,7 @@ Written by the `LLVM Team <http://llvm.org/>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
These are in-progress notes for the upcoming Clang 5 release.
|
||||
These are in-progress notes for the upcoming Clang 6 release.
|
||||
Release notes for previous releases can be found on
|
||||
`the Download Page <http://releases.llvm.org/download.html>`_.
|
||||
|
||||
@ -18,7 +18,7 @@ Introduction
|
||||
============
|
||||
|
||||
This document contains the release notes for the Clang C/C++/Objective-C
|
||||
frontend, part of the LLVM Compiler Infrastructure, release 5.0.0. Here we
|
||||
frontend, part of the LLVM Compiler Infrastructure, release 6.0.0. Here we
|
||||
describe the status of Clang in some detail, including major
|
||||
improvements from the previous release and new feature work. For the
|
||||
general LLVM release notes, see `the LLVM
|
||||
@ -36,7 +36,7 @@ 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 5.0.0?
|
||||
What's New in Clang 6.0.0?
|
||||
==========================
|
||||
|
||||
Some of the major new features and improvements to Clang are listed
|
||||
@ -52,11 +52,7 @@ Major New Features
|
||||
Improvements to Clang's diagnostics
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- -Wcast-qual was implemented for C++. C-style casts are now properly
|
||||
diagnosed.
|
||||
|
||||
- -Wunused-lambda-capture warns when a variable explicitly captured
|
||||
by a lambda is not used in the body of the lambda.
|
||||
- ...
|
||||
|
||||
New Compiler Flags
|
||||
------------------
|
||||
@ -69,9 +65,7 @@ Deprecated Compiler Flags
|
||||
The following options are deprecated and ignored. They will be removed in
|
||||
future versions of Clang.
|
||||
|
||||
- -fslp-vectorize-aggressive used to enable the BB vectorizing pass. They have been superseeded
|
||||
by the normal SLP vectorizer.
|
||||
- -fno-slp-vectorize-aggressive used to be the default behavior of clang.
|
||||
- ...
|
||||
|
||||
New Pragmas in Clang
|
||||
-----------------------
|
||||
@ -82,9 +76,7 @@ Clang now supports the ...
|
||||
Attribute Changes in Clang
|
||||
--------------------------
|
||||
|
||||
- The ``overloadable`` attribute now allows at most one function with a given
|
||||
name to lack the ``overloadable`` attribute. This unmarked function will not
|
||||
have its name mangled.
|
||||
- ...
|
||||
|
||||
Windows Support
|
||||
---------------
|
||||
@ -147,49 +139,7 @@ AST Matchers
|
||||
clang-format
|
||||
------------
|
||||
|
||||
* Option **BreakBeforeInheritanceComma** added to break before ``:`` and ``,`` in case of
|
||||
multiple inheritance in a class declaration. Enabled by default in the Mozilla coding style.
|
||||
|
||||
+---------------------+----------------------------------------+
|
||||
| true | false |
|
||||
+=====================+========================================+
|
||||
| .. code-block:: c++ | .. code-block:: c++ |
|
||||
| | |
|
||||
| class MyClass | class MyClass : public X, public Y { |
|
||||
| : public X | }; |
|
||||
| , public Y { | |
|
||||
| }; | |
|
||||
+---------------------+----------------------------------------+
|
||||
|
||||
* Align block comment decorations.
|
||||
|
||||
+----------------------+---------------------+
|
||||
| Before | After |
|
||||
+======================+=====================+
|
||||
| .. code-block:: c++ | .. code-block:: c++ |
|
||||
| | |
|
||||
| /* line 1 | /* line 1 |
|
||||
| * line 2 | * line 2 |
|
||||
| */ | */ |
|
||||
+----------------------+---------------------+
|
||||
|
||||
* The :doc:`ClangFormatStyleOptions` documentation provides detailed examples for most options.
|
||||
|
||||
* Namespace end comments are now added or updated automatically.
|
||||
|
||||
+---------------------+---------------------+
|
||||
| Before | After |
|
||||
+=====================+=====================+
|
||||
| .. code-block:: c++ | .. code-block:: c++ |
|
||||
| | |
|
||||
| namespace A { | namespace A { |
|
||||
| int i; | int i; |
|
||||
| int j; | int j; |
|
||||
| } | } |
|
||||
+---------------------+---------------------+
|
||||
|
||||
* Comment reflow support added. Overly long comment lines will now be reflown with the rest of
|
||||
the paragraph instead of just broken. Option **ReflowComments** added and enabled by default.
|
||||
...
|
||||
|
||||
libclang
|
||||
--------
|
||||
@ -205,27 +155,7 @@ Static Analyzer
|
||||
Undefined Behavior Sanitizer (UBSan)
|
||||
------------------------------------
|
||||
|
||||
- The Undefined Behavior Sanitizer has a new check for pointer overflow. This
|
||||
check is on by default. The flag to control this functionality is
|
||||
-fsanitize=pointer-overflow.
|
||||
|
||||
Pointer overflow is an indicator of undefined behavior: when a pointer
|
||||
indexing expression wraps around the address space, or produces other
|
||||
unexpected results, its result may not point to a valid object.
|
||||
|
||||
- UBSan has several new checks which detect violations of nullability
|
||||
annotations. These checks are off by default. The flag to control this group
|
||||
of checks is -fsanitize=nullability. The checks can be individially enabled
|
||||
by -fsanitize=nullability-arg (which checks calls),
|
||||
-fsanitize=nullability-assign (which checks assignments), and
|
||||
-fsanitize=nullability-return (which checks return statements).
|
||||
|
||||
- UBSan can now detect invalid loads from bitfields and from ObjC BOOLs.
|
||||
|
||||
- UBSan can now avoid emitting unnecessary type checks in C++ class methods and
|
||||
in several other cases where the result is known at compile-time. UBSan can
|
||||
also avoid emitting unnecessary overflow checks in arithmetic expressions
|
||||
with promoted integer operands.
|
||||
...
|
||||
|
||||
Core Analysis Improvements
|
||||
==========================
|
||||
|
Loading…
x
Reference in New Issue
Block a user