Skip to content

Commit ecfa7fc

Browse files
committed
Fix build failure on every non-Arm platform
Oops! I forgot that COMPILER_RT_ARM_OPTIMIZED_FP defaulted to on, so that this check would run even for builds that never even knew about it.
1 parent 33232d8 commit ecfa7fc

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

compiler-rt/lib/builtins/CMakeLists.txt

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ set(arm_or_thumb2_base_SOURCES
426426
option(COMPILER_RT_ARM_OPTIMIZED_FP
427427
"On 32-bit Arm, use optimized assembly implementations of FP arithmetic. Likely to increase code size, but be faster." ON)
428428

429-
if(COMPILER_RT_ARM_OPTIMIZED_FP)
429+
if(COMPILER_RT_ARM_OPTIMIZED_FP AND BUILTIN_SUPPORTED_ARCH MATCHES "arm")
430430
check_assembler_flag(COMPILER_RT_HAS_MIMPLICIT_IT -mimplicit-it=always)
431431
if(COMPILER_RT_HAS_MIMPLICIT_IT)
432432
set(implicit_it_flag -mimplicit-it=always)
@@ -436,22 +436,25 @@ if(COMPILER_RT_ARM_OPTIMIZED_FP)
436436
if(COMPILER_RT_HAS_WA_MIMPLICIT_IT)
437437
set(implicit_it_flag -Wa,-mimplicit-it=always)
438438
else()
439-
message(FATAL_ERROR "Don't know how to set the -mimplicit-it=always flag in this assembler")
439+
message(WARNING "Don't know how to set the -mimplicit-it=always flag in this assembler; not including Arm optimized implementations")
440+
set(implicit_it_flag "")
440441
endif()
441442
endif()
442443

443-
set(assembly_files
444-
arm/mulsf3.S
445-
arm/divsf3.S)
446-
set_source_files_properties(${assembly_files}
447-
PROPERTIES COMPILE_OPTIONS ${implicit_it_flag})
448-
set(arm_or_thumb2_base_SOURCES
449-
${assembly_files}
450-
arm/fnan2.c
451-
arm/fnorm2.c
452-
arm/funder.c
453-
${arm_or_thumb2_base_SOURCES}
454-
)
444+
if(implicit_it_flag)
445+
set(assembly_files
446+
arm/mulsf3.S
447+
arm/divsf3.S)
448+
set_source_files_properties(${assembly_files}
449+
PROPERTIES COMPILE_OPTIONS ${implicit_it_flag})
450+
set(arm_or_thumb2_base_SOURCES
451+
${assembly_files}
452+
arm/fnan2.c
453+
arm/fnorm2.c
454+
arm/funder.c
455+
${arm_or_thumb2_base_SOURCES}
456+
)
457+
endif()
455458
endif()
456459

457460
set(arm_sync_SOURCES

0 commit comments

Comments
 (0)