aaron.ballman added a comment.

In D131479#3753462 <https://reviews.llvm.org/D131479#3753462>, @Mordante wrote:

> This change breaks the libc++ test 
> `libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.fail.cpp`.
>  
> (https://buildkite.com/llvm-project/libcxx-ci/builds/13149#0182d0d4-341a-4b41-b67f-12937f41e6d5)
>
> Looking at the description of this patch it should only affect `consteval` 
> functions, but it seems to affect `constexpr` functions too. Can you have a 
> look?

Agreed that we should take a look, but it's interesting to note that libstdc++ 
seems to have a different behavior than libc++ here: 
https://godbolt.org/z/6cWhf6GYj (the last three compiler panes show Clang 14 
libstd++, Clang 14 libc++, and Clang trunk libc++). How sure are you that the 
libc++ test is actually correct, because (without checking the standard, so 
take with a giant grain of salt) this seems like it might have fixed a bug in 
libc++? The release note says this is expected to impact constexpr and 
consteval default special member functions, so behavioral changes to 
`constexpr` aren't unexpected (though I agree that the commit message didn't 
mention `constexpr` so the changes may seem surprising).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131479/new/

https://reviews.llvm.org/D131479

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to