aaronpuchert added a comment. Herald added a subscriber: danielkiss. In D67113#2244463 <https://reviews.llvm.org/D67113#2244463>, @aaron.ballman wrote:
> There may be a deeper issue here in that there are four standard conversion > sequences, not three: http://eel.is/c++draft/conv#1, but otherwise this > change seems correct to me (function conversion is certainly not in the first > group). It seems we've collapsed the third and fourth kind into one, I wonder if that makes a difference. This can even be observed in the AST: void f() noexcept; void (*const fp)() = f; // VarDecl fp 'void (*const)()' cinit // (2) `-ImplicitCastExpr 'void (*const)()' <NoOp> // (1) `-ImplicitCastExpr 'void (*)() noexcept' <FunctionToPointerDecay> // `-DeclRefExpr 'void () noexcept' lvalue Function 'f' 'void () noexcept' where (1) is a first kind conversion, and (2) a combined third and fourth kind conversion. Since both are essentially no-ops (see also D67112 <https://reviews.llvm.org/D67112>), it probably doesn't make sense to go into more detail. > Do you have a test case which can exercise this change? Nope, just discovered this while reading the code. This should be unreachable, so it would be bad if I could observe a change. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67113/new/ https://reviews.llvm.org/D67113 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits