Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
☠☠ backed out by f7f4ba3486b5 ☠ ☠
authorMasatoshi Kimura <VYV03354@nifty.ne.jp>
Tue, 31 Jul 2018 22:10:07 +0900
changeset 825948 5950c9d63c3b4fd63a25464a7b50944aaec7079f
parent 825947 69259eedc1e610b0d8b785c558846c91cec197f4
child 825949 b4a905fcaa5457b7113848e22306d0fe09ee84e4
push id118215
push userbmo:mtigley@mozilla.com
push dateThu, 02 Aug 2018 18:26:57 +0000
reviewersfroydnj
bugs1090497
milestone63.0a1
Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
accessible/base/moz.build
accessible/generic/moz.build
accessible/ipc/moz.build
accessible/ipc/win/handler/moz.build
accessible/ipc/win/moz.build
accessible/windows/msaa/moz.build
accessible/windows/sdn/moz.build
accessible/xpcom/moz.build
browser/app/winlauncher/moz.build
browser/app/winlauncher/test/moz.build
build/win32/moz.build
dom/base/moz.build
dom/media/fake-cdm/moz.build
dom/media/gmp/moz.build
dom/media/gtest/moz.build
dom/plugins/base/moz.build
dom/plugins/ipc/moz.build
dom/plugins/test/testplugin/testplugin.mozbuild
dom/storage/moz.build
gfx/2d/moz.build
gfx/gl/moz.build
gfx/layers/moz.build
gfx/thebes/moz.build
gfx/vr/moz.build
gfx/webrender_bindings/moz.build
ipc/chromium/moz.build
ipc/ipdl/moz.build
ipc/mscom/moz.build
ipc/mscom/oop/moz.build
layout/painting/moz.build
media/gmp-clearkey/0.1/moz.build
media/mtransport/common.build
media/mtransport/third_party/nICEr/nicer.gyp
media/mtransport/third_party/nrappkit/nrappkit.gyp
memory/build/moz.build
memory/replace/logalloc/moz.build
memory/replace/moz.build
mozglue/build/moz.build
mozglue/tests/interceptor/moz.build
netwerk/base/moz.build
netwerk/cookie/moz.build
netwerk/protocol/http/moz.build
netwerk/wifi/moz.build
old-configure.in
security/certverifier/moz.build
security/manager/ssl/moz.build
security/pkix/test/gtest/moz.build
security/pkix/warnings.mozbuild
security/sandbox/moz.build
security/sandbox/win/src/sandboxbroker/moz.build
testing/tools/fileid/moz.build
testing/tools/minidumpwriter/moz.build
toolkit/components/build/moz.build
toolkit/components/extensions/moz.build
toolkit/components/jsoncpp/src/lib_json/moz.build
toolkit/components/maintenanceservice/moz.build
toolkit/components/reputationservice/moz.build
toolkit/components/url-classifier/moz.build
toolkit/components/url-classifier/tests/gtest/moz.build
toolkit/crashreporter/client/moz.build
toolkit/crashreporter/google-breakpad/src/processor/moz.build
toolkit/crashreporter/moz.build
toolkit/crashreporter/test/moz.build
toolkit/mozapps/update/common/moz.build
toolkit/mozapps/update/updater/updater-common.build
toolkit/system/windowsDHCPClient/moz.build
toolkit/system/windowsDHCPClient/tests/gtest/moz.build
toolkit/xre/moz.build
toolkit/xre/test/win/moz.build
tools/profiler/moz.build
widget/windows/moz.build
xpcom/glue/objs.mozbuild
xpcom/io/moz.build
xpcom/threads/moz.build
--- a/accessible/base/moz.build
+++ b/accessible/base/moz.build
@@ -109,8 +109,11 @@ else:
     ]
 
 FINAL_LIBRARY = 'xul'
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/accessible/generic/moz.build
+++ b/accessible/generic/moz.build
@@ -65,8 +65,11 @@ else:
     ]
 
 FINAL_LIBRARY = 'xul'
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/accessible/ipc/moz.build
+++ b/accessible/ipc/moz.build
@@ -57,8 +57,11 @@ if CONFIG['ACCESSIBILITY']:
     ]
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
 
 # Add libFuzzer configuration directives
 include('/tools/fuzzing/libfuzzer-config.mozbuild')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/accessible/ipc/win/handler/moz.build
