From 3024ca2146cfdae2e7fb231e8d180dfc81e1a74e Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Thu, 2 Feb 2023 16:53:08 -0800 Subject: Suppress memcpy writing to an object with no trivial copy-assignment warnings We need to copy padding in most of these cases, and the objects are trivially copyable; however, BitField prevents trivial copy-assignment. --- Source/Core/VideoCommon/VertexLoaderManager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'Source/Core/VideoCommon/VertexLoaderManager.cpp') diff --git a/Source/Core/VideoCommon/VertexLoaderManager.cpp b/Source/Core/VideoCommon/VertexLoaderManager.cpp index f3d580b801..49f139c208 100644 --- a/Source/Core/VideoCommon/VertexLoaderManager.cpp +++ b/Source/Core/VideoCommon/VertexLoaderManager.cpp @@ -153,7 +153,14 @@ NativeVertexFormat* GetUberVertexFormat(const PortableVertexDeclaration& decl) // The padding in the structs can cause the memcmp() in the map to create duplicates. // Avoid this by initializing the padding to zero. PortableVertexDeclaration new_decl; +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wclass-memaccess" +#endif std::memset(&new_decl, 0, sizeof(new_decl)); +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif new_decl.stride = decl.stride; auto MakeDummyAttribute = [](AttributeFormat& attr, ComponentFormat type, int components, -- cgit v1.2.3