diff options
author | Faisal Vali <faisalv@yahoo.com> | 2013-10-24 01:05:22 +0000 |
---|---|---|
committer | Faisal Vali <faisalv@yahoo.com> | 2013-10-24 01:05:22 +0000 |
commit | 66605d40a74aa26664050d41f900c37ad5fbbfe9 (patch) | |
tree | faf220d6acd14aea3facf87a550ef24d320da423 /clang/test/Parser/cxx-attributes.cpp | |
parent | e0bc980500bfe3c0a2b5117bb77f9131e944c7ad (diff) | |
download | bcm5719-llvm-66605d40a74aa26664050d41f900c37ad5fbbfe9.tar.gz bcm5719-llvm-66605d40a74aa26664050d41f900c37ad5fbbfe9.zip |
Fix an instantiation bug with nested generic lambdas and conversion to fptrs.
This patch fixes the typelocs of the conversion-operator and the conversion-operator-name and adds the parameters of the call operator to the FunctionProtoTypeLoc of the respective entities. Thus, when the template declarations (conversion operators) undergo deduction and instantiation/transformation/substitution - they add themselves to the local instantiation scope if needed.
This patch supports the following:
auto L = [](auto b) {
return [](auto a) ->decltype(a) { return a; };
};
int (*fp)(int) = L(8);
Richard LGTM'd this patch: http://llvm-reviews.chandlerc.com/D1831
Thanks!
llvm-svn: 193294
Diffstat (limited to 'clang/test/Parser/cxx-attributes.cpp')
0 files changed, 0 insertions, 0 deletions