Bug 1596807 - turn off more exception spec mismatch warnings on Windows; r=dmajor
authorNathan Froyd <froydnj@mozilla.com>
Mon, 18 Nov 2019 13:04:27 +0000
changeset 502525 f5173fdbd7c6bb50a84256690d6c0d03d9da9426
parent 502524 d214c50eaa95b59f120c7f1a499ca2be8a0b3020
child 502526 292ede718577ae84b3856c72dae29989803e764b
push id114172
push userdluca@mozilla.com
push dateTue, 19 Nov 2019 11:31:10 +0000
treeherdermozilla-inbound@b5c5ba07d3db [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdmajor
bugs1596807
milestone72.0a1
Bug 1596807 - turn off more exception spec mismatch warnings on Windows; r=dmajor Differential Revision: https://phabricator.services.mozilla.com/D53218
js/src/old-configure.in
old-configure.in
--- a/js/src/old-configure.in
+++ b/js/src/old-configure.in
@@ -626,16 +626,20 @@ case "$target" in
             # declaration on |operator delete(void*)|.  However, clang-cl
             # must internally declare |operator delete(void*)| differently,
             # which causes this warning for virtually every file in the
             # tree.  clang-cl doesn't support -fno-exceptions or equivalent,
             # so there doesn't seem to be any way to convince clang-cl to
             # declare |delete| differently.  Therefore, suppress this
             # warning.
             CXXFLAGS="$CXXFLAGS -Wno-implicit-exception-spec-mismatch"
+            # Macros like STDMETHOD() and IFACEMETHOD() can declare
+            # __attribute__((nothrow)) on their respective method declarations,
+            # while the definitions are left without the matching attribute.
+            CXXFLAGS="$CXXFLAGS -Wno-microsoft-exception-spec"
             # At least one MSVC header and several headers in-tree have
             # unused typedefs, so turn this on.
             CXXFLAGS="$CXXFLAGS -Wno-unused-local-typedef"
             # jemalloc uses __declspec(allocator) as a profiler hint,
             # which clang-cl doesn't understand.
             CXXFLAGS="$CXXFLAGS -Wno-ignored-attributes"
             # __attribute__((unused)) really means "might be unused" and
             # we use it to avoid warnings about things that are unused
--- a/old-configure.in
+++ b/old-configure.in
@@ -757,16 +757,20 @@ case "$target" in
             # declaration on |operator delete(void*)|.  However, clang-cl
             # must internally declare |operator delete(void*)| differently,
             # which causes this warning for virtually every file in the
             # tree.  clang-cl doesn't support -fno-exceptions or equivalent,
             # so there doesn't seem to be any way to convince clang-cl to
             # declare |delete| differently.  Therefore, suppress this
             # warning.
             CXXFLAGS="$CXXFLAGS -Wno-implicit-exception-spec-mismatch"
+            # Macros like STDMETHOD() and IFACEMETHOD() can declare
+            # __attribute__((nothrow)) on their respective method declarations,
+            # while the definitions are left without the matching attribute.
+            CXXFLAGS="$CXXFLAGS -Wno-microsoft-exception-spec"
             # At least one MSVC header and several headers in-tree have
             # unused typedefs, so turn this on.
             CXXFLAGS="$CXXFLAGS -Wno-unused-local-typedef"
             # jemalloc uses __declspec(allocator) as a profiler hint,
             # which clang-cl doesn't understand.
             CXXFLAGS="$CXXFLAGS -Wno-ignored-attributes"
             # __attribute__((unused)) really means "might be unused" and
             # we use it to avoid warnings about things that are unused