vsapsai marked 2 inline comments as done. vsapsai added inline comments.
================ Comment at: clang/lib/CodeGen/CGObjC.cpp:2527 + return TryEmitResult(CGF.EmitScalarExpr(e), + !shouldRetainObjCLifetime(type.getObjCLifetime())); + } ---------------- vsapsai wrote: > rjmccall wrote: > > Can we test constant-evaluability directly instead of only applying this > > when the declaration isn't otherwise used? > We can use `IsVariableAConstantExpression` but it requires removing const > from `Decl`. > > Another way to test constant-evaluability is `tryEmitAsConstant`. It still > requires removing const qualifier but overall it is a good approach. It > captures the intention well and implementation-wise it is what > `CGF.EmitScalarExpr` is doing anyway. I'll try it and will show how it looks > like. If we go with `tryEmitAsConstant`, there is a separate review D53725 to use `EmitConstant` in more places. https://reviews.llvm.org/D53674 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits