@@ -7,24 +7,31 @@ function(add_math_entrypoint_object name)
77 # We prefer machine specific implementation if available. Hence we check
88 # that first and return early if we are able to add an alias target for the
99 # machine specific implementation.
10- get_fq_target_name("${LIBC_TARGET_ARCHITECTURE} .${name} " fq_machine_specific_target_name)
10+ if (NOT ARGN)
11+ set (alias_entrypoint ${name} )
12+ else ()
13+ message (STATUS "Banananana ${name} ${ARGN} " )
14+ set (alias_entrypoint ${ARGN} )
15+ endif ()
16+
17+ get_fq_target_name("${LIBC_TARGET_ARCHITECTURE} .${alias_entrypoint} " fq_machine_specific_target_name)
1118 if (TARGET ${fq_machine_specific_target_name} )
1219 add_entrypoint_object(
1320 ${name}
1421 ALIAS
1522 DEPENDS
16- .${LIBC_TARGET_ARCHITECTURE} .${name }
23+ .${LIBC_TARGET_ARCHITECTURE} .${alias_entrypoint }
1724 )
1825 return ()
1926 endif ()
2027
21- get_fq_target_name("generic.${name } " fq_generic_target_name)
28+ get_fq_target_name("generic.${alias_entrypoint } " fq_generic_target_name)
2229 if (TARGET ${fq_generic_target_name} )
2330 add_entrypoint_object(
2431 ${name}
2532 ALIAS
2633 DEPENDS
27- .generic.${name }
34+ .generic.${alias_entrypoint }
2835 )
2936 return ()
3037 endif ()
@@ -40,6 +47,20 @@ function(add_math_entrypoint_object name)
4047 )
4148endfunction ()
4249
50+ function (add_long_double_math_entrypoint_object name )
51+ get_fq_target_name(${name} fq_double_math_target)
52+ get_fq_target_name("${name} l" fq_long_double_math_target)
53+ get_fq_target_name("${name} f128" fq_float128_math_target)
54+
55+ if (LIBC_TARGET_LONG_DOUBLE_IS_DOUBLE)
56+ add_math_entrypoint_object("${name} l" "${name} " )
57+ elseif (LIBC_TARGET_LONG_DOUBLE_IS_FLOAT128)
58+ add_math_entrypoint_object("${name} l" "${name} f128" )
59+ else ()
60+ add_math_entrypoint_object("${name} l" )
61+ endif ()
62+ endfunction ()
63+
4364add_math_entrypoint_object(acos)
4465add_math_entrypoint_object(acosf)
4566add_math_entrypoint_object(acosf16)
@@ -88,9 +109,9 @@ add_math_entrypoint_object(ceilf128)
88109
89110add_math_entrypoint_object(copysign)
90111add_math_entrypoint_object(copysignf)
91- add_math_entrypoint_object(copysignl)
92112add_math_entrypoint_object(copysignf16)
93113add_math_entrypoint_object(copysignf128)
114+ add_long_double_math_entrypoint_object(copysign)
94115
95116add_math_entrypoint_object(cos)
96117add_math_entrypoint_object(cosf)
0 commit comments