[PATCH] D76696: [AST] Build recovery expressions by default for C++.
Sam McCall via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 26 08:06:16 PDT 2020
sammccall added a comment.
In D76696#1943657 <https://reviews.llvm.org/D76696#1943657>, @ebevhan wrote:
> However, this just means that `baz` has a very odd type; it's a variable of closure type that contains a dependent member that will never be resolved. Our diagnostic breaks, since the variable's type isn't dependent, but it has a member which is, and we can't take the size of that.
Interesting. Simply turning this off for lambdas isn't enough. The following crashes clang for me:
class X {
decltype(unresolved()) foo;
};
constexpr int s = sizeof(X);
@hokein I think we need to revert until we find a solution for this. I suspect this is going to mean adding the error bit to type and... dropping members that have it set? Or marking them as invalid?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76696/new/
https://reviews.llvm.org/D76696
More information about the cfe-commits
mailing list