https://llvm.org/bugs/show_bug.cgi?id=23764
Kenton Varda <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|DUPLICATE |--- --- Comment #2 from Kenton Varda <[email protected]> --- I don't think this is a duplicate of bug 21010. They both describe problems related to copy triviality, but that bug describes a problem with destructors, whereas this bug describes a different problem with constructors. Moreover, this bug describes an ABI incompatibility with GCC which is causing real-world crashes when trying to link a clang-built binary against a GCC-built library or vice versa with valid code. In contrast, bug 21010 describes a case that I don't think could lead to an ABI problem with valid code (since it describes a class that shouldn't be allowed to be passed by value in the first place). This ABI incompatibility is the primary concern in my bug. (I think my class C may actually be non-trivially-copyable according to the standard, but that's not primarily what I care about.) It does seem like Richard's proposed rule would (perhaps accidentally?) solve the problem: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1590 This would at least solve the problem in my use cases because all my classes that have a default non-const copy constructor also have a trivial move constructor. It doesn't completely solve the problem in the case of a class with non-trivial move constructor, but that does seem like an odd case. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
