Index: clang/docs/ReleaseNotes.rst =================================================================== --- clang/docs/ReleaseNotes.rst +++ clang/docs/ReleaseNotes.rst @@ -36,6 +36,26 @@ 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``. + + What's New in Clang |release|? ============================== @@ -99,14 +119,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: `_. - 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 +131,6 @@ 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.