[Bug c++/66268] struct { volatile int x; } should not be trivially copyable

daniel.kruegler at googlemail dot com gcc-bugzilla@gcc.gnu.org
Sun May 24 17:13:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66268

Daniel Krügler <daniel.kruegler at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |daniel.kruegler@googlemail.
                   |                            |com

--- Comment #1 from Daniel Krügler <daniel.kruegler at googlemail dot com> ---
It is correct that the rule change in regard to trivial copy/move constructors
had been introduced via CWG 496,

http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#496

But recently another new issue had been opened regarding this particular rule.
CWG 2094 (becomes visible in the next issue list publication). The essence of
the new issue are two items, quoted below:

a) "This change breaks the IA-64 ABI, so it has been requested that CWG
reconsider this aspect of the resolution."
b) "the resolution of issue 496 also changed 3.9 [basic.types] paragraph 9,
which makes volatile-qualified scalar types “trivial” but not “trivially
copyable.” It is not clear why there is a distinction made here; the only
actual use of “trivial type” in the Standard appears to be in the description
of qsort, which should probably use “trivially copyable.” (See also issue
1746.)"

This issue has not yet been discussed during the Lenexa meeting


More information about the Gcc-bugs mailing list