[libcxx-commits] [PATCH] D82490: [libcxx] Put clang::trivial_abi on std::unique_ptr
Vy Nguyen via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jul 14 08:09:56 PDT 2020
oontvoo added a comment.
> We'll need to add // UNSUPPORTED: clang-4, clang-5, clang-6, clang-7, clang-8, clang-9, clang-10 on the tests with a short comment explaining there was a segfault.
Do we also need to document more specifically what the breakages might be?
Found another crash:
in void clang::CodeGen::CodeGenFunction::EmitAggregateCopy(clang::CodeGen::LValue, clang::CodeGen::LValue, clang::QualType, AggValueSlot::Overlap_t, bool): (Record->hasTrivialCopyConstructor() || Record->hasTrivialCopyAssignment() || Record->hasTrivialMoveConstructor() || Record->hasTrivialMoveAssignment() || Record->isUnion()) && "Trying to aggregate-copy a type without a trivial copy/move " "constructor or assignment operator"
@ 0x561f6da01ac6 __assert_fail
@ 0x561f69be8e01 clang::CodeGen::CodeGenFunction::EmitAggregateCopy()
@ 0x561f69c73a60 clang::CodeGen::CodeGenFunction::EmitReturnOfRValue()
@ 0x561f69ce03ad clang::CodeGen::CodeGenFunction::EmitCallAndReturnForThunk()
@ 0x561f69ce0c6d clang::CodeGen::CodeGenFunction::generateThunk()
@ 0x561f69ce11f6 clang::CodeGen::CodeGenVTables::maybeEmitThunk()
@ 0x561f69ce1614 clang::CodeGen::CodeGenVTables::EmitThunks()
With
#include <memory>
class DataClass {
public:
DataClass();
~DataClass();
// No copy or assign
DataClass(const DataClass&) = delete;
DataClass& operator=(const DataClass&) = delete;
};
class AInterface {
public:
AInterface() {}
virtual ~AInterface(){};
virtual int root_path() const = 0;
};
class BInterface {
public:
virtual ~BInterface(){};
virtual std::shared_ptr<DataClass> sharable_data() = 0;
};
class Child : public AInterface, public BInterface {
public:
std::shared_ptr<DataClass> sharable_data() override;
};
std::shared_ptr<DataClass> Child::sharable_data() {
return std::shared_ptr<DataClass>(nullptr);
}
In D82490#2150376 <https://reviews.llvm.org/D82490#2150376>, @ldionne wrote:
> We'll need to add `// UNSUPPORTED: clang-4, clang-5, clang-6, clang-7, clang-8, clang-9, clang-10` on the tests with a short comment explaining there was a segfault.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D82490/new/
https://reviews.llvm.org/D82490
More information about the libcxx-commits
mailing list