mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-23 22:00:10 +00:00
Bump the trunk major version to 11
and clear the release notes.
This commit is contained in:
parent
e26a78e708
commit
5852475e2c
@ -1,5 +1,5 @@
|
||||
====================================================
|
||||
Extra Clang Tools 10.0.0 (In-Progress) Release Notes
|
||||
Extra Clang Tools 11.0.0 (In-Progress) Release Notes
|
||||
====================================================
|
||||
|
||||
.. contents::
|
||||
@ -10,7 +10,7 @@ Written by the `LLVM Team <https://llvm.org/>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
These are in-progress notes for the upcoming Extra Clang Tools 10 release.
|
||||
These are in-progress notes for the upcoming Extra Clang Tools 11 release.
|
||||
Release notes for previous releases can be found on
|
||||
`the Download Page <https://releases.llvm.org/download.html>`_.
|
||||
|
||||
@ -18,7 +18,7 @@ Introduction
|
||||
============
|
||||
|
||||
This document contains the release notes for the Extra Clang Tools, part of the
|
||||
Clang release 10.0.0. Here we describe the status of the Extra Clang Tools in
|
||||
Clang release 11.0.0. Here we describe the status of the Extra Clang Tools in
|
||||
some detail, including major improvements from the previous release and new
|
||||
feature work. All LLVM releases may be downloaded from the `LLVM releases web
|
||||
site <https://llvm.org/releases/>`_.
|
||||
@ -27,12 +27,12 @@ For more information about Clang or LLVM, including information about
|
||||
the latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or
|
||||
the `LLVM Web Site <https://llvm.org>`_.
|
||||
|
||||
Note that if you are reading this file from a Subversion checkout or the
|
||||
Note that if you are reading this file from a Git 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 <https://llvm.org/releases/>`_.
|
||||
|
||||
What's New in Extra Clang Tools 10.0.0?
|
||||
What's New in Extra Clang Tools 11.0.0?
|
||||
=======================================
|
||||
|
||||
Some of the major new features and improvements to Extra Clang Tools are listed
|
||||
@ -52,7 +52,7 @@ The improvements are...
|
||||
Improvements to clang-doc
|
||||
-------------------------
|
||||
|
||||
- :doc:`clang-doc <clang-doc>` now generates documentation in HTML format.
|
||||
The improvements are...
|
||||
|
||||
Improvements to clang-query
|
||||
---------------------------
|
||||
@ -70,188 +70,18 @@ Improvements to clang-tidy
|
||||
New checks
|
||||
^^^^^^^^^^
|
||||
|
||||
- New :doc:`bugprone-bad-signal-to-kill-thread
|
||||
<clang-tidy/checks/bugprone-bad-signal-to-kill-thread>` check.
|
||||
|
||||
Finds ``pthread_kill`` function calls when a thread is terminated by
|
||||
raising ``SIGTERM`` signal.
|
||||
|
||||
- New :doc:`bugprone-dynamic-static-initializers
|
||||
<clang-tidy/checks/bugprone-dynamic-static-initializers>` check.
|
||||
|
||||
Finds instances where variables with static storage are initialized
|
||||
dynamically in header files.
|
||||
|
||||
- New :doc:`bugprone-infinite-loop
|
||||
<clang-tidy/checks/bugprone-infinite-loop>` check.
|
||||
|
||||
Finds obvious infinite loops (loops where the condition variable is not
|
||||
changed at all).
|
||||
|
||||
- New :doc:`bugprone-not-null-terminated-result
|
||||
<clang-tidy/checks/bugprone-not-null-terminated-result>` check
|
||||
|
||||
Finds function calls where it is possible to cause a not null-terminated
|
||||
result.
|
||||
|
||||
- New :doc:`bugprone-signed-char-misuse
|
||||
<clang-tidy/checks/bugprone-signed-char-misuse>` check.
|
||||
|
||||
Finds ``signed char`` to integer conversions which might indicate a
|
||||
programming error.
|
||||
|
||||
- New :doc:`cert-mem57-cpp
|
||||
<clang-tidy/checks/cert-mem57-cpp>` check.
|
||||
|
||||
Checks if an object of type with extended alignment is allocated by using
|
||||
the default ``operator new``.
|
||||
|
||||
- New :doc:`cert-oop58-cpp
|
||||
<clang-tidy/checks/cert-oop58-cpp>` check.
|
||||
|
||||
Finds assignments to the copied object and its direct or indirect members
|
||||
in copy constructors and copy assignment operators.
|
||||
|
||||
- New :doc:`cppcoreguidelines-init-variables
|
||||
<clang-tidy/checks/cppcoreguidelines-init-variables>` check.
|
||||
|
||||
Checks whether there are local variables that are declared without an initial
|
||||
value.
|
||||
|
||||
- New :doc:`darwin-dispatch-once-nonstatic
|
||||
<clang-tidy/checks/darwin-dispatch-once-nonstatic>` check.
|
||||
|
||||
Finds declarations of ``dispatch_once_t`` variables without static or global
|
||||
storage.
|
||||
|
||||
- New :doc:`google-upgrade-googletest-case
|
||||
<clang-tidy/checks/google-upgrade-googletest-case>` check.
|
||||
|
||||
Finds uses of deprecated Googletest APIs with names containing ``case`` and
|
||||
replaces them with equivalent APIs with ``suite``.
|
||||
|
||||
- New :doc:`linuxkernel-must-use-errs
|
||||
<clang-tidy/checks/linuxkernel-must-use-errs>` check.
|
||||
|
||||
Checks Linux kernel code to see if it uses the results from the functions in
|
||||
``linux/err.h``.
|
||||
|
||||
- New :doc:`llvm-prefer-register-over-unsigned
|
||||
<clang-tidy/checks/llvm-prefer-register-over-unsigned>` check.
|
||||
|
||||
Finds historical use of ``unsigned`` to hold vregs and physregs and rewrites
|
||||
them to use ``Register``
|
||||
|
||||
- New :doc:`objc-missing-hash
|
||||
<clang-tidy/checks/objc-missing-hash>` check.
|
||||
|
||||
Finds Objective-C implementations that implement ``-isEqual:`` without also
|
||||
appropriately implementing ``-hash``.
|
||||
|
||||
- New :doc:`performance-no-automatic-move
|
||||
<clang-tidy/checks/performance-no-automatic-move>` check.
|
||||
|
||||
Finds local variables that cannot be automatically moved due to constness.
|
||||
|
||||
- New :doc:`performance-trivially-destructible
|
||||
<clang-tidy/checks/performance-trivially-destructible>` check.
|
||||
|
||||
Finds types that could be made trivially-destructible by removing out-of-line
|
||||
defaulted destructor declarations.
|
||||
|
||||
- New :doc:`readability-make-member-function-const
|
||||
<clang-tidy/checks/readability-make-member-function-const>` check.
|
||||
|
||||
Finds non-static member functions that can be made ``const``
|
||||
because the functions don't use ``this`` in a non-const way.
|
||||
|
||||
- New :doc:`readability-qualified-auto
|
||||
<clang-tidy/checks/readability-qualified-auto>` check.
|
||||
|
||||
Adds pointer and ``const`` qualifications to ``auto``-typed variables
|
||||
that are deduced to pointers and ``const`` pointers.
|
||||
|
||||
- New :doc:`readability-redundant-access-specifiers
|
||||
<clang-tidy/checks/readability-redundant-access-specifiers>` check.
|
||||
|
||||
Finds classes, structs, and unions that contain redundant member
|
||||
access specifiers.
|
||||
|
||||
New aliases
|
||||
^^^^^^^^^^^
|
||||
|
||||
- New alias :doc:`cert-pos44-c
|
||||
<clang-tidy/checks/cert-pos44-c>` to
|
||||
:doc:`bugprone-bad-signal-to-kill-thread
|
||||
<clang-tidy/checks/bugprone-bad-signal-to-kill-thread>` was added.
|
||||
|
||||
- New alias :doc:`llvm-qualified-auto
|
||||
<clang-tidy/checks/llvm-qualified-auto>` to
|
||||
:doc:`readability-qualified-auto
|
||||
<clang-tidy/checks/readability-qualified-auto>` was added.
|
||||
|
||||
Changes in existing checks
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- Improved :doc:`bugprone-posix-return
|
||||
<clang-tidy/checks/bugprone-posix-return>` check.
|
||||
|
||||
Now also checks if any calls to ``pthread_*`` functions expect negative
|
||||
return values.
|
||||
|
||||
- Improved :doc:`hicpp-signed-bitwise
|
||||
<clang-tidy/checks/hicpp-signed-bitwise>` check.
|
||||
|
||||
The check now supports the `IgnorePositiveIntegerLiterals` option.
|
||||
|
||||
- Improved :doc:`modernize-avoid-bind
|
||||
<clang-tidy/checks/modernize-avoid-bind>` check.
|
||||
|
||||
The check now supports supports diagnosing and fixing arbitrary callables
|
||||
instead of only simple free functions. The `PermissiveParameterList` option
|
||||
has also been added to address situations where the existing fix-it logic
|
||||
would sometimes generate code that no longer compiles.
|
||||
|
||||
- The :doc:`modernize-use-equals-default
|
||||
<clang-tidy/checks/modernize-use-equals-default>` fix no longer adds
|
||||
semicolons where they would be redundant.
|
||||
|
||||
- Improved :doc:`modernize-use-override
|
||||
<clang-tidy/checks/modernize-use-override>` check.
|
||||
|
||||
The check now supports the `AllowOverrideAndFinal` option to eliminate
|
||||
conflicts with `gcc -Wsuggest-override` or `gcc -Werror=suggest-override`.
|
||||
|
||||
- The :doc:`modernize-use-using
|
||||
<clang-tidy/checks/modernize-use-using>` check now converts typedefs
|
||||
containing struct definitions and multiple comma-separated types.
|
||||
|
||||
- Improved :doc:`readability-magic-numbers
|
||||
<clang-tidy/checks/readability-magic-numbers>` check.
|
||||
|
||||
The check now supports the `IgnoreBitFieldsWidths` option to suppress
|
||||
the warning for numbers used to specify bit field widths.
|
||||
|
||||
The check was updated to eliminate some false positives (such as using
|
||||
class enumeration as non-type template parameters, or the synthetically
|
||||
computed length of a static user string literal.)
|
||||
|
||||
- Improved :doc:`readability-redundant-member-init
|
||||
<clang-tidy/checks/readability-redundant-member-init>` check.
|
||||
|
||||
The check now supports the `IgnoreBaseInCopyConstructors` option to avoid
|
||||
`"base class 'Foo' should be explicitly initialized in the copy constructor"`
|
||||
warnings or errors with `gcc -Wextra` or `gcc -Werror=extra`.
|
||||
|
||||
- The :doc:`readability-redundant-string-init
|
||||
<clang-tidy/checks/readability-redundant-string-init>` check now supports a
|
||||
`StringNames` option enabling its application to custom string classes.
|
||||
|
||||
Renamed checks
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
- The 'objc-avoid-spinlock' check was renamed to :doc:`darwin-avoid-spinlock
|
||||
<clang-tidy/checks/darwin-avoid-spinlock>`
|
||||
|
||||
Improvements to include-fixer
|
||||
-----------------------------
|
||||
@ -276,7 +106,3 @@ The improvements are...
|
||||
Clang-tidy visual studio plugin
|
||||
-------------------------------
|
||||
|
||||
The clang-tidy-vs plugin has been removed from clang, as
|
||||
it's no longer maintained. Users should migrate to
|
||||
`Clang Power Tools <https://marketplace.visualstudio.com/items?itemName=caphyon.ClangPowerTools>`_
|
||||
instead.
|
||||
|
@ -49,9 +49,9 @@ copyright = u'2007-%d, The Clang Team' % date.today().year
|
||||
# built documents.
|
||||
#
|
||||
# The short version.
|
||||
version = '10'
|
||||
version = '11'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '10'
|
||||
release = '11'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -1,5 +1,5 @@
|
||||
========================================
|
||||
Clang 10.0.0 (In-Progress) Release Notes
|
||||
Clang 11.0.0 (In-Progress) Release Notes
|
||||
========================================
|
||||
|
||||
.. contents::
|
||||
@ -10,7 +10,7 @@ Written by the `LLVM Team <https://llvm.org/>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
These are in-progress notes for the upcoming Clang 10 release.
|
||||
These are in-progress notes for the upcoming Clang 11 release.
|
||||
Release notes for previous releases can be found on
|
||||
`the Download Page <https://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 10.0.0. Here we
|
||||
frontend, part of the LLVM Compiler Infrastructure, release 11.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
|
||||
@ -30,12 +30,12 @@ For more information about Clang or LLVM, including information about the
|
||||
latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or the
|
||||
`LLVM Web Site <https://llvm.org>`_.
|
||||
|
||||
Note that if you are reading this file from a Subversion checkout or the
|
||||
Note that if you are reading this file from a Git 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 <https://llvm.org/releases/>`_.
|
||||
|
||||
What's New in Clang 10.0.0?
|
||||
What's New in Clang 11.0.0?
|
||||
===========================
|
||||
|
||||
Some of the major new features and improvements to Clang are listed
|
||||
@ -51,63 +51,15 @@ Major New Features
|
||||
Improvements to Clang's diagnostics
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- -Wtautological-overlap-compare will warn on negative numbers and non-int
|
||||
types.
|
||||
- -Wtautological-compare for self comparisons and
|
||||
-Wtautological-overlap-compare will now look through member and array
|
||||
access to determine if two operand expressions are the same.
|
||||
- -Wtautological-bitwise-compare is a new warning group. This group has the
|
||||
current warning which diagnoses the tautological comparison of a bitwise
|
||||
operation and a constant. The group also has the new warning which diagnoses
|
||||
when a bitwise-or with a non-negative value is converted to a bool, since
|
||||
that bool will always be true.
|
||||
- -Wbitwise-conditional-parentheses will warn on operator precedence issues
|
||||
when mixing bitwise-and (&) and bitwise-or (|) operator with the
|
||||
conditional operator (?:).
|
||||
- -Wrange-loop-analysis got several improvements. It no longer warns about a
|
||||
copy being made when the result is bound to an rvalue reference. It no longer
|
||||
warns when an object of a small, trivially copyable type is copied. The
|
||||
warning now offers fixits. It is now part of -Wall.
|
||||
- ...
|
||||
|
||||
Non-comprehensive list of changes in this release
|
||||
-------------------------------------------------
|
||||
|
||||
* In both C and C++ (C17 ``6.5.6p8``, C++ ``[expr.add]``), pointer arithmetic is
|
||||
only permitted within arrays. In particular, the behavior of a program is not
|
||||
defined if it adds a non-zero offset (or in C, any offset) to a null pointer,
|
||||
or if it forms a null pointer by subtracting an integer from a non-null
|
||||
pointer, and the LLVM optimizer now uses those guarantees for transformations.
|
||||
This may lead to unintended behavior in code that performs these operations.
|
||||
The Undefined Behavior Sanitizer ``-fsanitize=pointer-overflow`` check has
|
||||
been extended to detect these cases, so that code relying on them can be
|
||||
detected and fixed.
|
||||
|
||||
* The Implicit Conversion Sanitizer (``-fsanitize=implicit-conversion``) has
|
||||
learned to sanitize pre/post increment/decrement of types with bit width
|
||||
smaller than ``int``.
|
||||
|
||||
- For X86 target, -march=skylake-avx512, -march=icelake-client,
|
||||
-march=icelake-server, -march=cascadelake, -march=cooperlake will default to
|
||||
not using 512-bit zmm registers in vectorized code unless 512-bit intrinsics
|
||||
are used in the source code. 512-bit operations are known to cause the CPUs
|
||||
to run at a lower frequency which can impact performance. This behavior can be
|
||||
changed by passing -mprefer-vector-width=512 on the command line.
|
||||
|
||||
* clang now defaults to ``.init_array`` on Linux. It used to use ``.ctors`` if
|
||||
the found gcc installation is older than 4.7.0. Add ``-fno-use-init-array`` to
|
||||
get the old behavior (``.ctors``).
|
||||
|
||||
New Compiler Flags
|
||||
------------------
|
||||
|
||||
- The -fgnuc-version= flag now controls the value of ``__GNUC__`` and related
|
||||
macros. This flag does not enable or disable any GCC extensions implemented in
|
||||
Clang. Setting the version to zero causes Clang to leave ``__GNUC__`` and
|
||||
other GNU-namespaced macros, such as ``__GXX_WEAK__``, undefined.
|
||||
|
||||
- vzeroupper insertion on X86 targets can now be disabled with -mno-vzeroupper.
|
||||
You can also force vzeroupper insertion to be used on CPUs that normally
|
||||
wouldn't with -mvzeroupper.
|
||||
|
||||
Deprecated Compiler Flags
|
||||
-------------------------
|
||||
@ -115,17 +67,11 @@ Deprecated Compiler Flags
|
||||
The following options are deprecated and ignored. They will be removed in
|
||||
future versions of Clang.
|
||||
|
||||
- -mmpx used to enable the __MPX__ preprocessor define for the Intel MPX
|
||||
instructions. There were no MPX intrinsics.
|
||||
- -mno-mpx used to disable -mmpx and is the default behavior.
|
||||
|
||||
- ...
|
||||
|
||||
Modified Compiler Flags
|
||||
-----------------------
|
||||
|
||||
- RISC-V now sets the architecture (riscv32/riscv64) based on the value provided
|
||||
to the ``-march`` flag, overriding the target provided by ``-triple``.
|
||||
|
||||
New Pragmas in Clang
|
||||
--------------------
|
||||
@ -140,16 +86,6 @@ Attribute Changes in Clang
|
||||
Windows Support
|
||||
---------------
|
||||
|
||||
- Previous Clang versions contained a work-around to avoid an issue with the
|
||||
standard library headers in Visual Studio 2019 versions prior to 16.3. This
|
||||
work-around has now been removed, and users of Visual Studio 2019 are
|
||||
encouraged to upgrade to 16.3 or later, otherwise they may see link errors as
|
||||
below:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
error LNK2005: "bool const std::_Is_integral<int>" (??$_Is_integral@H@std@@3_NB) already defined
|
||||
|
||||
C Language Changes in Clang
|
||||
---------------------------
|
||||
|
||||
@ -163,10 +99,6 @@ C11 Feature Support
|
||||
C++ Language Changes in Clang
|
||||
-----------------------------
|
||||
|
||||
- The behaviour of the `gnu_inline` attribute now matches GCC, for cases
|
||||
where used without the `extern` keyword. As this is a change compared to
|
||||
how it behaved in previous Clang versions, a warning is emitted for this
|
||||
combination.
|
||||
|
||||
C++1z Feature Support
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
@ -176,49 +108,6 @@ C++1z Feature Support
|
||||
Objective-C Language Changes in Clang
|
||||
-------------------------------------
|
||||
|
||||
- In both Objective-C and
|
||||
Objective-C++, ``-Wcompare-distinct-pointer-types`` will now warn when
|
||||
comparing ObjC ``Class`` with an ObjC instance type pointer.
|
||||
|
||||
.. code-block:: objc
|
||||
|
||||
Class clz = ...;
|
||||
MyType *instance = ...;
|
||||
bool eq = (clz == instance); // Previously undiagnosed, now warns.
|
||||
|
||||
- Objective-C++ now diagnoses conversions between ``Class`` and ObjC
|
||||
instance type pointers. Such conversions already emitted an
|
||||
on-by-default ``-Wincompatible-pointer-types`` warning in Objective-C
|
||||
mode, but had inadvertently been missed entirely in
|
||||
Objective-C++. This has been fixed, and they are now diagnosed as
|
||||
errors, consistent with the usual C++ treatment for conversions
|
||||
between unrelated pointer types.
|
||||
|
||||
.. code-block:: objc
|
||||
|
||||
Class clz = ...;
|
||||
MyType *instance = ...;
|
||||
clz = instance; // Previously undiagnosed, now an error.
|
||||
instance = clz; // Previously undiagnosed, now an error.
|
||||
|
||||
One particular issue you may run into is attempting to use a class
|
||||
as a key in a dictionary literal. This will now result in an error,
|
||||
because ``Class`` is not convertable to ``id<NSCopying>``. (Note that
|
||||
this was already a warning in Objective-C mode.) While an arbitrary
|
||||
``Class`` object is not guaranteed to implement ``NSCopying``, the
|
||||
default metaclass implementation does. Therefore, the recommended
|
||||
solution is to insert an explicit cast to ``id``, which disables the
|
||||
type-checking here.
|
||||
|
||||
.. code-block:: objc
|
||||
|
||||
Class cls = ...;
|
||||
|
||||
// Error: cannot convert from Class to id<NSCoding>.
|
||||
NSDictionary* d = @{cls : @"Hello"};
|
||||
|
||||
// Fix: add an explicit cast to 'id'.
|
||||
NSDictionary* d = @{(id)cls : @"Hello"};
|
||||
|
||||
OpenCL C Language Changes in Clang
|
||||
----------------------------------
|
||||
@ -228,19 +117,6 @@ OpenCL C Language Changes in Clang
|
||||
ABI Changes in Clang
|
||||
--------------------
|
||||
|
||||
- gcc passes vectors of __int128 in memory on X86-64. Clang historically
|
||||
broke the vectors into multiple scalars using two 64-bit values for each
|
||||
element. Clang now matches the gcc behavior on Linux and NetBSD. You can
|
||||
switch back to old API behavior with flag: -fclang-abi-compat=9.0.
|
||||
|
||||
- RISC-V now chooses a default ``-march=`` and ``-mabi=`` to match (in almost
|
||||
all cases) the GCC defaults. On baremetal targets, where neither ``-march=``
|
||||
nor ``-mabi=`` are specified, Clang now differs from GCC by defaulting to
|
||||
``-march=rv32imac -mabi=ilp32`` or ``-march=rv64imac -mabi=lp64`` depending on
|
||||
the architecture in the target triple. These do not always match the defaults
|
||||
in Clang 9. We strongly suggest that you explicitly pass `-march=` and
|
||||
`-mabi=` when compiling for RISC-V, due to how extensible this architecture
|
||||
is.
|
||||
|
||||
OpenMP Support in Clang
|
||||
-----------------------
|
||||
@ -255,37 +131,17 @@ CUDA Support in Clang
|
||||
Internal API Changes
|
||||
--------------------
|
||||
|
||||
These are major API changes that have happened since the 9.0.0 release of
|
||||
These are major API changes that have happened since the 10.0.0 release of
|
||||
Clang. If upgrading an external codebase that uses Clang as a library,
|
||||
this section should help get you past the largest hurdles of upgrading.
|
||||
|
||||
- libTooling APIs that transfer ownership of `FrontendAction` objects now pass
|
||||
them by `unique_ptr`, making the ownership transfer obvious in the type
|
||||
system. `FrontendActionFactory::create()` now returns a
|
||||
`unique_ptr<FrontendAction>`. `runToolOnCode`, `runToolOnCodeWithArgs`,
|
||||
`ToolInvocation::ToolInvocation()` now take a `unique_ptr<FrontendAction>`.
|
||||
|
||||
Build System Changes
|
||||
--------------------
|
||||
|
||||
These are major changes to the build system that have happened since the 9.0.0
|
||||
These are major changes to the build system that have happened since the 10.0.0
|
||||
release of Clang. Users of the build system should adjust accordingly.
|
||||
|
||||
- In 8.0.0 and below, the install-clang-headers target would install clang's
|
||||
resource directory headers. This installation is now performed by the
|
||||
install-clang-resource-headers target. Users of the old install-clang-headers
|
||||
target should switch to the new install-clang-resource-headers target. The
|
||||
install-clang-headers target now installs clang's API headers (corresponding
|
||||
to its libraries), which is consistent with the install-llvm-headers target.
|
||||
|
||||
- In 9.0.0 and later Clang added a new target, clang-cpp, which generates a
|
||||
shared library comprised of all the clang component libraries and exporting
|
||||
the clang C++ APIs. Additionally the build system gained the new
|
||||
"CLANG_LINK_CLANG_DYLIB" option, which defaults Off, and when set to On, will
|
||||
force clang (and clang-based tools) to link the clang-cpp library instead of
|
||||
statically linking clang's components. This option will reduce the size of
|
||||
binary distributions at the expense of compiler performance.
|
||||
|
||||
- ...
|
||||
|
||||
AST Matchers
|
||||
@ -296,61 +152,6 @@ AST Matchers
|
||||
clang-format
|
||||
------------
|
||||
|
||||
- The ``Standard`` style option specifies which version of C++ should be used
|
||||
when parsing and formatting C++ code. The set of allowed values has changed:
|
||||
|
||||
- ``Latest`` will always enable new C++ language features.
|
||||
- ``c++03``, ``c++11``, ``c++14``, ``c++17``, ``c++20`` will pin to exactly
|
||||
that language version.
|
||||
- ``Auto`` is the default and detects style from the code (this is unchanged).
|
||||
|
||||
The previous values of ``Cpp03`` and ``Cpp11`` are deprecated. Note that
|
||||
``Cpp11`` is treated as ``Latest``, as this was always clang-format's
|
||||
behavior. (One motivation for this change is the new name describes the
|
||||
behavior better).
|
||||
|
||||
- Clang-format has a new option called ``--dry-run`` or ``-n`` to emit a
|
||||
warning for clang-format violations. This can be used together
|
||||
with --ferror-limit=N to limit the number of warnings per file and --Werror
|
||||
to make warnings into errors.
|
||||
|
||||
- Option *IncludeIsMainSourceRegex* has been added to allow for additional
|
||||
suffixes and file extensions to be considered as a source file
|
||||
for execution of logic that looks for "main *include* file" to put
|
||||
it on top.
|
||||
|
||||
By default, clang-format considers *source* files as "main" only when
|
||||
they end with: ``.c``, ``.cc``, ``.cpp``, ``.c++``, ``.cxx``,
|
||||
``.m`` or ``.mm`` extensions. This config option allows to
|
||||
extend this set of source files considered as "main".
|
||||
|
||||
For example, if this option is configured to ``(Impl\.hpp)$``,
|
||||
then a file ``ClassImpl.hpp`` is considered "main" (in addition to
|
||||
``Class.c``, ``Class.cc``, ``Class.cpp`` and so on) and "main
|
||||
include file" logic will be executed (with *IncludeIsMainRegex* setting
|
||||
also being respected in later phase). Without this option set,
|
||||
``ClassImpl.hpp`` would not have the main include file put on top
|
||||
before any other include.
|
||||
|
||||
- Options ``DeriveLineEnding`` and ``UseCRLF`` have been added to allow
|
||||
clang-format to control the newlines. ``DeriveLineEnding`` is by default
|
||||
``true`` and reflects is the existing mechanism, which based is on majority
|
||||
rule. The new options allows this to be turned off and ``UseCRLF`` to control
|
||||
the decision as to which sort of line ending to use.
|
||||
|
||||
- Option ``SpaceBeforeSquareBrackets`` has been added to insert a space before
|
||||
array declarations.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
int a [5]; vs int a[5];
|
||||
|
||||
- Clang-format now supports JavaScript null operators.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
const x = foo ?? default;
|
||||
const z = foo?.bar?.baz;
|
||||
|
||||
libclang
|
||||
--------
|
||||
@ -360,9 +161,6 @@ libclang
|
||||
Static Analyzer
|
||||
---------------
|
||||
|
||||
- The Clang analyzer checker ``DeadStores`` gets a new option called
|
||||
``WarnForDeadNestedAssignments`` to detect nested dead assignments
|
||||
(enabled by default).
|
||||
- ...
|
||||
|
||||
.. _release-notes-ubsan:
|
||||
@ -370,39 +168,6 @@ Static Analyzer
|
||||
Undefined Behavior Sanitizer (UBSan)
|
||||
------------------------------------
|
||||
|
||||
- * The ``pointer-overflow`` check was extended added to catch the cases where
|
||||
a non-zero offset is applied to a null pointer, or the result of
|
||||
applying the offset is a null pointer.
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
#include <cstdint> // for intptr_t
|
||||
|
||||
static char *getelementpointer_inbounds(char *base, unsigned long offset) {
|
||||
// Potentially UB.
|
||||
return base + offset;
|
||||
}
|
||||
|
||||
char *getelementpointer_unsafe(char *base, unsigned long offset) {
|
||||
// Always apply offset. UB if base is ``nullptr`` and ``offset`` is not
|
||||
// zero, or if ``base`` is non-``nullptr`` and ``offset`` is
|
||||
// ``-reinterpret_cast<intptr_t>(base)``.
|
||||
return getelementpointer_inbounds(base, offset);
|
||||
}
|
||||
|
||||
char *getelementpointer_safe(char *base, unsigned long offset) {
|
||||
// Cast pointer to integer, perform usual arithmetic addition,
|
||||
// and cast to pointer. This is legal.
|
||||
char *computed =
|
||||
reinterpret_cast<char *>(reinterpret_cast<intptr_t>(base) + offset);
|
||||
// If either the pointer becomes non-``nullptr``, or becomes
|
||||
// ``nullptr``, we must use ``computed`` result.
|
||||
if (((base == nullptr) && (computed != nullptr)) ||
|
||||
((base != nullptr) && (computed == nullptr)))
|
||||
return computed;
|
||||
// Else we can use ``getelementpointer_inbounds()``.
|
||||
return getelementpointer_inbounds(base, offset);
|
||||
}
|
||||
|
||||
Core Analysis Improvements
|
||||
==========================
|
||||
|
@ -49,9 +49,9 @@ copyright = u'2013-%d, Analyzer Team' % date.today().year
|
||||
# built documents.
|
||||
#
|
||||
# The short version.
|
||||
version = '6'
|
||||
version = '11'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '6'
|
||||
release = '11'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -50,9 +50,9 @@ copyright = u'2007-%d, The Clang Team' % date.today().year
|
||||
# built documents.
|
||||
#
|
||||
# The short version.
|
||||
version = '10'
|
||||
version = '11'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '10'
|
||||
release = '11'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -27,7 +27,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBCXX_STANDALONE_BUIL
|
||||
project(libcxx CXX C)
|
||||
|
||||
set(PACKAGE_NAME libcxx)
|
||||
set(PACKAGE_VERSION 10.0.0git)
|
||||
set(PACKAGE_VERSION 11.0.0git)
|
||||
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
|
||||
set(PACKAGE_BUGREPORT "llvm-bugs@lists.llvm.org")
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
=========================================
|
||||
Libc++ 10.0.0 (In-Progress) Release Notes
|
||||
Libc++ 11.0.0 (In-Progress) Release Notes
|
||||
=========================================
|
||||
|
||||
.. contents::
|
||||
@ -10,7 +10,7 @@ Written by the `Libc++ Team <https://libcxx.llvm.org>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
These are in-progress notes for the upcoming libc++ 10 release.
|
||||
These are in-progress notes for the upcoming libc++ 11 release.
|
||||
Release notes for previous releases can be found on
|
||||
`the Download Page <https://releases.llvm.org/download.html>`_.
|
||||
|
||||
@ -18,7 +18,7 @@ Introduction
|
||||
============
|
||||
|
||||
This document contains the release notes for the libc++ C++ Standard Library,
|
||||
part of the LLVM Compiler Infrastructure, release 10.0.0. Here we describe the
|
||||
part of the LLVM Compiler Infrastructure, release 11.0.0. Here we describe the
|
||||
status of libc++ in some detail, including major improvements from the previous
|
||||
release and new feature work. For the general LLVM release notes, see `the LLVM
|
||||
documentation <https://llvm.org/docs/ReleaseNotes.html>`_. All LLVM releases may
|
||||
@ -27,12 +27,12 @@ be downloaded from the `LLVM releases web site <https://llvm.org/releases/>`_.
|
||||
For more information about libc++, please see the `Libc++ Web Site
|
||||
<https://libcxx.llvm.org>`_ or the `LLVM Web Site <https://llvm.org>`_.
|
||||
|
||||
Note that if you are reading this file from a Subversion checkout or the
|
||||
Note that if you are reading this file from a Git checkout or the
|
||||
main Libc++ 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 <https://llvm.org/releases/>`_.
|
||||
|
||||
What's New in Libc++ 10.0.0?
|
||||
What's New in Libc++ 11.0.0?
|
||||
============================
|
||||
|
||||
New Features
|
||||
|
@ -47,9 +47,9 @@ copyright = u'2011-2018, LLVM Project'
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '10.0'
|
||||
version = '11.0'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '10.0'
|
||||
release = '11.0'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -32,7 +32,7 @@
|
||||
# define _GNUC_VER_NEW 0
|
||||
#endif
|
||||
|
||||
#define _LIBCPP_VERSION 10000
|
||||
#define _LIBCPP_VERSION 11000
|
||||
|
||||
#ifndef _LIBCPP_ABI_VERSION
|
||||
# define _LIBCPP_ABI_VERSION 1
|
||||
|
@ -1 +1 @@
|
||||
10000
|
||||
11000
|
||||
|
@ -83,7 +83,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR LIBUNWIND_STANDALONE_B
|
||||
endif()
|
||||
|
||||
set(PACKAGE_NAME libunwind)
|
||||
set(PACKAGE_VERSION 10.0.0git)
|
||||
set(PACKAGE_VERSION 11.0.0git)
|
||||
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
|
||||
set(PACKAGE_BUGREPORT "llvm-bugs@lists.llvm.org")
|
||||
|
||||
|
@ -48,9 +48,9 @@ copyright = u'2011-%d, LLVM Project' % date.today().year
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '10.0'
|
||||
version = '11.0'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '10.0'
|
||||
release = '11.0'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -1,19 +1,19 @@
|
||||
========================
|
||||
lld 10.0.0 Release Notes
|
||||
lld 11.0.0 Release Notes
|
||||
========================
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
.. warning::
|
||||
These are in-progress notes for the upcoming LLVM 10.0.0 release.
|
||||
These are in-progress notes for the upcoming LLVM 11.0.0 release.
|
||||
Release notes for previous releases can be found on
|
||||
`the Download Page <https://releases.llvm.org/download.html>`_.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
This document contains the release notes for the lld linker, release 10.0.0.
|
||||
This document contains the release notes for the lld linker, release 11.0.0.
|
||||
Here we describe the status of lld, including major improvements
|
||||
from the previous release. All lld releases may be downloaded
|
||||
from the `LLVM releases web site <https://llvm.org/releases/>`_.
|
||||
@ -24,11 +24,7 @@ Non-comprehensive list of changes in this release
|
||||
ELF Improvements
|
||||
----------------
|
||||
|
||||
* Glob pattern, which you can use in linker scripts or version scripts,
|
||||
now supports `\` and `[!...]`. Except character classes
|
||||
(e.g. `[[:digit:]]`), lld's glob pattern should be fully compatible
|
||||
with GNU now. (`r375051
|
||||
<https://github.com/llvm/llvm-project/commit/48993d5ab9413f0e5b94dfa292a233ce55b09e3e>`_)
|
||||
* ...
|
||||
|
||||
COFF Improvements
|
||||
-----------------
|
||||
@ -48,7 +44,3 @@ MachO Improvements
|
||||
WebAssembly Improvements
|
||||
------------------------
|
||||
|
||||
* `__data_end` and `__heap_base` are no longer exported by default,
|
||||
as it's best to keep them internal when possible. They can be
|
||||
explicitly exported with `--export=__data_end` and
|
||||
`--export=__heap_base`, respectively.
|
||||
|
@ -48,9 +48,9 @@ copyright = u'2011-%d, LLVM Project' % date.today().year
|
||||
# built documents.
|
||||
#
|
||||
# The short version.
|
||||
version = '10'
|
||||
version = '11'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '10'
|
||||
release = '11'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -16,7 +16,7 @@ if(POLICY CMP0077)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED LLVM_VERSION_MAJOR)
|
||||
set(LLVM_VERSION_MAJOR 10)
|
||||
set(LLVM_VERSION_MAJOR 11)
|
||||
endif()
|
||||
if(NOT DEFINED LLVM_VERSION_MINOR)
|
||||
set(LLVM_VERSION_MINOR 0)
|
||||
|
@ -1,12 +1,12 @@
|
||||
=========================
|
||||
LLVM 10.0.0 Release Notes
|
||||
LLVM 11.0.0 Release Notes
|
||||
=========================
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
.. warning::
|
||||
These are in-progress notes for the upcoming LLVM 10 release.
|
||||
These are in-progress notes for the upcoming LLVM 11 release.
|
||||
Release notes for previous releases can be found on
|
||||
`the Download Page <https://releases.llvm.org/download.html>`_.
|
||||
|
||||
@ -15,7 +15,7 @@ Introduction
|
||||
============
|
||||
|
||||
This document contains the release notes for the LLVM Compiler Infrastructure,
|
||||
release 10.0.0. Here we describe the status of LLVM, including major improvements
|
||||
release 11.0.0. Here we describe the status of LLVM, including major improvements
|
||||
from the previous release, improvements in various subprojects of LLVM, and
|
||||
some of the current users of the code. All LLVM releases may be downloaded
|
||||
from the `LLVM releases web site <https://llvm.org/releases/>`_.
|
||||
@ -26,7 +26,7 @@ have questions or comments, the `LLVM Developer's Mailing List
|
||||
<https://lists.llvm.org/mailman/listinfo/llvm-dev>`_ is a good place to send
|
||||
them.
|
||||
|
||||
Note that if you are reading this file from a Subversion checkout or the main
|
||||
Note that if you are reading this file from a Git checkout or the main
|
||||
LLVM 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 <https://llvm.org/releases/>`_.
|
||||
@ -40,26 +40,8 @@ Non-comprehensive list of changes in this release
|
||||
functionality, or simply have a lot to talk about), see the `NOTE` below
|
||||
for adding a new subsection.
|
||||
|
||||
* The ISD::FP_ROUND_INREG opcode and related code was removed from SelectionDAG.
|
||||
* Enabled MemorySSA as a loop dependency. Since
|
||||
`r370957 <https://reviews.llvm.org/rL370957>`_
|
||||
(`D58311 <https://reviews.llvm.org/D58311>`_ ``[MemorySSA & LoopPassManager]
|
||||
Enable MemorySSA as loop dependency. Update tests.``), the MemorySSA analysis
|
||||
is being preserved and used by a series of loop passes. The most significant
|
||||
use is in LICM, where the instruction hoisting and sinking relies on aliasing
|
||||
information provided by MemorySSA vs previously creating an AliasSetTracker.
|
||||
The LICM step of promoting variables to scalars still relies on the creation
|
||||
of an AliasSetTracker, but its use is reduced to only be enabled for loops
|
||||
with a small number of overall memory instructions. This choice was motivated
|
||||
by experimental results showing compile and run time benefits or replacing the
|
||||
AliasSetTracker usage with MemorySSA without any performance penalties.
|
||||
The fact that MemorySSA is now preserved by and available in a series of loop
|
||||
passes, also opens up opportunities for its use in those respective passes.
|
||||
* The BasicBlockPass, BBPassManager and all their uses were deleted in
|
||||
`this revision <https://reviews.llvm.org/rG9f0ff0b2634bab6a5be8dace005c9eb24d386dd1>`_.
|
||||
* ...
|
||||
|
||||
* The LLVM_BUILD_LLVM_DYLIB and LLVM_LINK_LLVM_DYLIB CMake options are no longer
|
||||
available on Windows.
|
||||
|
||||
.. NOTE
|
||||
If you would like to document a larger change, then you can add a
|
||||
@ -71,42 +53,10 @@ Non-comprehensive list of changes in this release
|
||||
|
||||
Makes programs 10x faster by doing Special New Thing.
|
||||
|
||||
* As per :ref:`LLVM Language Reference Manual <i_getelementptr>`,
|
||||
``getelementptr inbounds`` can not change the null status of a pointer,
|
||||
meaning it can not produce non-null pointer given null base pointer, and
|
||||
likewise given non-null base pointer it can not produce null pointer; if it
|
||||
does, the result is a :ref:`poison value <poisonvalues>`.
|
||||
Since `r369789 <https://reviews.llvm.org/rL369789>`_
|
||||
(`D66608 <https://reviews.llvm.org/D66608>`_ ``[InstCombine] icmp eq/ne (gep
|
||||
inbounds P, Idx..), null -> icmp eq/ne P, null``) LLVM uses that for
|
||||
transformations. If the original source violates these requirements this
|
||||
may result in code being miscompiled. If you are using Clang front-end,
|
||||
Undefined Behaviour Sanitizer ``-fsanitize=pointer-overflow`` check
|
||||
will now catch such cases.
|
||||
|
||||
|
||||
* Windows Control Flow Guard: the ``-cfguard`` option now emits CFG checks on
|
||||
indirect function calls. The previous behavior is still available with the
|
||||
``-cfguard-nochecks`` option. Note that this feature should always be used
|
||||
with optimizations enabled.
|
||||
|
||||
* ``Callbacks`` have been added to ``CommandLine Options``. These can
|
||||
be used to validate of selectively enable other options.
|
||||
|
||||
* The function attributes ``no-frame-pointer-elim`` and
|
||||
``no-frame-pointer-elim-non-leaf`` have been replaced by ``frame-pointer``,
|
||||
which has 3 values: ``none``, ``non-leaf``, and ``all``. The values mean what
|
||||
functions should retain frame pointers.
|
||||
|
||||
Changes to the LLVM IR
|
||||
----------------------
|
||||
|
||||
* Unnamed function arguments now get printed with their automatically
|
||||
generated name (e.g. "i32 %0") in definitions. This may require front-ends
|
||||
to update their tests; if so there is a script utils/add_argument_names.py
|
||||
that correctly converted 80-90% of Clang tests. Some manual work will almost
|
||||
certainly still be needed.
|
||||
|
||||
|
||||
Changes to building LLVM
|
||||
------------------------
|
||||
@ -114,44 +64,25 @@ Changes to building LLVM
|
||||
Changes to the ARM Backend
|
||||
--------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
|
||||
Changes to the MIPS Target
|
||||
--------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
|
||||
Changes to the PowerPC Target
|
||||
-----------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
Changes to the X86 Target
|
||||
-------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
* Less than 128 bit vector types, v2i32, v4i16, v2i16, v8i8, v4i8, and v2i8, are
|
||||
now stored in the lower bits of an xmm register and the upper bits are
|
||||
undefined. Previously the elements were spread apart with undefined bits in
|
||||
between them.
|
||||
* v32i8 and v64i8 vectors with AVX512F enabled, but AVX512BW disabled will now
|
||||
be passed in ZMM registers for calls and returns. Previously they were passed
|
||||
in two YMM registers. Old behavior can be enabled by passing
|
||||
-x86-enable-old-knl-abi
|
||||
* -mprefer-vector-width=256 is now the default behavior skylake-avx512 and later
|
||||
Intel CPUs. This tries to limit the use of 512-bit registers which can cause a
|
||||
decrease in CPU frequency on these CPUs. This can be re-enabled by passing
|
||||
-mprefer-vector-width=512 to clang or passing -mattr=-prefer-256-bit to llc.
|
||||
* Deprecated the mpx feature flag for the Intel MPX instructions. There were no
|
||||
intrinsics for this feature. This change only this effects the results
|
||||
returned by getHostCPUFeatures on CPUs that implement the MPX instructions.
|
||||
* The feature flag fast-partial-ymm-or-zmm-write which previously disabled
|
||||
vzeroupper insertion has been removed. It has been replaced with a vzeroupper
|
||||
feature flag which has the opposite polarity. So -vzeroupper has the same
|
||||
effect as +fast-partial-ymm-or-zmm-write.
|
||||
|
||||
Changes to the AMDGPU Target
|
||||
-----------------------------
|
||||
@ -159,12 +90,12 @@ Changes to the AMDGPU Target
|
||||
Changes to the AVR Target
|
||||
-----------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
Changes to the WebAssembly Target
|
||||
---------------------------------
|
||||
|
||||
During this release ...
|
||||
During this release ...
|
||||
|
||||
|
||||
Changes to the OCaml bindings
|
||||
@ -174,16 +105,10 @@ Changes to the OCaml bindings
|
||||
|
||||
Changes to the C API
|
||||
--------------------
|
||||
* C DebugInfo API ``LLVMDIBuilderCreateTypedef`` is updated to include an extra
|
||||
argument ``AlignInBits``, to facilitate / propagate specified Alignment information
|
||||
present in a ``typedef`` to Debug information in LLVM IR.
|
||||
|
||||
|
||||
Changes to the Go bindings
|
||||
--------------------------
|
||||
* Go DebugInfo API ``CreateTypedef`` is updated to include an extra argument ``AlignInBits``,
|
||||
to facilitate / propagate specified Alignment information present in a ``typedef``
|
||||
to Debug information in LLVM IR.
|
||||
|
||||
|
||||
Changes to the DAG infrastructure
|
||||
@ -192,7 +117,7 @@ Changes to the DAG infrastructure
|
||||
Changes to LLDB
|
||||
===============
|
||||
|
||||
External Open Source Projects Using LLVM 10
|
||||
External Open Source Projects Using LLVM 11
|
||||
===========================================
|
||||
|
||||
* A project...
|
||||
@ -204,7 +129,7 @@ Additional Information
|
||||
A wide variety of additional information is available on the `LLVM web page
|
||||
<https://llvm.org/>`_, in particular in the `documentation
|
||||
<https://llvm.org/docs/>`_ section. The web page also contains versions of the
|
||||
API documentation which is up-to-date with the Subversion version of the source
|
||||
API documentation which is up-to-date with the Git version of the source
|
||||
code. You can access versions of these documents specific to this release by
|
||||
going into the ``llvm/docs/`` directory in the LLVM tree.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
llvm_version_major = 10
|
||||
llvm_version_major = 11
|
||||
llvm_version_minor = 0
|
||||
llvm_version_patch = 0
|
||||
llvm_version = "$llvm_version_major.$llvm_version_minor.$llvm_version_patch"
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
__author__ = 'Daniel Dunbar'
|
||||
__email__ = 'daniel@minormatter.com'
|
||||
__versioninfo__ = (0, 10, 0)
|
||||
__versioninfo__ = (0, 11, 0)
|
||||
__version__ = '.'.join(str(v) for v in __versioninfo__) + 'dev'
|
||||
|
||||
__all__ = []
|
||||
|
@ -27,8 +27,8 @@ set python64_dir=C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python36
|
||||
for /f "usebackq" %%i in (`PowerShell ^(Get-Date^).ToString^('yyyyMMdd'^)`) do set datestamp=%%i
|
||||
|
||||
set revision=%1
|
||||
set package_version=10.0.0-%revision%
|
||||
set clang_format_vs_version=10.0.0.%datestamp%
|
||||
set package_version=11.0.0-%revision%
|
||||
set clang_format_vs_version=11.0.0.%datestamp%
|
||||
set build_dir=llvm_package_%revision%
|
||||
|
||||
echo Revision: %revision%
|
||||
|
@ -1,8 +1,8 @@
|
||||
=============================
|
||||
Release Notes 10.0 (upcoming)
|
||||
Release Notes 11.0 (upcoming)
|
||||
=============================
|
||||
|
||||
In Polly 10 the following important changes have been incorporated.
|
||||
In Polly 11 the following important changes have been incorporated.
|
||||
|
||||
.. warning::
|
||||
|
||||
|
@ -49,9 +49,9 @@ copyright = u'2010-%d, The Polly Team' % date.today().year
|
||||
# built documents.
|
||||
#
|
||||
# The short X.Y version.
|
||||
version = '10.0-devel'
|
||||
version = '11.0-devel'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '10.0-devel'
|
||||
release = '11.0-devel'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -1,5 +1,5 @@
|
||||
=======================================
|
||||
PSTL 10.0.0 (In-Progress) Release Notes
|
||||
PSTL 11.0.0 (In-Progress) Release Notes
|
||||
=======================================
|
||||
|
||||
.. contents::
|
||||
@ -10,7 +10,7 @@ Written by the `PSTL Team <https://pstl.llvm.org>`_
|
||||
|
||||
.. warning::
|
||||
|
||||
These are in-progress notes for the upcoming pstl 10 release.
|
||||
These are in-progress notes for the upcoming pstl 11 release.
|
||||
Release notes for previous releases can be found on
|
||||
`the Download Page <https://releases.llvm.org/download.html>`_.
|
||||
|
||||
@ -18,7 +18,7 @@ Introduction
|
||||
============
|
||||
|
||||
This document contains the release notes for the PSTL parallel algorithms
|
||||
library, part of the LLVM Compiler Infrastructure, release 10.0.0. Here we
|
||||
library, part of the LLVM Compiler Infrastructure, release 11.0.0. Here we
|
||||
describe the status of the library in some detail, including major improvements
|
||||
from the previous release and new feature work. For the general LLVM release
|
||||
notes, see `the LLVM documentation <https://llvm.org/docs/ReleaseNotes.html>`_.
|
||||
@ -30,7 +30,7 @@ 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 <https://llvm.org/releases/>`_.
|
||||
|
||||
What's New in PSTL 10.0.0?
|
||||
What's New in PSTL 11.0.0?
|
||||
==========================
|
||||
|
||||
New Features
|
||||
|
@ -13,7 +13,7 @@
|
||||
#include <__pstl_config_site>
|
||||
|
||||
// The version is XYYZ, where X is major, YY is minor, and Z is patch (i.e. X.YY.Z)
|
||||
#define _PSTL_VERSION 10000
|
||||
#define _PSTL_VERSION 11000
|
||||
#define _PSTL_VERSION_MAJOR (_PSTL_VERSION / 1000)
|
||||
#define _PSTL_VERSION_MINOR ((_PSTL_VERSION % 1000) / 10)
|
||||
#define _PSTL_VERSION_PATCH (_PSTL_VERSION % 10)
|
||||
|
@ -8,8 +8,8 @@
|
||||
|
||||
#include <pstl/internal/pstl_config.h>
|
||||
|
||||
static_assert(_PSTL_VERSION == 10000);
|
||||
static_assert(_PSTL_VERSION_MAJOR == 10);
|
||||
static_assert(_PSTL_VERSION == 11000);
|
||||
static_assert(_PSTL_VERSION_MAJOR == 11);
|
||||
static_assert(_PSTL_VERSION_MINOR == 00);
|
||||
static_assert(_PSTL_VERSION_PATCH == 0);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user