Bump the trunk version to 9.0.0svn

llvm-svn: 351320
This commit is contained in:
Hans Wennborg 2019-01-16 10:57:02 +00:00
parent 7b5565418f
commit 1fe469ae6c
19 changed files with 60 additions and 547 deletions

View File

@ -1,5 +1,5 @@
===================================================
Extra Clang Tools 8.0.0 (In-Progress) Release Notes
Extra Clang Tools 9.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 8 release.
These are in-progress notes for the upcoming Extra Clang Tools 9 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 8.0.0. Here we describe the status of the Extra Clang Tools in
Clang release 9.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/>`_.
@ -32,7 +32,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 <https://llvm.org/releases/>`_.
What's New in Extra Clang Tools 8.0.0?
What's New in Extra Clang Tools 9.0.0?
======================================
Some of the major new features and improvements to Extra Clang Tools are listed
@ -57,47 +57,7 @@ The improvements are...
Improvements to clang-query
---------------------------
- A new command line parameter ``--preload`` was added to
run commands from a file and then start the interactive interpreter.
- The command ``q`` can was added as an alias for ``quit`` to exit the
``clang-query`` interpreter.
- It is now possible to bind to named values (the result of ``let``
expressions). For example:
.. code-block:: none
let fn functionDecl()
match fn.bind("foo")
- It is now possible to write comments in ``clang-query`` code. This
is primarily useful when using script-mode. Comments are all content
following the ``#`` character on a line:
.. code-block:: none
# This is a comment
match fn.bind("foo") # This is a trailing comment
- The new ``set print-matcher true`` command now causes ``clang-query`` to
print the evaluated matcher together with the resulting bindings.
- A new output mode ``detailed-ast`` was added to ``clang-query``. The
existing ``dump`` output mode is now a deprecated alias
for ``detailed-ast``
- Output modes can now be enabled or disabled non-exclusively. For example,
.. code-block:: none
# Enable detailed-ast without disabling other output, such as diag
enable output detailed-ast
m functionDecl()
# Disable detailed-ast only
disable output detailed-ast
m functionDecl()
- ...
Improvements to clang-rename
----------------------------
@ -107,201 +67,7 @@ The improvements are...
Improvements to clang-tidy
--------------------------
- New :doc:`abseil-duration-comparison
<clang-tidy/checks/abseil-duration-comparison>` check.
Checks for comparisons which should be done in the ``absl::Duration`` domain
instead of the float of integer domains.
- New :doc:`abseil-duration-division
<clang-tidy/checks/abseil-duration-division>` check.
Checks for uses of ``absl::Duration`` division that is done in a
floating-point context, and recommends the use of a function that
returns a floating-point value.
- New :doc:`abseil-duration-factory-float
<clang-tidy/checks/abseil-duration-factory-float>` check.
Checks for cases where the floating-point overloads of various
``absl::Duration`` factory functions are called when the more-efficient
integer versions could be used instead.
- New :doc:`abseil-duration-factory-scale
<clang-tidy/checks/abseil-duration-factory-scale>` check.
Checks for cases where arguments to ``absl::Duration`` factory functions are
scaled internally and could be changed to a different factory function.
- New :doc:`abseil-duration-subtraction
<clang-tidy/checks/abseil-duration-subtraction>` check.
Checks for cases where subtraction should be performed in the
``absl::Duration`` domain.
- New :doc:`abseil-faster-strsplit-delimiter
<clang-tidy/checks/abseil-faster-strsplit-delimiter>` check.
Finds instances of ``absl::StrSplit()`` or ``absl::MaxSplits()`` where the
delimiter is a single character string literal and replaces with a character.
- New :doc:`abseil-no-internal-dependencies
<clang-tidy/checks/abseil-no-internal-dependencies>` check.
Gives a warning if code using Abseil depends on internal details.
- New :doc:`abseil-no-namespace
<clang-tidy/checks/abseil-no-namespace>` check.
Ensures code does not open ``namespace absl`` as that violates Abseil's
compatibility guidelines.
- New :doc:`abseil-redundant-strcat-calls
<clang-tidy/checks/abseil-redundant-strcat-calls>` check.
Suggests removal of unnecessary calls to ``absl::StrCat`` when the result is
being passed to another ``absl::StrCat`` or ``absl::StrAppend``.
- New :doc:`abseil-str-cat-append
<clang-tidy/checks/abseil-str-cat-append>` check.
Flags uses of ``absl::StrCat()`` to append to a ``std::string``. Suggests
``absl::StrAppend()`` should be used instead.
- New :doc:`abseil-upgrade-duration-conversions
<clang-tidy/checks/abseil-upgrade-duration-conversions>` check.
Finds calls to ``absl::Duration`` arithmetic operators and factories whose
argument needs an explicit cast to continue compiling after upcoming API
changes.
- New :doc:`bugprone-too-small-loop-variable
<clang-tidy/checks/bugprone-too-small-loop-variable>` check.
Detects those ``for`` loops that have a loop variable with a "too small" type
which means this type can't represent all values which are part of the
iteration range.
- New :doc:`cppcoreguidelines-macro-usage
<clang-tidy/checks/cppcoreguidelines-macro-usage>` check.
Finds macro usage that is considered problematic because better language
constructs exist for the task.
- New :doc:`google-objc-function-naming
<clang-tidy/checks/google-objc-function-naming>` check.
Checks that function names in function declarations comply with the naming
conventions described in the Google Objective-C Style Guide.
- New :doc:`misc-non-private-member-variables-in-classes
<clang-tidy/checks/misc-non-private-member-variables-in-classes>` check.
Finds classes that not only contain the data (non-static member variables),
but also have logic (non-static member functions), and diagnoses all member
variables that have any other scope other than ``private``.
- New :doc:`modernize-avoid-c-arrays
<clang-tidy/checks/modernize-avoid-c-arrays>` check.
Finds C-style array types and recommend to use ``std::array<>`` /
``std::vector<>``.
- New :doc:`modernize-concat-nested-namespaces
<clang-tidy/checks/modernize-concat-nested-namespaces>` check.
Checks for uses of nested namespaces in the form of
``namespace a { namespace b { ... }}`` and offers change to
syntax introduced in C++17 standard: ``namespace a::b { ... }``.
- New :doc:`modernize-deprecated-ios-base-aliases
<clang-tidy/checks/modernize-deprecated-ios-base-aliases>` check.
Detects usage of the deprecated member types of ``std::ios_base`` and replaces
those that have a non-deprecated equivalent.
- New :doc:`modernize-use-nodiscard
<clang-tidy/checks/modernize-use-nodiscard>` check.
Adds ``[[nodiscard]]`` attributes (introduced in C++17) to member functions
to highlight at compile time which return values should not be ignored.
- New :doc:`readability-isolate-decl
<clang-tidy/checks/readability-isolate-declaration>` check.
Detects local variable declarations declaring more than one variable and
tries to refactor the code to one statement per declaration.
- New :doc:`readability-const-return-type
<clang-tidy/checks/readability-const-return-type>` check.
Checks for functions with a ``const``-qualified return type and recommends
removal of the ``const`` keyword.
- New :doc:`readability-magic-numbers
<clang-tidy/checks/readability-magic-numbers>` check.
Detects usage of magic numbers, numbers that are used as literals instead of
introduced via constants or symbols.
- New :doc:`readability-redundant-preprocessor
<clang-tidy/checks/readability-redundant-preprocessor>` check.
Finds potentially redundant preprocessor directives.
- New :doc:`readability-uppercase-literal-suffix
<clang-tidy/checks/readability-uppercase-literal-suffix>` check.
Detects when the integral literal or floating point literal has non-uppercase
suffix, and suggests to make the suffix uppercase. The list of destination
suffixes can be optionally provided.
- New alias :doc:`cert-dcl16-c
<clang-tidy/checks/cert-dcl16-c>` to :doc:`readability-uppercase-literal-suffix
<clang-tidy/checks/readability-uppercase-literal-suffix>`
added.
- New alias :doc:`cppcoreguidelines-avoid-c-arrays
<clang-tidy/checks/cppcoreguidelines-avoid-c-arrays>`
to :doc:`modernize-avoid-c-arrays
<clang-tidy/checks/modernize-avoid-c-arrays>` added.
- New alias :doc:`cppcoreguidelines-non-private-member-variables-in-classes
<clang-tidy/checks/cppcoreguidelines-non-private-member-variables-in-classes>`
to :doc:`misc-non-private-member-variables-in-classes
<clang-tidy/checks/misc-non-private-member-variables-in-classes>`
added.
- New alias :doc:`hicpp-avoid-c-arrays
<clang-tidy/checks/hicpp-avoid-c-arrays>`
to :doc:`modernize-avoid-c-arrays
<clang-tidy/checks/modernize-avoid-c-arrays>` added.
- New alias :doc:`hicpp-uppercase-literal-suffix
<clang-tidy/checks/hicpp-uppercase-literal-suffix>` to
:doc:`readability-uppercase-literal-suffix
<clang-tidy/checks/readability-uppercase-literal-suffix>`
added.
- The :doc:`cppcoreguidelines-narrowing-conversions
<clang-tidy/checks/cppcoreguidelines-narrowing-conversions>` check now
detects more narrowing conversions:
- integer to narrower signed integer (this is compiler implementation defined),
- integer - floating point narrowing conversions,
- floating point - integer narrowing conversions,
- constants with narrowing conversions (even in ternary operator).
- The :doc:`objc-property-declaration
<clang-tidy/checks/objc-property-declaration>` check now ignores the
`Acronyms` and `IncludeDefaultAcronyms` options.
- The :doc:`readability-redundant-smartptr-get
<clang-tidy/checks/readability-redundant-smartptr-get>` check does not warn
about calls inside macros anymore by default.
- The :doc:`readability-uppercase-literal-suffix
<clang-tidy/checks/readability-uppercase-literal-suffix>` check does not warn
about literal suffixes inside macros anymore by default.
- ...
Improvements to include-fixer
-----------------------------