+++ b/accessible/ipc/win/handler/moz.build
@@ -78,8 +78,10 @@ elif CONFIG['MOZ_UPDATE_CHANNEL'] == 'be
 # Windows 7 and Windows 8.
 USE_STATIC_LIBS = True
 
 LIBRARY_DEFINES['UNICODE'] = True
 LIBRARY_DEFINES['_UNICODE'] = True
 LIBRARY_DEFINES['MOZ_NO_MOZALLOC'] = True
 DisableStlWrapping()
 
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/accessible/ipc/win/moz.build
+++ b/accessible/ipc/win/moz.build
@@ -50,8 +50,11 @@ if CONFIG['ACCESSIBILITY']:
         '/accessible/windows/ia2',
         '/accessible/windows/msaa',
         '/accessible/xpcom',
     ]
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/accessible/windows/msaa/moz.build
+++ b/accessible/windows/msaa/moz.build
@@ -79,8 +79,11 @@ LOCAL_INCLUDES += [
 #
 # which clang-cl complains about.  MSVC doesn't, so turn this warning off.
 if CONFIG['CC_TYPE'] == 'clang-cl':
     CXXFLAGS += ['-Wno-extra-tokens']
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/accessible/windows/sdn/moz.build
+++ b/accessible/windows/sdn/moz.build
@@ -17,8 +17,11 @@ LOCAL_INCLUDES += [
     '/accessible/windows/msaa',
     '/accessible/xpcom',
     '/accessible/xul',
 ]
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/accessible/xpcom/moz.build
+++ b/accessible/xpcom/moz.build
@@ -59,8 +59,11 @@ xpc_acc.script = 'AccEventGen.py:gen_fil
 xpc_acc.inputs += ['AccEvents.conf', '!/xpcom/idl-parser/xpidl/xpidllex.py', '!/xpcom/idl-parser/xpidl/xpidlyacc.py']
 
 FINAL_LIBRARY = 'xul'
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/browser/app/winlauncher/moz.build
+++ b/browser/app/winlauncher/moz.build
@@ -20,8 +20,11 @@ OS_LIBS += [
     'ole32',
 ]
 
 TEST_DIRS += [
     'test',
 ]
 
 DisableStlWrapping()
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/browser/app/winlauncher/test/moz.build
+++ b/browser/app/winlauncher/test/moz.build
@@ -10,8 +10,11 @@ CppUnitTests(['TestNativeNt'])
 
 LOCAL_INCLUDES += [
     '/browser/app/winlauncher',
 ]
 
 OS_LIBS += [
     'ntdll',
 ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/build/win32/moz.build
+++ b/build/win32/moz.build
@@ -27,8 +27,11 @@ if CONFIG['WIN_UCRT_REDIST_DIR'] and CON
             '%%%s/%s' % (CONFIG['WIN_UCRT_REDIST_DIR'], f)
         ]
 
 if CONFIG['LLVM_SYMBOLIZER'] and CONFIG['WIN_DIA_SDK_BIN_DIR']:
     # On Windows, llvm-symbolizer depends on the MS DIA library.
     FINAL_TARGET_FILES += [
         '%%%s/msdia140.dll' % CONFIG['WIN_DIA_SDK_BIN_DIR']
     ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/dom/base/moz.build
+++ b/dom/base/moz.build
@@ -505,8 +505,11 @@ countermap.script = 'gen-usecounters.py:
 countermap.inputs = ['UseCounters.conf']
 
 counterlist = GENERATED_FILES['UseCounterList.h']
 counterlist.script = 'gen-usecounters.py:use_counter_list'
 counterlist.inputs = ['UseCounters.conf']
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/dom/media/fake-cdm/moz.build
+++ b/dom/media/fake-cdm/moz.build
@@ -25,8 +25,11 @@ if CONFIG['OS_ARCH'] == 'WINNT':
         'ole32',
     ]
 
 USE_STATIC_LIBS = True
 NoVisibilityFlags()
 # Don't use STL wrappers; this isn't Gecko code
 DisableStlWrapping()
 NO_PGO = True
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/dom/media/gmp/moz.build
+++ b/dom/media/gmp/moz.build
@@ -143,8 +143,11 @@ LOCAL_INCLUDES += [
     '/media/mtransport',
     '/xpcom/base',
     '/xpcom/build',
     '/xpcom/threads',
 ]
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/dom/media/gtest/moz.build
+++ b/dom/media/gtest/moz.build
@@ -74,8 +74,11 @@ LOCAL_INCLUDES += [
     '/security/certverifier',
     '/security/pkix/include',
 ]
 
 FINAL_LIBRARY = 'xul-gtest'
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/dom/plugins/base/moz.build
+++ b/dom/plugins/base/moz.build
@@ -87,8 +87,11 @@ include('/ipc/chromium/chromium-config.m
 
 FINAL_LIBRARY = 'xul'
 
 CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
 CXXFLAGS += CONFIG['TK_CFLAGS']
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/dom/plugins/ipc/moz.build
+++ b/dom/plugins/ipc/moz.build
@@ -150,8 +150,11 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc')
 
 if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
     # This is intended as a temporary hack to support building with VS2015.
     # conversion from 'X' to 'Y' requires a narrowing conversion
     CXXFLAGS += ['-wd4838']
 
     # 'type cast': conversion from 'unsigned int' to 'HIMC' of greater size
     CXXFLAGS += ['-wd4312']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/dom/plugins/test/testplugin/testplugin.mozbuild
+++ b/dom/plugins/test/testplugin/testplugin.mozbuild
@@ -63,8 +63,11 @@ if CONFIG['CC_TYPE'] in ('msvc', 'clang-
 if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
     FINAL_TARGET = 'dist/plugins/%s.plugin/Contents/MacOS' % cocoa_name
     OBJDIR_FILES.dist.plugins['%s.plugin' % cocoa_name].Contents += ['%s/Info.plist' % relative_path]
 else:
     FINAL_TARGET = 'dist/plugins'
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/dom/storage/moz.build
+++ b/dom/storage/moz.build
@@ -44,8 +44,11 @@ include('/ipc/chromium/chromium-config.m
 
 FINAL_LIBRARY = 'xul'
 LOCAL_INCLUDES += [
     '/dom/base',
 ]
 
 if CONFIG['ENABLE_TESTS']:
     DEFINES['DOM_STORAGE_TESTS'] = True
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/gfx/2d/moz.build
+++ b/gfx/2d/moz.build
@@ -250,8 +250,10 @@ if CONFIG['MOZ_ENABLE_SKIA']:
         '/gfx/skia/skia/src/core',
         '/gfx/skia/skia/src/image',
     ]
 if CONFIG['MOZ_ENABLE_SKIA_GPU']:
     LOCAL_INCLUDES += [
         '/gfx/skia/skia/src/gpu',
     ]
 
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/gfx/gl/moz.build
+++ b/gfx/gl/moz.build
@@ -161,8 +161,11 @@ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
 CXXFLAGS += CONFIG['TK_CFLAGS']
 CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
 CFLAGS += CONFIG['TK_CFLAGS']
 
 LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/gfx/layers/moz.build
+++ b/gfx/layers/moz.build
@@ -578,8 +578,11 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc')
     CXXFLAGS += [
         '-Wno-maybe-uninitialized'
     ]
 
 if CONFIG['MOZ_ENABLE_SKIA']:
   UNIFIED_SOURCES += [
     'composite/PaintCounter.cpp',
   ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/gfx/thebes/moz.build
+++ b/gfx/thebes/moz.build
@@ -288,8 +288,11 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3
 
 LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
 
 DEFINES['GRAPHITE2_STATIC'] = True
 
 if CONFIG['CC_TYPE'] == 'clang':
     # Suppress warnings from Skia header files.
     SOURCES['gfxPlatform.cpp'].flags += ['-Wno-implicit-fallthrough']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/gfx/vr/moz.build
+++ b/gfx/vr/moz.build
@@ -92,8 +92,11 @@ include('/ipc/chromium/chromium-config.m
 
 FINAL_LIBRARY = 'xul'
 
 # This is intended as a temporary hack to enable VS2015 builds.
 if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
     # ovr_capi_dynamic.h '<unnamed-tag>': Alignment specifier is less than
     # actual alignment (8), and will be ignored
     CXXFLAGS += ['-wd4359']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/gfx/webrender_bindings/moz.build
+++ b/gfx/webrender_bindings/moz.build
@@ -61,8 +61,11 @@ if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
 
 if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gtk3'):
     CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
     CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/ipc/chromium/moz.build
+++ b/ipc/chromium/moz.build
@@ -147,8 +147,11 @@ DIRS += [
     'atomics',
 ]
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
 
 # Add libFuzzer configuration directives
 include('/tools/fuzzing/libfuzzer-config.mozbuild')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/ipc/ipdl/moz.build
+++ b/ipc/ipdl/moz.build
@@ -14,8 +14,11 @@ SOURCES += ['!IPCMessageTypeName.cpp']
 FINAL_LIBRARY = 'xul'
 
 # We #include some things in the dom/plugins/ directory that rely on
 # toolkit libraries.
 CXXFLAGS += CONFIG['TK_CFLAGS']
 
 # Add libFuzzer configuration directives
 include('/tools/fuzzing/libfuzzer-config.mozbuild')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1479779
--- a/ipc/mscom/moz.build
+++ b/ipc/mscom/moz.build
@@ -81,8 +81,11 @@ LOCAL_INCLUDES += [
 DEFINES['MOZ_MSCOM_REMARSHAL_NO_HANDLER'] = True
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
 
 with Files("**"):
     BUG_COMPONENT = ("Core", "IPC: MSCOM")
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/ipc/mscom/oop/moz.build
+++ b/ipc/mscom/oop/moz.build
@@ -32,8 +32,11 @@ LIBRARY_DEFINES['MOZ_MSCOM_REMARSHAL_NO_
 
 DisableStlWrapping()
 NO_EXPAND_LIBS = True
 FORCE_STATIC_LIB = True
 
 # This DLL may be loaded into other processes, so we need static libs for
 # Windows 7 and Windows 8.
 USE_STATIC_LIBS = True
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/layout/painting/moz.build
+++ b/layout/painting/moz.build
@@ -70,8 +70,11 @@ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
 
 if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
     # This is intended as a temporary hack to support building with VS2015.
     # 'type cast': conversion from 'unsigned int' to 'void *' of greater size
     CXXFLAGS += ['-wd4312']
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/media/gmp-clearkey/0.1/moz.build
+++ b/media/gmp-clearkey/0.1/moz.build
@@ -73,8 +73,11 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc')
     CFLAGS += [
         '-include', 'stdio.h',      # for sprintf() prototype
         '-include', 'unistd.h',     # for getpid() prototype
     ]
 elif CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
     CFLAGS += [
         '-FI', 'stdio.h',           # for sprintf() prototype
     ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/media/mtransport/common.build
+++ b/media/mtransport/common.build
@@ -88,8 +88,11 @@ DEFINES['R_DEFINED_INT2'] = 'int16_t'
 DEFINES['R_DEFINED_UINT2'] = 'uint16_t'
 DEFINES['R_DEFINED_INT4'] = 'int32_t'
 DEFINES['R_DEFINED_UINT4'] = 'uint32_t'
 DEFINES['R_DEFINED_INT8'] = 'int64_t'
 DEFINES['R_DEFINED_UINT8'] = 'uint64_t'
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/media/mtransport/third_party/nICEr/nicer.gyp
+++ b/media/mtransport/third_party/nICEr/nicer.gyp
@@ -202,16 +202,17 @@
                  'include_dirs': [
                      '../nrappkit/src/port/win32/include'
                  ],
               }],
 
               # Windows, clang-cl build
               [ 'clang_cl == 1', {
                 'cflags_mozilla': [
+                    '-Wno-error', # workaround for bug 1090497
                     '-Xclang',
                     '-Wall',
                     '-Wno-parentheses',
                     '-Wno-strict-prototypes',
                     '-Wmissing-prototypes',
                     '-Wno-format',
                     '-Wno-format-security',
                  ],
--- a/media/mtransport/third_party/nrappkit/nrappkit.gyp
+++ b/media/mtransport/third_party/nrappkit/nrappkit.gyp
@@ -199,16 +199,17 @@
                  'sources': [
                       './src/port/win32/include/csi_platform.h',
                  ],
               }],
 
               # Windows, clang-cl build
               [ 'clang_cl == 1', {
                 'cflags_mozilla': [
+                    '-Wno-error', # workaround for bug 1090497
                     '-Xclang',
                     '-Wall',
                     '-Wno-parentheses',
                     '-Wno-strict-prototypes',
                     '-Wmissing-prototypes',
                     '-Wno-format',
                     '-Wno-format-security',
                  ],
--- a/memory/build/moz.build
+++ b/memory/build/moz.build
@@ -48,8 +48,11 @@ if CONFIG['MOZ_BUILD_APP'] != 'memory':
 
 if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
     CXXFLAGS += ['-wd4273'] # inconsistent dll linkage (bug 558163)
 
 if CONFIG['MOZ_REPLACE_MALLOC_STATIC']:
     DEFINES['MOZ_REPLACE_MALLOC_STATIC'] = True
 
 DisableStlWrapping()
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/memory/replace/logalloc/moz.build
+++ b/memory/replace/logalloc/moz.build
@@ -23,8 +23,11 @@ LOCAL_INCLUDES += [
 if CONFIG['OS_TARGET'] == 'Android' and FORCE_SHARED_LIB:
     USE_LIBS += [
         'mozglue',
     ]
 
 DIRS += [
     'replay',
 ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/memory/replace/moz.build
+++ b/memory/replace/moz.build
@@ -13,8 +13,11 @@ def ReplaceMalloc(name):
         SharedLibrary(name)
 
 DIRS += [
     'logalloc',
 ]
 
 if CONFIG['MOZ_DMD']:
     DIRS += ['dmd']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/mozglue/build/moz.build
+++ b/mozglue/build/moz.build
@@ -129,8 +129,11 @@ if CONFIG['OS_TARGET'] == 'Darwin':
     # because somehow clang doesn't want to accept the __thread keyword
     # for TLS.
     LDFLAGS += ['-Wl,-bind_at_load']
 
 if CONFIG['MOZ_LINKER'] and CONFIG['CPU_ARCH'] == 'arm':
     LDFLAGS += ['-Wl,-version-script,%s/arm-eabi-filter' % SRCDIR]
 
 DIST_INSTALL = True
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/mozglue/tests/interceptor/moz.build
+++ b/mozglue/tests/interceptor/moz.build
@@ -16,8 +16,11 @@ OS_LIBS += [
     'ole32',
 ]
 
 if CONFIG['OS_TARGET'] == 'WINNT' and CONFIG['CC_TYPE'] == 'gcc':
     # This allows us to use wmain as the entry point on mingw
     LDFLAGS += [
         '-municode',
     ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/netwerk/base/moz.build
+++ b/netwerk/base/moz.build
@@ -301,8 +301,11 @@ LOCAL_INCLUDES += [
     '/dom/base',
     '/netwerk/protocol/http',
     '/netwerk/socket',
     '/security/pkix/include'
 ]
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/netwerk/cookie/moz.build
+++ b/netwerk/cookie/moz.build
@@ -50,8 +50,11 @@ IPDL_SOURCES = [
 ]
 
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/netwerk/protocol/http/moz.build
+++ b/netwerk/protocol/http/moz.build
@@ -138,8 +138,11 @@ if CONFIG['OS_TARGET'] == 'Darwin':
     if not CONFIG['HOST_MAJOR_VERSION']:
         DEFINES.update(
             HAS_CONNECTX=True,
         )
     elif CONFIG['HOST_MAJOR_VERSION'] >= '15':
         DEFINES.update(
             HAS_CONNECTX=True,
         )
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/netwerk/wifi/moz.build
+++ b/netwerk/wifi/moz.build
@@ -49,8 +49,11 @@ if CONFIG['NECKO_WIFI_DBUS']:
         'nsWifiScannerDBus.cpp',
     ]
     CXXFLAGS += ['-Wno-error=shadow']
 
 if CONFIG['NECKO_WIFI_DBUS']:
     CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
 
 FINAL_LIBRARY = 'xul'
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/old-configure.in
+++ b/old-configure.in
@@ -1036,22 +1036,17 @@ case "$target" in
         fi
         # make 'foo == bar;' error out
         CFLAGS="$CFLAGS -we4553"
         CXXFLAGS="$CXXFLAGS -we4553"
         # Silence VS2017 15.5+ TR1 deprecation warnings hit by older gtest versions
         CXXFLAGS="$CXXFLAGS -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING"
         LIBS="$LIBS kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib secur32.lib"
         MOZ_DEBUG_LDFLAGS='-DEBUG -DEBUGTYPE:CV'
-        # -Werror is disabled on clang-cl until bug 1090497 cleans up the noise.
-        if test -n "$CLANG_CL"; then
-            WARNINGS_AS_ERRORS=''
-        else
-            WARNINGS_AS_ERRORS='-WX'
-        fi
+        WARNINGS_AS_ERRORS='-WX'
         # Use a higher optimization level for clang-cl, so we can come closer
         # to MSVC's performance numbers (see bug 1443590).
         if test -n "$CLANG_CL"; then
             MOZ_OPTIMIZE_FLAGS='-O2'
         else
             MOZ_OPTIMIZE_FLAGS='-O1 -Oi'
         fi
         MOZ_FIX_LINK_PATHS=
--- a/security/certverifier/moz.build
+++ b/security/certverifier/moz.build
@@ -139,8 +139,11 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc')
     ]
 
     # Gecko headers aren't warning-free enough for us to enable these warnings.
     CXXFLAGS += [
         '-Wno-unused-parameter',
     ]
 
 FINAL_LIBRARY = 'xul'
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/security/manager/ssl/moz.build
+++ b/security/manager/ssl/moz.build
@@ -214,8 +214,11 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc')
         # -Wextra enables this warning, but it's too noisy to be useful.
         '-Wno-missing-field-initializers',
     ]
 
     # Gecko headers aren't warning-free enough for us to enable these warnings.
     CXXFLAGS += [
         '-Wno-unused-parameter',
     ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/security/pkix/test/gtest/moz.build
+++ b/security/pkix/test/gtest/moz.build
@@ -65,8 +65,11 @@ elif CONFIG['CC_TYPE'] == 'msvc':
     '-wd4625', # copy constructor could not be generated.
     '-wd4626', # assugment operator could not be generated.
     '-wd4640', # construction of local static object is not thread safe.
 
     # This is intended as a temporary hack to support building with VS2015.
     # declaration of '*' hides class member
     '-wd4458',
   ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/security/pkix/warnings.mozbuild
+++ b/security/pkix/warnings.mozbuild
@@ -5,16 +5,18 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang
     '-Wno-c++98-compat',
     '-Wno-c++98-compat-pedantic',
     '-Wno-missing-prototypes',
     '-Wno-missing-variable-declarations',
     '-Wno-padded',
     '-Wno-reserved-id-macro', # NSPR and NSS use reserved IDs in their include guards.
     '-Wno-weak-vtables', # We rely on the linker to merge the duplicate vtables.
   ]
+  if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
 elif CONFIG['CC_TYPE'] == 'msvc':
   CXXFLAGS += [
     '-sdl', # Enable additional security checks based on Microsoft's SDL.
 
     '-Wall',
 
     '-wd4464', # relative include path contains '..'
     '-wd4514', # 'function': unreferenced inline function has been removed
--- a/security/sandbox/moz.build
+++ b/security/sandbox/moz.build
@@ -173,8 +173,11 @@ elif CONFIG['OS_ARCH'] == 'WINNT':
         CXXFLAGS += [
             '-wd4275', # non dll-interface class exception used as base for dll-interface class
             '-wd4717', # recursive on all control paths, function will cause runtime stack overflow
             '-wd4996', # 'GetVersionExW': was declared deprecated
             '-wd4302', # 'reinterpret_cast': truncation from 'LPCSTR' to 'WORD'
             '-wd4311', # 'reinterpret_cast': pointer truncation from 'LPOVERLAPPED' to 'DWORD'
             '-wd4312', # 'reinterpret_cast': conversion from 'DWORD' to 'LPOVERLAPPED' of greater size
         ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/security/sandbox/win/src/sandboxbroker/moz.build
+++ b/security/sandbox/win/src/sandboxbroker/moz.build
@@ -14,8 +14,11 @@ EXPORTS += [
 
 for var in ('UNICODE', '_UNICODE'):
     DEFINES[var] = True
 
 LOCAL_INCLUDES += ['/security/sandbox/chromium-shim']
 LOCAL_INCLUDES += ['/security/sandbox/chromium']
 
 FINAL_LIBRARY = 'xul'
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/testing/tools/fileid/moz.build
+++ b/testing/tools/fileid/moz.build
@@ -33,8 +33,10 @@ if CONFIG['OS_ARCH'] == 'Darwin':
 if CONFIG['OS_ARCH'] == 'Linux' or CONFIG['OS_ARCH'] == 'Darwin':
     USE_LIBS += [
         'breakpad_common_s',
     ]
     LOCAL_INCLUDES += [
         '/toolkit/crashreporter/google-breakpad/src',
     ]
 
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/testing/tools/minidumpwriter/moz.build
+++ b/testing/tools/minidumpwriter/moz.build
@@ -12,8 +12,11 @@ if CONFIG['ENABLE_TESTS'] and CONFIG['CP
     SOURCES += [
         'minidumpwriter.cpp',
     ]
     USE_STATIC_LIBS = True
     if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
         WIN32_EXE_LDFLAGS += ['-municode']
 
 NO_PGO = True
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/components/build/moz.build
+++ b/toolkit/components/build/moz.build
@@ -32,8 +32,11 @@ LOCAL_INCLUDES += [
     '../typeaheadfind',
     '../url-classifier',
 ]
 
 if not CONFIG['MOZ_DISABLE_PARENTAL_CONTROLS']:
     LOCAL_INCLUDES += [
         '../parentalcontrols',
     ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/components/extensions/moz.build
+++ b/toolkit/components/extensions/moz.build
@@ -93,8 +93,11 @@ XPCSHELL_TESTS_MANIFESTS += [
 ]
 
 SPHINX_TREES['webextensions'] = 'docs'
 
 with Files('docs/**'):
     SCHEDULES.exclusive = ['docs']
 
 include('/ipc/chromium/chromium-config.mozbuild')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/components/jsoncpp/src/lib_json/moz.build
+++ b/toolkit/components/jsoncpp/src/lib_json/moz.build
@@ -46,8 +46,11 @@ if CONFIG['CC_TYPE'] in ('clang', 'clang
     CXXFLAGS += [
         '-Wno-c++11-narrowing',
     ]
 
 if CONFIG['CC_TYPE'] in ('clang', 'clang-cl', 'gcc'):
     CXXFLAGS += [
         '-Wno-implicit-fallthrough',
     ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/components/maintenanceservice/moz.build
+++ b/toolkit/components/maintenanceservice/moz.build
@@ -42,8 +42,11 @@ DisableStlWrapping()
 OS_LIBS += [
     'comctl32',
     'ws2_32',
     'shell32',
 ]
 
 with Files('**'):
     BUG_COMPONENT = ('Toolkit', 'Application Update')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/components/reputationservice/moz.build
+++ b/toolkit/components/reputationservice/moz.build
@@ -37,8 +37,11 @@ LOCAL_INCLUDES += [
 
 DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True
 DEFINES['GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER'] = True
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-shadow']
 
 include('/ipc/chromium/chromium-config.mozbuild')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/components/url-classifier/moz.build
+++ b/toolkit/components/url-classifier/moz.build
@@ -93,8 +93,11 @@ if CONFIG['NIGHTLY_BUILD'] or CONFIG['MO
     DEFINES['MOZ_SAFEBROWSING_DUMP_FAILED_UPDATES'] = True
 
 SPHINX_TREES['url-classifier'] = 'docs'
 
 with Files('docs/**'):
     SCHEDULES.exclusive = ['docs']
 
 include('/ipc/chromium/chromium-config.mozbuild')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/components/url-classifier/tests/gtest/moz.build
+++ b/toolkit/components/url-classifier/tests/gtest/moz.build
@@ -31,8 +31,11 @@ UNIFIED_SOURCES += [
 ]
 
 # Required to have the same MOZ_SAFEBROWSING_DUMP_FAILED_UPDATES
 # as non-testing code.
 if CONFIG['NIGHTLY_BUILD'] or CONFIG['MOZ_DEBUG']:
     DEFINES['MOZ_SAFEBROWSING_DUMP_FAILED_UPDATES'] = True
 
 FINAL_LIBRARY = 'xul-gtest'
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/crashreporter/client/moz.build
+++ b/toolkit/crashreporter/client/moz.build
@@ -93,8 +93,11 @@ DEFINES['BIN_SUFFIX'] = '"%s"' % CONFIG[
 
 RCINCLUDE = 'crashreporter.rc'
 
 # Don't use the STL wrappers in the crashreporter clients; they don't
 # link with -lmozalloc, and it really doesn't matter here anyway.
 DisableStlWrapping()
 
 include('/toolkit/crashreporter/crashreporter.mozbuild')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/crashreporter/google-breakpad/src/processor/moz.build
+++ b/toolkit/crashreporter/google-breakpad/src/processor/moz.build
@@ -56,8 +56,11 @@ UNIFIED_SOURCES += [
 DEFINES['BPLOG_MINIMUM_SEVERITY'] = 'SEVERITY_ERROR'
 
 Library('breakpad_processor')
 
 # Don't use the STL wrappers in the crashreporter clients
 DisableStlWrapping()
 
 include('/toolkit/crashreporter/crashreporter.mozbuild')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/crashreporter/moz.build
+++ b/toolkit/crashreporter/moz.build
@@ -123,8 +123,11 @@ if CONFIG['MOZ_CRASHREPORTER']:
 else:
     UNIFIED_SOURCES += [
         'nsDummyExceptionHandler.cpp',
     ]
 
 
 with Files('**'):
     BUG_COMPONENT = ('Toolkit', 'Crash Reporting')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/crashreporter/test/moz.build
+++ b/toolkit/crashreporter/test/moz.build
@@ -53,8 +53,11 @@ TEST_HARNESS_FILES.xpcshell.toolkit.cras
 
 include('/toolkit/crashreporter/crashreporter.mozbuild')
 
 NO_PGO = True
 
 # Temporary workaround for an issue in upstream breakpad
 if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
     CXXFLAGS += ['-wd4334']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
\ No newline at end of file
--- a/toolkit/mozapps/update/common/moz.build
+++ b/toolkit/mozapps/update/common/moz.build
@@ -45,8 +45,11 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'wind
             'crypt32',
             'wintrust',
         ]
 
 SOURCES += [
     'readstrings.cpp',
     'updatecommon.cpp',
 ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/mozapps/update/updater/updater-common.build
+++ b/toolkit/mozapps/update/updater/updater-common.build
@@ -109,8 +109,10 @@ elif CONFIG['OS_ARCH'] == 'WINNT':
 
 if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
     CXXFLAGS += CONFIG['TK_CFLAGS']
     OS_LIBS += CONFIG['TK_LIBS']
 
 if CONFIG['CC_TYPE'] == 'gcc':
     CXXFLAGS += ['-Wno-format-truncation']
 
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/system/windowsDHCPClient/moz.build
+++ b/toolkit/system/windowsDHCPClient/moz.build
@@ -10,9 +10,12 @@ with Files('**'):
 TEST_DIRS += ['tests/gtest']
 
 SOURCES += [
     'DHCPUtils.cpp',
     'nsWindowsDHCPClient.cpp',
     'WindowsNetworkFunctionsWrapper.cpp'
 ]
 
-FINAL_LIBRARY = 'xul'
\ No newline at end of file
+FINAL_LIBRARY = 'xul'
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/system/windowsDHCPClient/tests/gtest/moz.build
+++ b/toolkit/system/windowsDHCPClient/tests/gtest/moz.build
@@ -13,9 +13,12 @@ UNIFIED_SOURCES += [
 
 LOCAL_INCLUDES += [
     '/toolkit/system/windowsDHCPClient',
 ]
 
 FINAL_LIBRARY = 'xul-gtest'
 
 if CONFIG['GNU_CXX']:
-    CXXFLAGS += ['-Wshadow']
\ No newline at end of file
+    CXXFLAGS += ['-Wshadow']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
@@ -229,8 +229,11 @@ FINAL_TARGET_PP_FILES += [
     'platform.ini'
 ]
 
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += ['-Wno-error=shadow']
 
 if CONFIG['MOZ_IPDL_TESTS']:
     DEFINES['MOZ_IPDL_TESTS'] = True
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/toolkit/xre/test/win/moz.build
+++ b/toolkit/xre/test/win/moz.build
@@ -18,8 +18,11 @@ LOCAL_INCLUDES += [
 DisableStlWrapping()
 USE_STATIC_LIBS = True
 
 OS_LIBS += [
     'comctl32',
     'shell32',
     'ws2_32',
 ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/tools/profiler/moz.build
+++ b/tools/profiler/moz.build
@@ -148,8 +148,11 @@ MOCHITEST_CHROME_MANIFESTS += ['tests/ch
 if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
     CXXFLAGS += [
         '-Wno-error=shadow',
         '-Wno-ignored-qualifiers', # due to use of breakpad headers
     ]
 
 with Files('**'):
     BUG_COMPONENT = ('Core', 'Gecko Profiler')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/widget/windows/moz.build
+++ b/widget/windows/moz.build
@@ -161,8 +161,11 @@ CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
 
 OS_LIBS += [
     'rpcrt4',
 ]
 
 if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
     # C5038: Suppress initializer list order warnings from wrl.h
     SOURCES['WindowsUIUtils.cpp'].flags += ['-wd5038']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/xpcom/glue/objs.mozbuild
+++ b/xpcom/glue/objs.mozbuild
@@ -14,8 +14,11 @@ xpcom_glue_src_cppsrcs = [
 ]
 
 xpcom_gluens_src_lcppsrcs = [
 ]
 
 xpcom_gluens_src_cppsrcs = [
     '/xpcom/glue/%s' % s for s in xpcom_gluens_src_lcppsrcs
 ]
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/xpcom/io/moz.build
+++ b/xpcom/io/moz.build
@@ -152,8 +152,11 @@ LOCAL_INCLUDES += [
     '../build',
 ]
 
 if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'):
     # This is intended as a temporary hack to support building with VS2015.
     # '_snwprintf' : format string '%s' requires an argument of type 'wchar_t *',
     # but variadic argument 3 has type 'char16ptr_t'
     CXXFLAGS += ['-wd4477']
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497
--- a/xpcom/threads/moz.build
+++ b/xpcom/threads/moz.build
@@ -114,8 +114,11 @@ LOCAL_INCLUDES += [
     '../build',
     '/caps',
     '/tools/profiler',
 ]
 
 FINAL_LIBRARY = 'xul'
 
 include('/ipc/chromium/chromium-config.mozbuild')
+
+if CONFIG['CC_TYPE'] == 'clang-cl':
+    AllowCompilerWarnings()  # workaround for bug 1090497