yxsamliu wrote:

Thanks for reporting. A reduced testcase is https://godbolt.org/z/MY84az9xh

`template <class T>
struct ptr {
    ~ptr() { static int x = 1;}
};

template <class T>
struct Abc : ptr<T> {
 public:
  Abc();
  ~Abc() {}
};

template 
class Abc<int>;
`

clang thinks Abc<int>::~Abc() is trivial but it is not. It could be due to 
clang does not check base class for templates. Probably should only make 
instantiated ctor/dtor implicit.

https://github.com/llvm/llvm-project/pull/72394
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to