View File

@ -49,9 +49,9 @@ copyright = u'2007-%d, The Clang Team' % date.today().year
# built documents.
#
# The short version.
version = '8'
version = '9'
# The full version, including alpha/beta/rc tags.
release = '8'
release = '9'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -1,5 +1,5 @@
=======================================
Clang 8.0.0 (In-Progress) Release Notes
Clang 9.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 8 release.
These are in-progress notes for the upcoming Clang 9 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 8.0.0. Here we
frontend, part of the LLVM Compiler Infrastructure, release 9.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
@ -35,7 +35,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 <https://llvm.org/releases/>`_.
What's New in Clang 8.0.0?
What's New in Clang 9.0.0?
==========================
Some of the major new features and improvements to Clang are listed
@ -46,96 +46,22 @@ sections with improvements to Clang's support for those languages.
Major New Features
------------------
- Clang supports use of a profile remapping file, which permits
profile data captured for one version of a program to be applied
when building another version where symbols have changed (for
example, due to renaming a class or namespace).
See the :doc:`UsersManual` for details.
- ...
Improvements to Clang's diagnostics
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- ``-Wextra-semi-stmt`` is a new diagnostic that diagnoses extra semicolons,
much like ``-Wextra-semi``. This new diagnostic diagnoses all *unnecessary*
null statements (expression statements without an expression), unless: the
semicolon directly follows a macro that was expanded to nothing or if the
semicolon is within the macro itself. This applies to macros defined in system
headers as well as user-defined macros.
.. code-block:: c++
#define MACRO(x) int x;
#define NULLMACRO(varname)
void test() {
; // <- warning: ';' with no preceding expression is a null statement
while (true)
; // OK, it is needed.
switch (my_enum) {
case E1:
// stuff
break;
case E2:
; // OK, it is needed.
}
MACRO(v0;) // Extra semicolon, but within macro, so ignored.
MACRO(v1); // <- warning: ';' with no preceding expression is a null statement
NULLMACRO(v2); // ignored, NULLMACRO expanded to nothing.
}
- ``-Wempty-init-stmt`` is a new diagnostic that diagnoses empty init-statements
of ``if``, ``switch``, ``range-based for``, unless: the semicolon directly
follows a macro that was expanded to nothing or if the semicolon is within the
macro itself (both macros from system headers, and normal macros). This
diagnostic is in the ``-Wextra-semi-stmt`` group and is enabled in
``-Wextra``.
.. code-block:: c++
void test() {
if(; // <- warning: init-statement of 'if' is a null statement
true)
;
switch (; // <- warning: init-statement of 'switch' is a null statement
x) {
...
}
for (; // <- warning: init-statement of 'range-based for' is a null statement
int y : S())
;
}
- ...
Non-comprehensive list of changes in this release
-------------------------------------------------
- The experimental feature Pretokenized Headers (PTH) was removed in its
entirely from Clang. The feature did not properly work with about 1/3 of the
possible tokens available and was unmaintained.
- ...
- The internals of libc++ include directory detection on MacOS have changed.
Instead of running a search based on the ``-resource-dir`` flag, the search
is now based on the path of the compiler in the filesystem. The default
behaviour should not change. However, if you override ``-resource-dir``
manually and rely on the old behaviour you will need to add appropriate
compiler flags for finding the corresponding libc++ include directory.
New Compiler Flags
------------------
- ``-fprofile-filter-files=[regexes]`` and ``-fprofile-exclude-files=[regexes]``.
Clang has now options to filter or exclude some files when
instrumenting for gcov-based profiling.
See the :doc:`UsersManual` for details.
- ...
Deprecated Compiler Flags
@ -149,17 +75,12 @@ future versions of Clang.
Modified Compiler Flags
-----------------------
- As of clang 8, `alignof` and `_Alignof` return the ABI alignment of a type,
as opposed to the preferred alignment. `__alignof` still returns the
preferred alignment. `-fclang-abi-compat=7` (and previous) will make
`alignof` and `_Alignof` return preferred alignment again.
- ...
New Pragmas in Clang
--------------------
- Clang now supports adding multiple `#pragma clang attribute` attributes into
a scope of pushed attributes.
- ...
Attribute Changes in Clang
--------------------------
@ -169,16 +90,6 @@ Attribute Changes in Clang
Windows Support
---------------
- clang-cl now supports the use of the precompiled header options /Yc and /Yu
without the filename argument. When these options are used without the
filename, a `#pragma hdrstop` inside the source marks the end of the
precompiled code.
- clang-cl has a new command-line option, ``/Zc:dllexportInlines-``, similar to
``-fvisibility-inlines-hidden`` on non-Windows, that makes class-level
`dllexport` and `dllimport` attributes not apply to inline member functions.
This can significantly reduce compile and link times. See the `User's Manual
<UsersManual.html#the-zc-dllexportinlines-option>`_ for more info.
- ...
@ -217,40 +128,12 @@ OpenCL C Language Changes in Clang
ABI Changes in Clang
--------------------
- `_Alignof` and `alignof` now return the ABI alignment of a type, as opposed
to the preferred alignment.
- This is more in keeping with the language of the standards, as well as
being compatible with gcc
- `__alignof` and `__alignof__` still return the preferred alignment of
a type
- This shouldn't break any ABI except for things that explicitly ask for
`alignas(alignof(T))`.
- If you have interfaces that break with this change, you may wish to switch
to `alignas(__alignof(T))`, instead of using the `-fclang-abi-compat`
switch.
- ...
OpenMP Support in Clang
----------------------------------
- Support relational-op != (not-equal) as one of the canonical forms of random
access iterator.
- Added support for mapping of the lambdas in target regions.
- Added parsing/sema analysis for OpenMP 5.0 requires directive.
- Various bugfixes and improvements.
New features supported for Cuda devices:
- Added support for the reductions across the teams.
- Extended number of constructs that can be executed in SPMD mode.
- Fixed support for lastprivate/reduction variables in SPMD constructs.
- General performance improvement.
- ...
CUDA Support in Clang
---------------------
@ -259,7 +142,7 @@ CUDA Support in Clang
Internal API Changes
--------------------
These are major API changes that have happened since the 7.0.0 release of
These are major API changes that have happened since the 8.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.
@ -294,75 +177,7 @@ Static Analyzer
Undefined Behavior Sanitizer (UBSan)
------------------------------------
* The Implicit Conversion Sanitizer (``-fsanitize=implicit-conversion``) group
was extended. One more type of issues is caught - implicit integer sign change.
(``-fsanitize=implicit-integer-sign-change``).
This makes the Implicit Conversion Sanitizer feature-complete,
with only missing piece being bitfield handling.
While there is a ``-Wsign-conversion`` diagnostic group that catches this kind
of issues, it is both noisy, and does not catch **all** the cases.
.. code-block:: c++
bool consume(unsigned int val);
void test(int val) {
(void)consume(val); // If the value was negative, it is now large positive.
(void)consume((unsigned int)val); // OK, the conversion is explicit.
}
Like some other ``-fsanitize=integer`` checks, these issues are **not**
undefined behaviour. But they are not *always* intentional, and are somewhat
hard to track down. This group is **not** enabled by ``-fsanitize=undefined``,
but the ``-fsanitize=implicit-integer-sign-change`` check
is enabled by ``-fsanitize=integer``.
(as is ``-fsanitize=implicit-integer-truncation`` check)
* The Implicit Conversion Sanitizer (``-fsanitize=implicit-conversion``) has
learned to sanitize compound assignment operators.
* ``alignment`` check has learned to sanitize the assume_aligned-like attributes:
.. code-block:: c++
typedef char **__attribute__((align_value(1024))) aligned_char;
struct ac_struct {
aligned_char a;
};
char **load_from_ac_struct(struct ac_struct *x) {
return x->a; // <- check that loaded 'a' is aligned
}
char **passthrough(__attribute__((align_value(1024))) char **x) {
return x; // <- check the pointer passed as function argument
}
char **__attribute__((alloc_align(2)))
alloc_align(int size, unsigned long alignment);
char **caller(int size) {
return alloc_align(size, 1024); // <- check returned pointer
}
char **__attribute__((assume_aligned(1024))) get_ptr();
char **caller2() {
return get_ptr(); // <- check returned pointer
}
void *caller3(char **x) {
return __builtin_assume_aligned(x, 1024); // <- check returned pointer
}
void *caller4(char **x, unsigned long offset) {
return __builtin_assume_aligned(x, 1024, offset); // <- check returned pointer accounting for the offest
}
void process(char *data, int width) {
#pragma omp for simd aligned(data : 1024) // <- aligned clause will be checked.
for (int x = 0; x < width; x++)
data[x] *= data[x];
}
- ...
Core Analysis Improvements
==========================

