]> granicus.if.org Git - clang/commit
[cxx1z-constexpr-lambda] Make conversion function constexpr, and teach the expression...
authorFaisal Vali <faisalv@yahoo.com>
Sun, 8 Jan 2017 18:56:11 +0000 (18:56 +0000)
committerFaisal Vali <faisalv@yahoo.com>
Sun, 8 Jan 2017 18:56:11 +0000 (18:56 +0000)
commit81f1ca9eabbc6c129647aaf3bae9762ae2e17071
treea47363db67d3ba8a17798d313b60e50d46bedddd
parent2a3dc33f7eb936f76ea1e98154f459fa468b78c3
[cxx1z-constexpr-lambda] Make conversion function constexpr, and teach the expression-evaluator to evaluate the static-invoker.

This patch has been sitting in review hell since july 2016 and our lack of constexpr lambda support is getting embarrassing (given that I've had a branch that implements the feature (modulo *this capture) for over a year.  While in Issaquah I was enjoying shamelessly trying to convince folks of the lie that this was Richard's fault ;) I won't be able to do so in Kona since I won't be attending - so I'm going to aim to have this feature be implemented by then.

I'm quite confident of the approach in this patch, which simply maps the static-invoker 'thunk' back to the corresponding call-operator (specialization).

Thanks!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291397 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/ExprConstant.cpp
lib/Sema/SemaLambda.cpp
test/SemaCXX/cxx1z-constexpr-lambdas.cpp