From 3f33c8482fc0b8dd0d2596262ebd0ed73d41665d Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Tue, 17 Jun 2025 15:27:41 -0700 Subject: [PATCH] [clang] Add release note for int->enum conversion change. (#144407) This seems to be having some practical impact, so we should let people know. --- clang/docs/ReleaseNotes.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst index 6f28dbd03ca2..12816eed2e8b 100644 --- a/clang/docs/ReleaseNotes.rst +++ b/clang/docs/ReleaseNotes.rst @@ -65,8 +65,10 @@ C++ Specific Potentially Breaking Changes standard library already have their own bespoke builtins. - A workaround for libstdc++4.7 has been removed. Note that 4.8.3 remains the oldest supported libstdc++ version. - - Added ``!nonnull/!align`` metadata to load of references for better codegen. +- Checking for int->enum conversions in constant expressions is more strict; + in particular, ``const E x = (E)-1;`` is not treated as a constant if it's + out of range. This impacts old versions of Boost. (#GH143034) ABI Changes in This Version ---------------------------