View File

@ -50,9 +50,9 @@ copyright = u'2007-%d, The Clang Team' % date.today().year
# built documents.
#
# The short version.
version = '8'
version = '9'
# The full version, including alpha/beta/rc tags.
release = '8'
release = '9'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -27,7 +27,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
project(libcxx CXX C)
set(PACKAGE_NAME libcxx)
set(PACKAGE_VERSION 8.0.0svn)
set(PACKAGE_VERSION 9.0.0svn)
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
set(PACKAGE_BUGREPORT "llvm-bugs@lists.llvm.org")

View File

@ -1,5 +1,5 @@
========================================
Libc++ 8.0.0 (In-Progress) Release Notes
Libc++ 9.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++ 8 release.
These are in-progress notes for the upcoming libc++ 9 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 8.0.0. Here we describe the
part of the LLVM Compiler Infrastructure, release 9.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
@ -32,7 +32,7 @@ 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++ 8.0.0?
What's New in Libc++ 9.0.0?
===========================
New Features
@ -40,23 +40,4 @@ New Features
API Changes
-----------
- Building libc++ for Mac OSX 10.6 is not supported anymore.
- Starting with LLVM 8.0.0, users that wish to link together translation units
built with different versions of libc++'s headers into the same final linked
image MUST define the _LIBCPP_HIDE_FROM_ABI_PER_TU macro to 1 when building
those translation units. Not defining _LIBCPP_HIDE_FROM_ABI_PER_TU to 1 and
linking translation units built with different versions of libc++'s headers
together may lead to ODR violations and ABI issues. On the flipside, code
size improvements should be expected for everyone not defining the macro.
- Starting with LLVM 8.0.0, std::dynarray has been removed from the library.
std::dynarray was a feature proposed for C++14 that was pulled from the
Standard at the last minute and was never standardized. Since there are no
plans to standardize this facility it is being removed.
- Starting with LLVM 8.0.0, std::bad_array_length has been removed from the
library. std::bad_array_length was a feature proposed for C++14 alongside
std::dynarray, but it never actually made it into the C++ Standard. There
are no plans to standardize this feature at this time. Formally speaking,
this removal constitutes an ABI break because the symbols were shipped in
the shared library. However, on macOS systems, the feature was not usable
because it was hidden behind availability annotations. We do not expect
any actual breakage to happen from this change.
- ...

