[PATCH] D83263: [WIP] Clang crashed while checking for deletion of copy and move ctors
Richard Smith - zygoloid via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 6 22:33:29 PDT 2020
rsmith added inline comments.
================
Comment at: clang/lib/Sema/SemaDeclCXX.cpp:9733
return true;
return false;
};
----------------
This is not the right fallback answer if the class is a dependent type -- we don't yet know if there's a non-deleted copy or move constructor if one might be implicitly declared, so we should conservatively assume that there might be one. It'd probably be easiest to return `true` from this function at the very start if the type is dependent (because we don't know if there's a non-deleted copy or move constructor).
================
Comment at: clang/test/SemaObjCXX/attr-trivial-abi.mm:59-62
+template <class T>
+struct __attribute__((trivial_abi)) S10 { // expected-warning {{'trivial_abi' cannot be applied to 'S10}}' expected-note {{copy constructors and move constructors are all deleted}}
T p;
};
----------------
We should not diagnose this, because instantiations of this template might have non-deleted copy or move constructors. (We don't know yet when parsing the template definition.)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D83263/new/
https://reviews.llvm.org/D83263
More information about the cfe-commits
mailing list