summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlntue <35648136+lntue@users.noreply.github.com>2024-02-14 17:12:51 -0500
committerGitHub <noreply@github.com>2024-02-14 17:12:51 -0500
commit271e07321bd0673f5472055012b4cfd1671be9ec (patch)
treee8c400f097961c86dc21a9e2ac2a347e7fe7447e
parentad49657a424db5e5979236ef5a474e93d827ab2c (diff)
[libc] Fix fixed point detection and add compile option. (#81788)
-rw-r--r--libc/cmake/modules/LLVMLibCObjectRules.cmake4
-rw-r--r--libc/cmake/modules/compiler_features/check_fixed_point.cpp2
-rw-r--r--libc/test/UnitTest/CMakeLists.txt3
3 files changed, 8 insertions, 1 deletions
diff --git a/libc/cmake/modules/LLVMLibCObjectRules.cmake b/libc/cmake/modules/LLVMLibCObjectRules.cmake
index ef1f24863f61..54c7e1eaed0b 100644
--- a/libc/cmake/modules/LLVMLibCObjectRules.cmake
+++ b/libc/cmake/modules/LLVMLibCObjectRules.cmake
@@ -49,6 +49,10 @@ function(_get_common_compile_options output_var flags)
list(APPEND compile_options "-ffreestanding")
endif()
+ if(LIBC_COMPILER_HAS_FIXED_POINT)
+ list(APPEND compile_options "-ffixed-point")
+ endif()
+
list(APPEND compile_options "-fno-builtin")
list(APPEND compile_options "-fno-exceptions")
list(APPEND compile_options "-fno-lax-vector-conversions")
diff --git a/libc/cmake/modules/compiler_features/check_fixed_point.cpp b/libc/cmake/modules/compiler_features/check_fixed_point.cpp
index 02932dbf4d72..a5192697d43f 100644
--- a/libc/cmake/modules/compiler_features/check_fixed_point.cpp
+++ b/libc/cmake/modules/compiler_features/check_fixed_point.cpp
@@ -1,4 +1,4 @@
-#include "include/llvm-libc-macross/stdfix_macros.h"
+#include "include/llvm-libc-macros/stdfix-macros.h"
#ifndef LIBC_COMPILER_HAS_FIXED_POINT
#error unsupported
diff --git a/libc/test/UnitTest/CMakeLists.txt b/libc/test/UnitTest/CMakeLists.txt
index 9baa41874a83..e3099e451547 100644
--- a/libc/test/UnitTest/CMakeLists.txt
+++ b/libc/test/UnitTest/CMakeLists.txt
@@ -31,6 +31,9 @@ function(add_unittest_framework_library name)
if(TARGET libc.src.time.clock)
target_compile_definitions(${lib} PRIVATE TARGET_SUPPORTS_CLOCK)
endif()
+ if(LIBC_COMPILER_HAS_FIXED_POINT)
+ target_compile_options(${lib} PUBLIC -ffixed-point)
+ endif()
endforeach()
target_include_directories(${name}.hermetic PRIVATE ${LIBC_BUILD_DIR}/include)
target_compile_options(${name}.hermetic