https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63959
Bug ID: 63959 Summary: G++ misreports volatile int as trivially copyable Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: lh_mouse at 126 dot com The type trait std::is_trivially_copyable<volatile int>::value yields true on g++ (GCC) 5.0.0 20141119 (experimental). ISO C++ states that volatile types are NOT trivially copyable: N3936 3.9 Types [basic.types] 9 Arithmetic types (3.9.1), ... Cv-unqualified scalar types, trivially copyable class types (Clause 9), arrays of such types, ** and nonvolatile const-qualified versions of these types (3.9.3) ** are collectively called trivially copyable types. ... So this is a bug. Please fix.