mirror of
https://github.com/fmtlib/fmt.git
synced 2024-12-25 15:21:54 +00:00
Workaround various icc bugs (#822)
This commit is contained in:
parent
62010520ed
commit
a11eb3a090
@ -92,7 +92,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
|||||||
set(WERROR_FLAG -Werror)
|
set(WERROR_FLAG -Werror)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
set(PEDANTIC_COMPILE_FLAGS -Weverything -Wpedantic
|
set(PEDANTIC_COMPILE_FLAGS -Weverything -Wpedantic
|
||||||
-Wno-weak-vtables -Wno-padded -Wno-gnu-statement-expression
|
-Wno-weak-vtables -Wno-padded -Wno-gnu-statement-expression
|
||||||
-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-reserved-id-macro
|
-Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-reserved-id-macro
|
||||||
|
@ -337,7 +337,9 @@ struct printf_formatter {
|
|||||||
/** This template formats data and writes the output to a writer. */
|
/** This template formats data and writes the output to a writer. */
|
||||||
template <typename OutputIt, typename Char, typename ArgFormatter>
|
template <typename OutputIt, typename Char, typename ArgFormatter>
|
||||||
class basic_printf_context :
|
class basic_printf_context :
|
||||||
private internal::context_base<
|
// Inherit publicly as a workaround for the icc bug
|
||||||
|
// https://software.intel.com/en-us/forums/intel-c-compiler/topic/783476.
|
||||||
|
public internal::context_base<
|
||||||
OutputIt, basic_printf_context<OutputIt, Char, ArgFormatter>, Char> {
|
OutputIt, basic_printf_context<OutputIt, Char, ArgFormatter>, Char> {
|
||||||
public:
|
public:
|
||||||
/** The character type for the output. */
|
/** The character type for the output. */
|
||||||
|
@ -123,7 +123,10 @@ else ()
|
|||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Test that the library can be compiled with exceptions disabled.
|
# Test that the library can be compiled with exceptions disabled.
|
||||||
check_cxx_compiler_flag(-fno-exceptions HAVE_FNO_EXCEPTIONS_FLAG)
|
# -fno-exception is broken in icc: https://github.com/fmtlib/fmt/issues/822.
|
||||||
|
if (NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
|
check_cxx_compiler_flag(-fno-exceptions HAVE_FNO_EXCEPTIONS_FLAG)
|
||||||
|
endif ()
|
||||||
if (HAVE_FNO_EXCEPTIONS_FLAG)
|
if (HAVE_FNO_EXCEPTIONS_FLAG)
|
||||||
add_library(noexception-test ../src/format.cc)
|
add_library(noexception-test ../src/format.cc)
|
||||||
target_include_directories(
|
target_include_directories(
|
||||||
|
Loading…
Reference in New Issue
Block a user