Bug 1550422 - P22. Fix Windows compilation. r?dmajor draft
authorJean-Yves Avenard <jyavenard@mozilla.com>
Fri, 17 May 2019 00:14:00 +1000
changeset 2008598 917b14906154d94f69611edf2dbec066f25a108e
parent 2008597 bbe6abfb20cbc75134a697755e03d5366c171a33
child 2008599 19bb8e7e59aef087441c5dc53cb8552cee094b32
push id363925
push userjyavenard@mozilla.com
push dateSat, 18 May 2019 07:53:18 +0000
treeherdertry@5082cd581229 [default view] [failures only]
reviewersdmajor
bugs1550422
milestone68.0a1
Bug 1550422 - P22. Fix Windows compilation. r?dmajor Following the shift in unified build setup following the removal of gfxPrefs.{cpp,c} we hit this error. Unified builds made this header get included with other files that use multiple inheritance, and clang-cl about the conflicting inheritance models. Local testing suggests clang-cl doesn't need the pragma anyway, so just take it out. Differential Revision: https://phabricator.services.mozilla.com/D31465
gfx/2d/unittest/TestBase.h
--- a/gfx/2d/unittest/TestBase.h
+++ b/gfx/2d/unittest/TestBase.h
@@ -4,18 +4,19 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #pragma once
 
 #include <string>
 #include <vector>
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(__clang__)
 // On MSVC otherwise our generic member pointer trick doesn't work.
+// JYA: Do we still need this?
 #  pragma pointers_to_members(full_generality, single_inheritance)
 #endif
 
 #define VERIFY(arg)                          \
   if (!(arg)) {                              \
     LogMessage("VERIFY FAILED: " #arg "\n"); \
     mTestFailed = true;                      \
   }