Izaron added a comment.
There are some godbolt links in the github issues.
Expression `A{}.f();` generates the call of the move constructor from nowhere
as well - https://godbolt.org/z/MceYedKzj
With the patch this node (that lives inside an another `ConstantExpr` node):
MemberExpr 0x55555e48b3d8 '<bound member function type>' .f 0x55555e48aa98
`-MaterializeTemporaryExpr 0x55555e48b3c0 'struct A' xvalue
`-CXXFunctionalCastExpr 0x55555e48b398 'struct A' functional cast to struct
A <NoOp>
`-ConstantExpr 0x55555e48b200 'struct A'
`-CXXTemporaryObjectExpr 0x55555e48b1d0 'struct A' 'void (void)' list
transforms to this:
MemberExpr 0x55555e48b3d8 '<bound member function type>' .f 0x55555e48aa98
`-MaterializeTemporaryExpr 0x55555e48b3c0 'struct A' xvalue
`-CXXTemporaryObjectExpr 0x55555e48b1d0 'struct A' 'void (void)' list
I reviewed other github issues about consteval. This patch doesn't fix other
known issues as I checked.
//P.S. If this review is eventually approved, kindly please merge the commit on
my behalf =) As I don't have merge access. My name is `Evgeny Shulgin` and
email is `[email protected]`. Sorry for inconvenience!//
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119095/new/
https://reviews.llvm.org/D119095
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits