Merge pull request #20542 from rongjiecomputer:exception

PiperOrigin-RevId: 204662666
This commit is contained in:
TensorFlower Gardener 2018-07-15 12:49:28 -07:00
commit 4b22c6ba01
2 changed files with 30 additions and 11 deletions

View File

@ -145,26 +145,41 @@ if(WIN32)
# temporary fix for #18241
add_definitions(-DEIGEN_DEFAULT_DENSE_INDEX_TYPE=std::int64_t)
endif()
add_definitions(-DNOMINMAX -D_WIN32_WINNT=0x0A00 -DLANG_CXX11)
add_definitions(-DWIN32 -DOS_WIN -D_MBCS -DWIN32_LEAN_AND_MEAN -DNOGDI -DPLATFORM_WINDOWS)
add_definitions(-DNOMINMAX -D_WIN32_WINNT=0x0A00)
add_definitions(-DWIN32_LEAN_AND_MEAN -DNOGDI -DPLATFORM_WINDOWS)
add_definitions(-DTENSORFLOW_USE_EIGEN_THREADPOOL -DEIGEN_HAS_C99_MATH)
add_definitions(-DTF_COMPILE_LIBRARY)
add_definitions(/bigobj /nologo /EHsc /GF /MP /Gm-)
add_compile_options(/bigobj /GF /MP /Gm-)
# Suppress warnings to reduce build log size.
add_definitions(/wd4267 /wd4244 /wd4800 /wd4503 /wd4554 /wd4996 /wd4348 /wd4018)
add_definitions(/wd4099 /wd4146 /wd4267 /wd4305 /wd4307)
add_definitions(/wd4715 /wd4722 /wd4723 /wd4838 /wd4309 /wd4334)
add_definitions(/wd4003 /wd4244 /wd4267 /wd4503 /wd4506 /wd4800 /wd4996)
add_compile_options(/wd4267 /wd4244 /wd4800 /wd4503 /wd4554 /wd4996 /wd4348 /wd4018)
add_compile_options(/wd4099 /wd4146 /wd4267 /wd4305 /wd4307)
add_compile_options(/wd4715 /wd4722 /wd4723 /wd4838 /wd4309 /wd4334)
add_compile_options(/wd4003 /wd4244 /wd4267 /wd4503 /wd4506 /wd4800 /wd4996)
# Suppress linker warnings.
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /ignore:4049 /ignore:4197 /ignore:4217 /ignore:4221")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /ignore:4049 /ignore:4197 /ignore:4217 /ignore:4221")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ignore:4049 /ignore:4197 /ignore:4217 /ignore:4221")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
set(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /MDd /Ob2")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /D_ITERATOR_DEBUG_LEVEL=0")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /D_ITERATOR_DEBUG_LEVEL=0")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /D_ITERATOR_DEBUG_LEVEL=0")
set(compiler_flags
CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_RELEASE
CMAKE_C_FLAGS
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_RELEASE
)
# No exception
foreach(flag ${compiler_flags})
string(REPLACE "/EHsc" "/EHs-c-" ${flag} "${${flag}}")
endforeach()
add_definitions(/D_HAS_EXCEPTIONS=0)
# Suppress 'noexcept used with no exception handling mode specified' warning
add_compile_options(/wd4577)
# Try to avoid flaky failures due to failed generation of generate.stamp files.
set(CMAKE_SUPPRESS_REGENERATION ON)
endif()

View File

@ -183,9 +183,13 @@ def get_win_copts(is_external=False):
"/DEIGEN_AVOID_STL_ARRAY",
"/Iexternal/gemmlowp",
"/wd4018", # -Wno-sign-compare
"/U_HAS_EXCEPTIONS",
"/D_HAS_EXCEPTIONS=1",
"/EHsc", # -fno-exceptions
# Bazel's CROSSTOOL currently pass /EHsc to enable exception by
# default. We can't pass /EHs-c- to disable exception, otherwise
# we will get a waterfall of flag conflict warnings. Wait for
# Bazel to fix this.
# "/D_HAS_EXCEPTIONS=0",
# "/EHs-c-",
"/wd4577",
"/DNOGDI",
]
if is_external: