On 6 March 2015 at 23:58, Jason Merrill <ja...@redhat.com> wrote:
> On 01/19/2015 11:28 AM, Ville Voutilainen wrote:
>>
>>      * class.c (check_field_decls): If any field is volatile, make
>>      the class type have complex copy/move operations.
>
>
> Discussion on the cxx-abi list points out that this breaks ABI compatibility
> between C and C++, and is therefore unacceptable.


So.. just to clarify that we're on the same page.. making volatile-qualified
types non-trivially copyable is ok, but making wrappers of volatile-qualified
types non-trivially copyable is not ok? That's easily doable
implementation-wise,
but it makes me question the overall approach and its consistency.

Is there a way to indicate that from the point of C++ a type is not trivially
copyable without changing the "complexness" of a copy operation,
ultimately without changing ABI?

Reply via email to