https://bugs.dolphin-emu.org/https://bugs.dolphin-emu.org/favicon.ico?12017-11-12T16:44:29ZDolphin bug trackerEmulator - Emulator Issues #10002: IsTriviallyCopyable is stubbed out when using Visual Studiohttps://bugs.dolphin-emu.org/issues/10002?journal_id=7311182017-11-12T16:44:29ZJosJuice
<ul><li><strong>Subject</strong> changed from <i>Dolphin expects IsTriviallyCopiable to be true for volatile types</i> to <i>IsTriviallyCopyable is stubbed out when using Visual Studio</i></li><li><strong>Status</strong> changed from <i>New</i> to <i>Fix pending</i></li><li><strong>Milestone</strong> deleted (<del><i>Current</i></del>)</li></ul><p>The part about failing on other compilers in the future might not be true - I didn't notice that we were using std::remove_volatile. (It seems like VS doesn't handle std::remove_volatile the way we want for structs that have volatile members, unlike other compilers, since SCPFifoStruct currently trips our static assert if you try to make VS use the std::is_trivially_copyable path in ChunkFile.h.)</p>
<p>Either way, removing the hack we added for VS2015+ would be nice, so I've made a PR for it: <a href="https://github.com/dolphin-emu/dolphin/pull/6190" class="external">https://github.com/dolphin-emu/dolphin/pull/6190</a></p>
Emulator - Emulator Issues #10002: IsTriviallyCopyable is stubbed out when using Visual Studiohttps://bugs.dolphin-emu.org/issues/10002?journal_id=7311212017-11-12T17:10:01ZLioncash
<ul></ul><p>The usage of std::remove_volatile is also incorrect in this context conceptually. Volatile types are inherently non-trivially copyable, so this macro allows breaking that which can lead to potentially invoking undefined behavior (for example, passing a volatile qualified type to std::memcpy is breaking the precondition that the input and output objects be trivially copyable).</p>
Emulator - Emulator Issues #10002: IsTriviallyCopyable is stubbed out when using Visual Studiohttps://bugs.dolphin-emu.org/issues/10002?journal_id=7314872017-12-19T11:57:28ZJosJuice
<ul><li><strong>Status</strong> changed from <i>Fix pending</i> to <i>Fixed</i></li><li><strong>Fixed in</strong> set to <i>5.0-6068</i></li></ul><p><a href="https://dolphin-emu.org/download/dev/0bf24f549a2cc6146e138bd03dd1338689d96b3f/" class="external">https://dolphin-emu.org/download/dev/0bf24f549a2cc6146e138bd03dd1338689d96b3f/</a></p>