[Bf-blender-cvs] [d723fa3d316] master: blenlib Any tests: Fix unknown pragma warning on Windows.

Ankit Meel noreply at git.blender.org
Fri Jan 14 17:42:25 CET 2022


Commit: d723fa3d3165b02db7d6ebd0c90c4c563baec837
Author: Ankit Meel
Date:   Fri Jan 14 22:06:53 2022 +0530
Branches: master
https://developer.blender.org/rBd723fa3d3165b02db7d6ebd0c90c4c563baec837

blenlib Any tests: Fix unknown pragma warning on Windows.

Part of a5cb7c1e62a07c17e346278b1c4e9ea58c9f54e0 is reverted since it 
created unknown pragma warning on windows.
Use a trick to do self-assigning.
Reviewed by Jacques Lucke in chat.

===================================================================

M	source/blender/blenlib/tests/BLI_any_test.cc

===================================================================

diff --git a/source/blender/blenlib/tests/BLI_any_test.cc b/source/blender/blenlib/tests/BLI_any_test.cc
index d5871f46192..3a5cbee6d72 100644
--- a/source/blender/blenlib/tests/BLI_any_test.cc
+++ b/source/blender/blenlib/tests/BLI_any_test.cc
@@ -53,11 +53,9 @@ TEST(any, AssignMap)
   EXPECT_EQ((b.get<Map<int, int>>().lookup(4)), 2);
 
   Any<> c = std::move(a);
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wself-assign-overloaded"
-  /* Test valid state after self assignment. */
-  c = c;
-#pragma clang diagnostic pop
+  /* Test valid state after self assignment. Clang emits `-Wself-assign-overloaded` with `c=c;`.
+   * And pragma suppression creates warnings on other compilers. */
+  c = static_cast<decltype(a) &>(c);
   EXPECT_TRUE(c);
   EXPECT_EQ((c.get<Map<int, int>>().lookup(4)), 2);



More information about the Bf-blender-cvs mailing list