diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index dcc2eaf4b202f..0680aa56db0b7 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -36,6 +36,30 @@ 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 `_. +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: `_. +- ``-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 @@ Bug Fixes 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: `_. - Clang will now check compile-time determinable string literals as format strings. Fixes `Issue 55805: `_. - ``-Wformat`` now recognizes ``%b`` for the ``printf``/``scanf`` family of @@ -119,10 +135,6 @@ Improvements to Clang's diagnostics potential false positives, this diagnostic will not diagnose use of the ``true`` macro (from ``>`) 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.