[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