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 `izaronpl...@gmail.com`. 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
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to