This revision was automatically updated to reflect the committed changes. aaron.ballman marked an inline comment as done. Closed by commit rGe076680bd59c: Add a "Potentially Breaking Changes" section to the Clang release notes (authored by aaron.ballman).
Changed prior to commit: https://reviews.llvm.org/D133771?vs=459718&id=460365#toc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133771/new/ https://reviews.llvm.org/D133771 Files: clang/docs/ReleaseNotes.rst Index: clang/docs/ReleaseNotes.rst =================================================================== --- clang/docs/ReleaseNotes.rst +++ clang/docs/ReleaseNotes.rst @@ -36,6 +36,30 @@ the current one. To see the release notes for a specific release, please see the `releases page <https://llvm.org/releases/>`_. +Potentially Breaking Changes +============================ +These changes are ones which we think may surprise users when upgrading to +Clang |release| because of the opportunity they pose for disruption to existing +code bases. + +- Clang will now correctly diagnose as ill-formed a constant expression where an + enum without a fixed underlying type is set to a value outside the range of + the enumeration's values. Due to the extended period of time this bug was + present in major C++ implementations (including Clang), this error has the + ability to be downgraded into a warning (via: + ``-Wno-error=enum-constexpr-conversion``) to provide a transition period for + users. This diagnostic is expected to turn into an error-only diagnostic in + the next Clang release. Fixes + `Issue 50055: <https://github.com/llvm/llvm-project/issues/50055>`_. +- ``-Wincompatible-function-pointer-types`` now defaults to an error in all C + language modes. It may be downgraded to a warning with + ``-Wno-error=incompatible-function-pointer-types`` or disabled entirely with + ``-Wno-implicit-function-pointer-types``. *NOTE* We recommend that projects + using configure scripts verify the results do not change before/after setting + ``-Werror=incompatible-function-pointer-types`` to avoid incompatibility with + Clang 16. + + What's New in Clang |release|? ============================== @@ -99,14 +123,6 @@ Improvements to Clang's diagnostics ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Clang will now correctly diagnose as ill-formed a constant expression where an - enum without a fixed underlying type is set to a value outside the range of - the enumeration's values. Due to the extended period of time this bug was - present in major C++ implementations (including Clang), this error has the - ability to be downgraded into a warning (via: -Wno-error=enum-constexpr-conversion) - to provide a transition period for users. This diagnostic is expected to turn - into an error-only diagnostic in the next Clang release. Fixes - `Issue 50055: <https://github.com/llvm/llvm-project/issues/50055>`_. - Clang will now check compile-time determinable string literals as format strings. Fixes `Issue 55805: <https://github.com/llvm/llvm-project/issues/55805>`_. - ``-Wformat`` now recognizes ``%b`` for the ``printf``/``scanf`` family of @@ -119,10 +135,6 @@ potential false positives, this diagnostic will not diagnose use of the ``true`` macro (from ``<stdbool.h>>`) in C language mode despite the macro being defined to expand to ``1``. -- ``-Wincompatible-function-pointer-types`` now defaults to an error in all C - language modes. It may be downgraded to a warning with - ``-Wno-error=incompatible-function-pointer-types`` or disabled entirely with - ``-Wno-implicit-function-pointer-types``. - Clang will now print more information about failed static assertions. In particular, simple static assertion expressions are evaluated to their compile-time value and printed out if the assertion fails.
Index: clang/docs/ReleaseNotes.rst =================================================================== --- clang/docs/ReleaseNotes.rst +++ clang/docs/ReleaseNotes.rst @@ -36,6 +36,30 @@ the current one. To see the release notes for a specific release, please see the `releases page <https://llvm.org/releases/>`_. +Potentially Breaking Changes +============================ +These changes are ones which we think may surprise users when upgrading to +Clang |release| because of the opportunity they pose for disruption to existing +code bases. + +- Clang will now correctly diagnose as ill-formed a constant expression where an + enum without a fixed underlying type is set to a value outside the range of + the enumeration's values. Due to the extended period of time this bug was + present in major C++ implementations (including Clang), this error has the + ability to be downgraded into a warning (via: + ``-Wno-error=enum-constexpr-conversion``) to provide a transition period for + users. This diagnostic is expected to turn into an error-only diagnostic in + the next Clang release. Fixes + `Issue 50055: <https://github.com/llvm/llvm-project/issues/50055>`_. +- ``-Wincompatible-function-pointer-types`` now defaults to an error in all C + language modes. It may be downgraded to a warning with + ``-Wno-error=incompatible-function-pointer-types`` or disabled entirely with + ``-Wno-implicit-function-pointer-types``. *NOTE* We recommend that projects + using configure scripts verify the results do not change before/after setting + ``-Werror=incompatible-function-pointer-types`` to avoid incompatibility with + Clang 16. + + What's New in Clang |release|? ============================== @@ -99,14 +123,6 @@ Improvements to Clang's diagnostics ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- Clang will now correctly diagnose as ill-formed a constant expression where an - enum without a fixed underlying type is set to a value outside the range of - the enumeration's values. Due to the extended period of time this bug was - present in major C++ implementations (including Clang), this error has the - ability to be downgraded into a warning (via: -Wno-error=enum-constexpr-conversion) - to provide a transition period for users. This diagnostic is expected to turn - into an error-only diagnostic in the next Clang release. Fixes - `Issue 50055: <https://github.com/llvm/llvm-project/issues/50055>`_. - Clang will now check compile-time determinable string literals as format strings. Fixes `Issue 55805: <https://github.com/llvm/llvm-project/issues/55805>`_. - ``-Wformat`` now recognizes ``%b`` for the ``printf``/``scanf`` family of @@ -119,10 +135,6 @@ potential false positives, this diagnostic will not diagnose use of the ``true`` macro (from ``<stdbool.h>>`) in C language mode despite the macro being defined to expand to ``1``. -- ``-Wincompatible-function-pointer-types`` now defaults to an error in all C - language modes. It may be downgraded to a warning with - ``-Wno-error=incompatible-function-pointer-types`` or disabled entirely with - ``-Wno-implicit-function-pointer-types``. - Clang will now print more information about failed static assertions. In particular, simple static assertion expressions are evaluated to their compile-time value and printed out if the assertion fails.
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits