Bug 1313280 - Stop disabling MSVC warning C4819 and use the /utf-8 switch instead. r?glandium
MozReview-Commit-ID: IOOM6Gpz7rf
--- a/js/src/old-configure.in
+++ b/js/src/old-configure.in
@@ -150,30 +150,31 @@ case "$target" in
*-mingw*)
if test "$GCC" != "yes"; then
# Check to see if we are really running in a msvc environemnt
_WIN32_MSVC=1
# Make sure compilers are valid
CFLAGS="$CFLAGS -TC -nologo"
CXXFLAGS="$CXXFLAGS -TP -nologo"
+ if test -z "$CLANG_CL"; then
+ CFLAGS="$CFLAGS -utf-8"
+ CXXFLAGS="$CXXFLAGS -utf-8"
+ fi
# MSVC warning C4345 warns of newly conformant behavior as of VS2003.
# MSVC warning C4351 warns of newly conformant behavior as of VS2005.
# MSVC warning C4800 warns when a value is implicitly cast to bool,
# because this also forces narrowing to a single byte, which can be a
# perf hit. But this matters so little in practice (and often we want
# that behavior) that it's better to turn it off.
# _CRT_SECURE_NO_WARNINGS disables warnings about using MSVC-specific
# secure CRT functions.
- # MSVC warning C4819 warns some UTF-8 characters (e.g. copyright sign)
- # on non-Western system locales even if it is in a comment.
# MSVC warning wd4595 warns non-member operator new or delete functions
# may not be declared inline, as of VS2015 Update 2.
- CFLAGS="$CFLAGS -wd4819"
- CXXFLAGS="$CXXFLAGS -wd4345 -wd4351 -wd4800 -wd4819 -wd4595 -D_CRT_SECURE_NO_WARNINGS"
+ CXXFLAGS="$CXXFLAGS -wd4345 -wd4351 -wd4800 -wd4595 -D_CRT_SECURE_NO_WARNINGS"
AC_LANG_SAVE
AC_LANG_C
AC_TRY_COMPILE([#include <stdio.h>],
[ printf("Hello World\n"); ],,
AC_MSG_ERROR([\$(CC) test failed. You must have MS VC++ in your path to build.]) )
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([#include <new.h>],
--- a/old-configure.in
+++ b/old-configure.in
@@ -1031,16 +1031,20 @@ case "$target" in
WIN32_CONSOLE_EXE_LDFLAGS=-SUBSYSTEM:CONSOLE,$WIN32_SUBSYSTEM_VERSION
WIN32_GUI_EXE_LDFLAGS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION
DSO_LDOPTS=-SUBSYSTEM:WINDOWS,$WIN32_SUBSYSTEM_VERSION
_USE_CPP_INCLUDE_FLAG=1
_DEFINES_CFLAGS='-FI $(topobjdir)/mozilla-config.h -DMOZILLA_CLIENT'
_DEFINES_CXXFLAGS='-FI $(topobjdir)/mozilla-config.h -DMOZILLA_CLIENT'
CFLAGS="$CFLAGS -W3 -Gy -Zc:inline"
CXXFLAGS="$CXXFLAGS -W3 -Gy -Zc:inline"
+ if test -z "$CLANG_CL"; then
+ CFLAGS="$CFLAGS -utf-8"
+ CXXFLAGS="$CXXFLAGS -utf-8"
+ fi
if test "$CPU_ARCH" = "x86"; then
dnl VS2012+ defaults to -arch:SSE2. We want to target nothing
dnl more recent, so set that explicitly here unless another
dnl target arch has already been set.
if test -z `echo $CFLAGS | grep -i [-/]arch:`; then
CFLAGS="$CFLAGS -arch:SSE2"
fi
if test -z `echo $CXXFLAGS | grep -i [-/]arch:`; then
@@ -1077,22 +1081,20 @@ case "$target" in
# to 32-bit integer types on 64-bit platforms. Since this is virtually
# the same thing as C4244, we disable C4267, too.
# MSVC warning C4345 warns of newly conformant behavior as of VS2003.
# MSVC warning C4351 warns of newly conformant behavior as of VS2005.
# MSVC warning C4800 warns when a value is implicitly cast to bool,
# because this also forces narrowing to a single byte, which can be a
# perf hit. But this matters so little in practice (and often we want
# that behavior) that it's better to turn it off.
- # MSVC warning C4819 warns some UTF-8 characters (e.g. copyright sign)
- # on non-Western system locales even if it is in a comment.
# MSVC warning wd4595 warns non-member operator new or delete functions
# may not be declared inline, as of VS2015 Update 2.
- CFLAGS="$CFLAGS -wd4244 -wd4267 -wd4819"
- CXXFLAGS="$CXXFLAGS -wd4251 -wd4244 -wd4267 -wd4345 -wd4351 -wd4800 -wd4819 -wd4595"
+ CFLAGS="$CFLAGS -wd4244 -wd4267"
+ CXXFLAGS="$CXXFLAGS -wd4251 -wd4244 -wd4267 -wd4345 -wd4351 -wd4800 -wd4595"
if test -n "$CLANG_CL"; then
# XXX We should combine some of these with our generic GCC-style
# warning checks.
#
# Suppress the clang-cl warning for the inline 'new' and 'delete' in mozalloc
CXXFLAGS="$CXXFLAGS -Wno-inline-new-delete"
# We use offsetof on non-POD objects all the time.
# We also suppress this warning on other platforms.