Skip to content

Commit 6a1adc9

Browse files
authored
Enable -fno-math-errno for GCC and Clang (#602)
1 parent 98a4c41 commit 6a1adc9

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

Source/cmake_core.cmake

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -226,11 +226,15 @@ macro(astcenc_set_properties ASTCENC_TARGET_NAME ASTCENC_VENEER_TYPE)
226226
target_compile_options(${ASTCENC_TARGET_NAME}
227227
PRIVATE
228228
$<${is_msvccl}:/fp:precise>
229-
$<${is_clangcl}:/fp:precise>
230229
$<$<AND:${is_msvccl},$<VERSION_GREATER_EQUAL:$<CXX_COMPILER_VERSION>,19.30>>:/fp:contract>
230+
231+
$<${is_clangcl}:/fp:precise>
231232
$<$<AND:${is_clangcl},$<VERSION_GREATER_EQUAL:$<CXX_COMPILER_VERSION>,14.0.0>>:-Xclang -ffp-contract=fast>
233+
232234
$<$<AND:${is_clang},$<VERSION_GREATER_EQUAL:$<CXX_COMPILER_VERSION>,10.0.0>>:-fno-unsafe-math-optimizations>
233-
$<${is_gnu_fe}:-ffp-contract=fast>)
235+
236+
$<${is_gnu_fe}:-ffp-contract=fast>
237+
$<${is_gnu_fe}:-fno-math-errno>)
234238
else()
235239
# For Visual Studio prior to 2022 (compiler < 19.30) /fp:strict
236240
# For Visual Studio 2022 (compiler >= 19.30) /fp:precise
@@ -242,10 +246,14 @@ macro(astcenc_set_properties ASTCENC_TARGET_NAME ASTCENC_VENEER_TYPE)
242246
PRIVATE
243247
$<$<AND:${is_msvccl},$<VERSION_LESS:$<CXX_COMPILER_VERSION>,19.30>>:/fp:strict>
244248
$<$<AND:${is_msvccl},$<VERSION_GREATER_EQUAL:$<CXX_COMPILER_VERSION>,19.30>>:/fp:precise>
249+
245250
$<${is_clangcl}:/fp:precise>
246251
$<$<AND:${is_clangcl},$<VERSION_GREATER_EQUAL:$<CXX_COMPILER_VERSION>,14.0.0>>:-Xclang -ffp-contract=off>
252+
247253
$<$<AND:${is_clang},$<VERSION_GREATER_EQUAL:$<CXX_COMPILER_VERSION>,10.0.0>>:-fno-unsafe-math-optimizations>
248-
$<${is_gnu_fe}:-ffp-contract=off>)
254+
255+
$<${is_gnu_fe}:-ffp-contract=off>
256+
$<${is_gnu_fe}:-fno-math-errno>)
249257
endif()
250258

251259
if(${ASTCENC_CLI})

0 commit comments

Comments
 (0)