View File

@ -47,9 +47,9 @@ copyright = u'2011-2018, LLVM Project'
# built documents.
#
# The short X.Y version.
version = '8.0'
version = '9.0'
# The full version, including alpha/beta/rc tags.
release = '8.0'
release = '9.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -33,7 +33,7 @@
# define _GNUC_VER_NEW 0
#endif
#define _LIBCPP_VERSION 8000
#define _LIBCPP_VERSION 9000
#ifndef _LIBCPP_ABI_VERSION
# define _LIBCPP_ABI_VERSION 1

View File

@ -1 +1 @@
8000
9000

View File

@ -81,7 +81,7 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
endif()
set(PACKAGE_NAME libunwind)
set(PACKAGE_VERSION 8.0.0svn)
set(PACKAGE_VERSION 9.0.0svn)
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
set(PACKAGE_BUGREPORT "llvm-bugs@lists.llvm.org")

View File

@ -48,9 +48,9 @@ copyright = u'2011-%d, LLVM Project' % date.today().year
# built documents.
#
# The short X.Y version.
version = '8.0'
version = '9.0'
# The full version, including alpha/beta/rc tags.
release = '8.0'
release = '9.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -1,19 +1,19 @@
=======================
lld 8.0.0 Release Notes
lld 9.0.0 Release Notes
=======================
.. contents::
:local:
.. warning::
These are in-progress notes for the upcoming LLVM 8.0.0 release.
These are in-progress notes for the upcoming LLVM 9.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 8.0.0.
This document contains the release notes for the lld linker, release 9.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,47 +24,17 @@ Non-comprehensive list of changes in this release
ELF Improvements
----------------
* lld now supports RISC-V. (`r339364
<https://reviews.llvm.org/rL339364>`_)
* Default image base address has changed from 65536 to 2 MiB for i386
and 4 MiB for AArch64 to make lld-generated executables work better
with automatic superpage promotion. FreeBSD can promote contiguous
non-superpages to a superpage if they are aligned to the superpage
size. (`r342746 <https://reviews.llvm.org/rL342746>`_)
* lld/Hexagon can now link Linux kernel and musl libc for Qualcomm
Hexagon ISA.
* Initial MSP430 ISA support has landed.
* The following flags have been added: ``-z interpose``, ``-z global``
* ...
COFF Improvements
-----------------
* PDB GUID is set to hash of PDB contents instead to a random byte
sequence for build reproducibility.
* The following flags have been added: ``/force:multiple``
* lld now can link against import libraries produced by GNU tools.
* lld can create thunks for ARM, to allow linking images over 16 MB.
* ...
MinGW Improvements
------------------
* lld can now automatically import data variables from DLLs without the
use of the dllimport attribute.
* lld can now use existing normal MinGW sysroots with import libraries and
CRT startup object files for GNU binutils. lld can handle most object
files produced by GCC, and thus works as a drop-in replacement for
ld.bfd in such environments. (There are known issues with linking crtend.o
from GCC in setups with DWARF exceptions though, where object files are
linked in a different order than with GNU ld, inserting a DWARF exception
table terminator too early.)
* ...
MachO Improvements
------------------
@ -74,7 +44,4 @@ MachO Improvements
WebAssembly Improvements
------------------------
* Add initial support for creating shared libraries (-shared).
Note: The shared library format is still under active development and may
undergo significant changes in future versions.
See: https://github.com/WebAssembly/tool-conventions/blob/master/DynamicLinking.md
* ...

