[clang] Fix bad line ending (DOS instead of Unix) inside the release notes.
authorWawha <fjean.wk@gmail.com>
Thu, 13 Feb 2020 21:46:33 +0000 (22:46 +0100)
committerWawha <fjean.wk@gmail.com>
Thu, 13 Feb 2020 21:52:28 +0000 (22:52 +0100)
clang/docs/ReleaseNotes.rst

index e0a15f8..b98abc8 100644 (file)
-========================================\r
-Clang 11.0.0 (In-Progress) Release Notes\r
-========================================\r
-\r
-.. contents::\r
-   :local:\r
-   :depth: 2\r
-\r
-Written by the `LLVM Team <https://llvm.org/>`_\r
-\r
-.. warning::\r
-\r
-   These are in-progress notes for the upcoming Clang 11 release.\r
-   Release notes for previous releases can be found on\r
-   `the Download Page <https://releases.llvm.org/download.html>`_.\r
-\r
-Introduction\r
-============\r
-\r
-This document contains the release notes for the Clang C/C++/Objective-C\r
-frontend, part of the LLVM Compiler Infrastructure, release 11.0.0. Here we\r
-describe the status of Clang in some detail, including major\r
-improvements from the previous release and new feature work. For the\r
-general LLVM release notes, see `the LLVM\r
-documentation <https://llvm.org/docs/ReleaseNotes.html>`_. All LLVM\r
-releases may be downloaded from the `LLVM releases web\r
-site <https://llvm.org/releases/>`_.\r
-\r
-For more information about Clang or LLVM, including information about the\r
-latest release, please see the `Clang Web Site <https://clang.llvm.org>`_ or the\r
-`LLVM Web Site <https://llvm.org>`_.\r
-\r
-Note that if you are reading this file from a Git checkout or the\r
-main Clang web page, this document applies to the *next* release, not\r
-the current one. To see the release notes for a specific release, please\r
-see the `releases page <https://llvm.org/releases/>`_.\r
-\r
-What's New in Clang 11.0.0?\r
-===========================\r
-\r
-Some of the major new features and improvements to Clang are listed\r
-here. Generic improvements to Clang as a whole or to its underlying\r
-infrastructure are described first, followed by language-specific\r
-sections with improvements to Clang's support for those languages.\r
-\r
-Major New Features\r
-------------------\r
-\r
-- ...\r
-\r
-Improvements to Clang's diagnostics\r
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r
-\r
-- ...\r
-\r
-Non-comprehensive list of changes in this release\r
--------------------------------------------------\r
-\r
-\r
-New Compiler Flags\r
-------------------\r
-\r
-\r
-- -fstack-clash-protection will provide a protection against the stack clash\r
-  attack for x86 architecture through automatic probing of each page of\r
-  allocated stack.\r
-\r
-Deprecated Compiler Flags\r
--------------------------\r
-\r
-The following options are deprecated and ignored. They will be removed in\r
-future versions of Clang.\r
-\r
-- ...\r
-\r
-Modified Compiler Flags\r
------------------------\r
-\r
-\r
-New Pragmas in Clang\r
---------------------\r
-\r
-- ...\r
-\r
-Attribute Changes in Clang\r
---------------------------\r
-\r
-- ...\r
-\r
-Windows Support\r
----------------\r
-\r
-C Language Changes in Clang\r
----------------------------\r
-\r
-- ...\r
-\r
-C11 Feature Support\r
-^^^^^^^^^^^^^^^^^^^\r
-\r
-...\r
-\r
-C++ Language Changes in Clang\r
------------------------------\r
-\r
-- Clang now implements a restriction on giving non-C-compatible anonymous\r
-  structs a typedef name for linkage purposes, as described in C++ committee\r
-  paper `P1766R1 <http://wg21.link/p1766r1>`. This paper was adopted by the\r
-  C++ committee as a Defect Report resolution, so it is applied retroactively\r
-  to all C++ standard versions. This affects code such as:\r
-\r
-  .. code-block:: c++\r
-\r
-    typedef struct {\r
-      int f() { return 0; }\r
-    } S;\r
-\r
-  Previous versions of Clang rejected some constructs of this form\r
-  (specifically, where the linkage of the type happened to be computed\r
-  before the parser reached the typedef name); those cases are still rejected\r
-  in Clang 11.  In addition, cases that previous versions of Clang did not\r
-  reject now produce an extension warning. This warning can be disabled with\r
-  the warning flag ``-Wno-non-c-typedef-for-linkage``.\r
-\r
-  Affected code should be updated to provide a tag name for the anonymous\r
-  struct:\r
-\r
-  .. code-block:: c++\r
-\r
-    struct S {\r
-      int f() { return 0; }\r
-    };\r
-\r
-  If the code is shared with a C compilation (for example, if the parts that\r
-  are not C-compatible are guarded with ``#ifdef __cplusplus``), the typedef\r
-  declaration should be retained, but a tag name should still be provided:\r
-\r
-  .. code-block:: c++\r
-\r
-    typedef struct S {\r
-      int f() { return 0; }\r
-    } S;\r
-\r
-C++1z Feature Support\r
-^^^^^^^^^^^^^^^^^^^^^\r
-\r
-...\r
-\r
-Objective-C Language Changes in Clang\r
--------------------------------------\r
-\r
-\r
-OpenCL C Language Changes in Clang\r
-----------------------------------\r
-\r
-...\r
-\r
-ABI Changes in Clang\r
---------------------\r
-\r
-\r
-OpenMP Support in Clang\r
------------------------\r
-\r
-- ...\r
-\r
-CUDA Support in Clang\r
----------------------\r
-\r
-- ...\r
-\r
-Internal API Changes\r
---------------------\r
-\r
-These are major API changes that have happened since the 10.0.0 release of\r
-Clang. If upgrading an external codebase that uses Clang as a library,\r
-this section should help get you past the largest hurdles of upgrading.\r
-\r
-\r
-Build System Changes\r
---------------------\r
-\r
-These are major changes to the build system that have happened since the 10.0.0\r
-release of Clang. Users of the build system should adjust accordingly.\r
-\r
-- ...\r
-\r
-AST Matchers\r
-------------\r
-\r
-- ...\r
-\r
-clang-format\r
-------------\r
-\r
-\r
-- Option ``IndentCaseBlocks`` has been added to support treating the block\r
-  following a switch case label as a scope block which gets indented itself.\r
-  It helps avoid having the closing bracket align with the switch statement's\r
-  closing bracket (when ``IndentCaseLabels`` is ``false``).\r
-\r
-- Option ``ObjCBreakBeforeNestedBlockParam`` has been added to optionally apply\r
-  linebreaks for function arguments declarations before nested blocks.\r
-\r
-  .. code-block:: c++\r
-\r
-    switch (fool) {                vs.     switch (fool) {\r
-    case 1:                                case 1: {\r
-      {                                      bar();\r
-         bar();                            } break;\r
-      }                                    default: {\r
-      break;                                 plop();\r
-    default:                               }\r
-      {                                    }\r
-        plop();\r
-      }\r
-    }\r
-\r
-- Option ``InsertTrailingCommas`` can be set to ``TCS_Wrapped`` to insert\r
-  trailing commas in container literals (arrays and objects) that wrap across\r
-  multiple lines. It is currently only available for JavaScript and disabled by\r
-  default (``TCS_None``).\r
-\r
-- Option ``BraceWrapping.BeforeLambdaBody`` has been added to manage lambda\r
-  line break inside function parameter call in Allman style.\r
-\r
-  .. code-block:: c++\r
-\r
-      true:\r
-      connect(\r
-        []()\r
-        {\r
-          foo();\r
-          bar();\r
-        });\r
-\r
-      false:\r
-      connect([]() {\r
-          foo();\r
-          bar();\r
-        });\r
-\r
-libclang\r
---------\r
-\r
-- ...\r
-\r
-Static Analyzer\r
----------------\r
-\r
-- ...\r
-\r
-.. _release-notes-ubsan:\r
-\r
-Undefined Behavior Sanitizer (UBSan)\r
-------------------------------------\r
-\r
-\r
-Core Analysis Improvements\r
-==========================\r
-\r
-- ...\r
-\r
-New Issues Found\r
-================\r
-\r
-- ...\r
-\r
-Python Binding Changes\r
-----------------------\r
-\r
-The following methods have been added:\r
-\r
--  ...\r
-\r
-Significant Known Problems\r
-==========================\r
-\r
-Additional Information\r
-======================\r
-\r
-A wide variety of additional information is available on the `Clang web\r
-page <https://clang.llvm.org/>`_. The web page contains versions of the\r
-API documentation which are up-to-date with the Subversion version of\r
-the source code. You can access versions of these documents specific to\r
-this release by going into the "``clang/docs/``" directory in the Clang\r
-tree.\r
-\r
-If you have any questions or comments about Clang, please feel free to\r
-contact us via the `mailing\r
-list <https://lists.llvm.org/mailman/listinfo/cfe-dev>`_.\r
+========================================
+Clang 11.0.0 (In-Progress) Release Notes
+========================================
+
+.. contents::
+   :local:
+   :depth: 2
+
+Written by the `LLVM Team <https://llvm.org/>`_
+
+.. warning::
+
+   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>`_.
+
+Introduction
+============
+
+This document contains the release notes for the Clang C/C++/Objective-C
+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
+documentation <https://llvm.org/docs/ReleaseNotes.html>`_. All LLVM
+releases may be downloaded from the `LLVM releases web
+site <https://llvm.org/releases/>`_.
+
+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 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 11.0.0?
+===========================
+
+Some of the major new features and improvements to Clang are listed
+here. Generic improvements to Clang as a whole or to its underlying
+infrastructure are described first, followed by language-specific
+sections with improvements to Clang's support for those languages.
+
+Major New Features
+------------------
+
+- ...
+
+Improvements to Clang's diagnostics
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+- ...
+
+Non-comprehensive list of changes in this release
+-------------------------------------------------
+
+
+New Compiler Flags
+------------------
+
+
+- -fstack-clash-protection will provide a protection against the stack clash
+  attack for x86 architecture through automatic probing of each page of
+  allocated stack.
+
+Deprecated Compiler Flags
+-------------------------
+
+The following options are deprecated and ignored. They will be removed in
+future versions of Clang.
+
+- ...
+
+Modified Compiler Flags
+-----------------------
+
+
+New Pragmas in Clang
+--------------------
+
+- ...
+
+Attribute Changes in Clang
+--------------------------
+
+- ...
+
+Windows Support
+---------------
+
+C Language Changes in Clang
+---------------------------
+
+- ...
+
+C11 Feature Support
+^^^^^^^^^^^^^^^^^^^
+
+...
+
+C++ Language Changes in Clang
+-----------------------------
+
+- Clang now implements a restriction on giving non-C-compatible anonymous
+  structs a typedef name for linkage purposes, as described in C++ committee
+  paper `P1766R1 <http://wg21.link/p1766r1>`. This paper was adopted by the
+  C++ committee as a Defect Report resolution, so it is applied retroactively
+  to all C++ standard versions. This affects code such as:
+
+  .. code-block:: c++
+
+    typedef struct {
+      int f() { return 0; }
+    } S;
+
+  Previous versions of Clang rejected some constructs of this form
+  (specifically, where the linkage of the type happened to be computed
+  before the parser reached the typedef name); those cases are still rejected
+  in Clang 11.  In addition, cases that previous versions of Clang did not
+  reject now produce an extension warning. This warning can be disabled with
+  the warning flag ``-Wno-non-c-typedef-for-linkage``.
+
+  Affected code should be updated to provide a tag name for the anonymous
+  struct:
+
+  .. code-block:: c++
+
+    struct S {
+      int f() { return 0; }
+    };
+
+  If the code is shared with a C compilation (for example, if the parts that
+  are not C-compatible are guarded with ``#ifdef __cplusplus``), the typedef
+  declaration should be retained, but a tag name should still be provided:
+
+  .. code-block:: c++
+
+    typedef struct S {
+      int f() { return 0; }
+    } S;
+
+C++1z Feature Support
+^^^^^^^^^^^^^^^^^^^^^
+
+...
+
+Objective-C Language Changes in Clang
+-------------------------------------
+
+
+OpenCL C Language Changes in Clang
+----------------------------------
+
+...
+
+ABI Changes in Clang
+--------------------
+
+
+OpenMP Support in Clang
+-----------------------
+
+- ...
+
+CUDA Support in Clang
+---------------------
+
+- ...
+
+Internal API Changes
+--------------------
+
+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.
+
+
+Build System Changes
+--------------------
+
+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.
+
+- ...
+
+AST Matchers
+------------
+
+- ...
+
+clang-format
+------------
+
+
+- Option ``IndentCaseBlocks`` has been added to support treating the block
+  following a switch case label as a scope block which gets indented itself.
+  It helps avoid having the closing bracket align with the switch statement's
+  closing bracket (when ``IndentCaseLabels`` is ``false``).
+
+- Option ``ObjCBreakBeforeNestedBlockParam`` has been added to optionally apply
+  linebreaks for function arguments declarations before nested blocks.
+
+  .. code-block:: c++
+
+    switch (fool) {                vs.     switch (fool) {
+    case 1:                                case 1: {
+      {                                      bar();
+         bar();                            } break;
+      }                                    default: {
+      break;                                 plop();
+    default:                               }
+      {                                    }
+        plop();
+      }
+    }
+
+- Option ``InsertTrailingCommas`` can be set to ``TCS_Wrapped`` to insert
+  trailing commas in container literals (arrays and objects) that wrap across
+  multiple lines. It is currently only available for JavaScript and disabled by
+  default (``TCS_None``).
+
+- Option ``BraceWrapping.BeforeLambdaBody`` has been added to manage lambda
+  line break inside function parameter call in Allman style.
+
+  .. code-block:: c++
+
+      true:
+      connect(
+        []()
+        {
+          foo();
+          bar();
+        });
+
+      false:
+      connect([]() {
+          foo();
+          bar();
+        });
+
+libclang
+--------
+
+- ...
+
+Static Analyzer
+---------------
+
+- ...
+
+.. _release-notes-ubsan:
+
+Undefined Behavior Sanitizer (UBSan)
+------------------------------------
+
+
+Core Analysis Improvements
+==========================
+
+- ...
+
+New Issues Found
+================
+
+- ...
+
+Python Binding Changes
+----------------------
+
+The following methods have been added:
+
+-  ...
+
+Significant Known Problems
+==========================
+
+Additional Information
+======================
+
+A wide variety of additional information is available on the `Clang web
+page <https://clang.llvm.org/>`_. The web page contains versions of the
+API documentation which are up-to-date with the Subversion version of
+the source code. You can access versions of these documents specific to
+this release by going into the "``clang/docs/``" directory in the Clang
+tree.
+
+If you have any questions or comments about Clang, please feel free to
+contact us via the `mailing
+list <https://lists.llvm.org/mailman/listinfo/cfe-dev>`_.