View File

@ -48,9 +48,9 @@ copyright = u'2011-%d, LLVM Project' % date.today().year
# built documents.
#
# The short version.
version = '8'
version = '9'
# The full version, including alpha/beta/rc tags.
release = '8'
release = '9'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -12,7 +12,7 @@ if(POLICY CMP0075)
endif()
if(NOT DEFINED LLVM_VERSION_MAJOR)
set(LLVM_VERSION_MAJOR 8)
set(LLVM_VERSION_MAJOR 9)
endif()
if(NOT DEFINED LLVM_VERSION_MINOR)
set(LLVM_VERSION_MINOR 0)

View File

@ -1,12 +1,12 @@
========================
LLVM 8.0.0 Release Notes
LLVM 9.0.0 Release Notes
========================
.. contents::
:local:
.. warning::
These are in-progress notes for the upcoming LLVM 8 release.
These are in-progress notes for the upcoming LLVM 9 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 8.0.0. Here we describe the status of LLVM, including major improvements
release 9.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/>`_.
@ -40,14 +40,6 @@ 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 **llvm-cov** tool can now export lcov trace files using the
`-format=lcov` option of the `export` command.
* The add_llvm_loadable_module CMake macro has been removed. The
add_llvm_library macro with the MODULE argument now provides the same
functionality. See `Writing an LLVM Pass
<WritingAnLLVMPass.html#setting-up-the-build-environment>`_.
.. NOTE
If you would like to document a larger change, then you can add a
subsection about it right here. You can copy the following boilerplate
@ -82,8 +74,7 @@ Changes to the PowerPC Target
Changes to the X86 Target
-------------------------
* Machine model for AMD bdver2 (Piledriver) CPU was added. It is used to support
instruction scheduling and other instruction cost heuristics.
During this release ...
Changes to the AMDGPU Target
-----------------------------
@ -98,14 +89,7 @@ Changes to the AVR Target
Changes to the WebAssembly Target
---------------------------------
The WebAssembly target is no longer "experimental"! It's now built by default,
rather than needing to be enabled with LLVM_EXPERIMENTAL_TARGETS_TO_BUILD.
The object file format and core C ABI are now considered stable. That said,
the object file format has an ABI versioning capability, and one anticipated
use for it will be to add support for returning small structs as multiple
return values, once the underlying WebAssembly platform itself supports it.
Additionally, multithreading support is not yet included in the stable ABI.
During this release ...
Changes to the OCaml bindings
@ -120,7 +104,7 @@ Changes to the C API
Changes to the DAG infrastructure
---------------------------------
External Open Source Projects Using LLVM 8
External Open Source Projects Using LLVM 9
==========================================
* A project...

View File

@ -51,9 +51,9 @@ copyright = u'2003-%d, LLVM Project' % date.today().year
# built documents.
#
# The short version.
version = '8'
version = '9'
# The full version, including alpha/beta/rc tags.
release = '8'
release = '9'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

View File

@ -26,8 +26,8 @@ set python64_dir=C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python36
set revision=%1
set branch=trunk
set package_version=8.0.0-r%revision%
set clang_format_vs_version=8.0.0.%revision%
set package_version=9.0.0-r%revision%
set clang_format_vs_version=9.0.0.%revision%
set build_dir=llvm_package_%revision%
echo Branch: %branch%

View File

@ -1,8 +1,8 @@
============================
Release Notes 8.0 (upcoming)
Release Notes 9.0 (upcoming)
============================
In Polly 8 the following important changes have been incorporated.
In Polly 9 the following important changes have been incorporated.
.. warning::

View File

@ -49,9 +49,9 @@ copyright = u'2010-%d, The Polly Team' % date.today().year
# built documents.
#
# The short X.Y version.
version = '8.0-devel'
version = '9.0-devel'
# The full version, including alpha/beta/rc tags.
release = '8.0-devel'
release = '9.0-devel'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.