Lines Matching +full:- +full:c

1 # This directory contains a large amount of C code which provides
3 # architecture-specific code in various subdirectories.
9 project(CompilerRTBuiltins C ASM)
25 include(base-config-ix)
43 # Simplified version of what's set in cmake/config-ix.cmake; not including
51 # When compiler-rt is being built standalone, possibly as a cross-compilation
56 "Turns on or off -fPIC for the builtin library source"
60 include(builtin-config-ix)
68 # added to a sub-directory and not this CMakeLists file.
70 absvdi2.c
71 absvsi2.c
72 absvti2.c
73 adddf3.c
74 addsf3.c
75 addvdi3.c
76 addvsi3.c
77 addvti3.c
78 apple_versioning.c
79 ashldi3.c
80 ashlti3.c
81 ashrdi3.c
82 ashrti3.c
83 bswapdi2.c
84 bswapsi2.c
85 clzdi2.c
86 clzsi2.c
87 clzti2.c
88 cmpdi2.c
89 cmpti2.c
90 comparedf2.c
91 comparesf2.c
92 ctzdi2.c
93 ctzsi2.c
94 ctzti2.c
95 divdc3.c
96 divdf3.c
97 divdi3.c
98 divmoddi4.c
99 divmodsi4.c
100 divmodti4.c
101 divsc3.c
102 divsf3.c
103 divsi3.c
104 divti3.c
105 extendsfdf2.c
106 extendhfsf2.c
107 ffsdi2.c
108 ffssi2.c
109 ffsti2.c
110 fixdfdi.c
111 fixdfsi.c
112 fixdfti.c
113 fixsfdi.c
114 fixsfsi.c
115 fixsfti.c
116 fixunsdfdi.c
117 fixunsdfsi.c
118 fixunsdfti.c
119 fixunssfdi.c
120 fixunssfsi.c
121 fixunssfti.c
122 floatdidf.c
123 floatdisf.c
124 floatsidf.c
125 floatsisf.c
126 floattidf.c
127 floattisf.c
128 floatundidf.c
129 floatundisf.c
130 floatunsidf.c
131 floatunsisf.c
132 floatuntidf.c
133 floatuntisf.c
134 fp_mode.c
135 int_util.c
136 lshrdi3.c
137 lshrti3.c
138 moddi3.c
139 modsi3.c
140 modti3.c
141 muldc3.c
142 muldf3.c
143 muldi3.c
144 mulodi4.c
145 mulosi4.c
146 muloti4.c
147 mulsc3.c
148 mulsf3.c
149 multi3.c
150 mulvdi3.c
151 mulvsi3.c
152 mulvti3.c
153 negdf2.c
154 negdi2.c
155 negsf2.c
156 negti2.c
157 negvdi2.c
158 negvsi2.c
159 negvti2.c
160 os_version_check.c
161 paritydi2.c
162 paritysi2.c
163 parityti2.c
164 popcountdi2.c
165 popcountsi2.c
166 popcountti2.c
167 powidf2.c
168 powisf2.c
169 subdf3.c
170 subsf3.c
171 subvdi3.c
172 subvsi3.c
173 subvti3.c
174 trampoline_setup.c
175 truncdfhf2.c
176 truncdfsf2.c
177 truncsfhf2.c
178 ucmpdi2.c
179 ucmpti2.c
180 udivdi3.c
181 udivmoddi4.c
182 udivmodsi4.c
183 udivmodti4.c
184 udivsi3.c
185 udivti3.c
186 umoddi3.c
187 umodsi3.c
188 umodti3.c
193 extendbfsf2.c
194 truncdfbf2.c
195 truncxfbf2.c
196 truncsfbf2.c
197 trunctfbf2.c
201 addtf3.c
202 comparetf2.c
203 divtc3.c
204 divtf3.c
205 extenddftf2.c
206 extendhftf2.c
207 extendsftf2.c
208 fixtfdi.c
209 fixtfsi.c
210 fixtfti.c
211 fixunstfdi.c
212 fixunstfsi.c
213 fixunstfti.c
214 floatditf.c
215 floatsitf.c
216 floattitf.c
217 floatunditf.c
218 floatunsitf.c
219 floatuntitf.c
220 multc3.c
221 multf3.c
222 powitf2.c
223 subtf3.c
224 trunctfdf2.c
225 trunctfhf2.c
226 trunctfsf2.c
236 emutls.c
237 enable_execute_stack.c
238 eprintf.c
253 atomic.c
260 atomic_flag_clear.c
261 atomic_flag_clear_explicit.c
262 atomic_flag_test_and_set.c
263 atomic_flag_test_and_set_explicit.c
264 atomic_signal_fence.c
265 atomic_thread_fence.c
272 gcc_personality_v0.c
279 clear_cache.c
283 # These files are used on 32-bit and 64-bit x86.
285 cpu_model/x86.c
291 i386/fp_mode.c
295 # Implement extended-precision builtins, assuming long double is 80 bits.
298 divxc3.c
299 extendhfxf2.c
300 extendxftf2.c
301 fixxfdi.c
302 fixxfti.c
303 fixunsxfdi.c
304 fixunsxfsi.c
305 fixunsxfti.c
306 floatdixf.c
307 floattixf.c
308 floatundixf.c
309 floatuntixf.c
310 mulxc3.c
311 powixf2.c
312 trunctfxf2.c
313 truncxfhf2.c
321 x86_64/floatdidf.c
322 x86_64/floatdisf.c
336 x86_64/floatdixf.c
389 # Use C versions of functions when building on MSVC
395 x86_64/floatdidf.c
396 x86_64/floatdisf.c
404 arm/fp_mode.c
442 # builtin support for Thumb-only targets with very limited Thumb2 technology,
443 # such as v6-m and v8-m.baseline
454 arm/aeabi_cdcmpeq_check_nan.c
456 arm/aeabi_cfcmpeq_check_nan.c
458 arm/aeabi_div0.c
459 arm/aeabi_drsub.c
461 arm/aeabi_frsub.c
533 # base functionality for Arm Targets prior to Arm v7-a and Armv6-m such as v6,
572 cpu_model/aarch64.c
573 aarch64/fp_mode.c
581 set_source_files_properties(aarch64/arm_apple_sme_abi.s PROPERTIES COMPILE_FLAGS -march=armv8a+sme)
584 list(APPEND aarch64_SOURCES aarch64/sme-abi.S aarch64/sme-libc-mem-routines.S aarch64/sme-abi-assert.c aarch64/sme-libc-routines.c)
586 set_source_files_properties(aarch64/sme-libc-routines.c PROPERTIES COMPILE_FLAGS "-fno-builtin")
592 message(WARNING "AArch64 SME ABI routines require '-fno-builtin'")
619 COMMAND ${CMAKE_COMMAND} -E ${COMPILER_RT_LINK_OR_COPY} "${source_asm}" "${helper_asm}"
661 # 8-bit AVR MCU
706 loongarch/fp_mode.c
728 ppc/divtc3.c
729 ppc/fixtfdi.c
730 ppc/fixunstfdi.c
731 ppc/floatditf.c
732 ppc/floatunditf.c
733 ppc/gcc_qadd.c
734 ppc/gcc_qdiv.c
735 ppc/gcc_qmul.c
736 ppc/gcc_qsub.c
737 ppc/multc3.c
743 ppc/floattitf.c
744 ppc/fixtfti.c
745 ppc/fixunstfti.c
752 cpu_model/riscv.c
753 riscv/fp_mode.c
787 set_target_properties(builtins PROPERTIES FOLDER "Compiler-RT/Metatargets")
794 add_subdirectory(Darwin-excludes)
802 append_list_if(COMPILER_RT_ENABLE_CET -fcf-protection=full BUILTIN_CFLAGS)
805 append_list_if(COMPILER_RT_HAS_STD_C11_FLAG -std=c11 BUILTIN_CFLAGS)
806 append_list_if(COMPILER_RT_HAS_WBUILTIN_DECLARATION_MISMATCH_FLAG -Werror=builtin-declaration-mismatch BUILTIN_CFLAGS)
818 append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC BUILTIN_CFLAGS)
820 append_list_if(COMPILER_RT_HAS_FNO_BUILTIN_FLAG -fno-builtin BUILTIN_CFLAGS)
822 append_list_if(COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG -fvisibility=hidden BUILTIN_CFLAGS)
825 append_list_if(COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG -fomit-frame-pointer BUILTIN_CFLAGS)
831 append_list_if(COMPILER_RT_HAS_FFREESTANDING_FLAG -ffreestanding BUILTIN_CFLAGS)
832 append_list_if(COMPILER_RT_HAS_NOGPULIB_FLAG -nogpulib BUILTIN_CFLAGS)
833 append_list_if(COMPILER_RT_HAS_FLTO_FLAG -flto BUILTIN_CFLAGS)
835 -fconvergent-functions BUILTIN_CFLAGS)
840 "SHELL:-Xclang -mcode-object-version=none" BUILTIN_CFLAGS)
861 # TODO: we should probably make most of the checks in builtin-config depend on the target flags.
875 # Exclude any double-precision builtins if VFP is single-precision-only
878 #error No double-precision support!
889 append_list_if(COMPILER_RT_HAS_${arch}_FLOAT16 -DCOMPILER_RT_HAS_FLOAT16 BUILTIN_CFLAGS_${arch})
898 # Remove a generic C builtin when an arch-specific builtin is specified.
902 # Release mode already sets it via -O2/3, Debug mode doesn't.
904 list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET)
910 list(APPEND BUILTIN_CFLAGS_${arch} -fforce-enable-int128)
926 add_dependencies(compiler-rt builtins)
933 add_custom_target(builtins-standalone-atomic)
945 list(APPEND COMPILER_RT_LIBATOMIC_LINK_FLAGS -nodefaultlibs)
949 list(APPEND COMPILER_RT_LIBATOMIC_LINK_LIBS_${arch} clang_rt.builtins-${arch})
954 SOURCES atomic.c
957 PARENT_TARGET builtins-standalone-atomic)
962 # this ad-hoc part can be removed.
966 PARENT_TARGET builtins-standalone-atomic)
968 add_dependencies(compiler-rt builtins-standalone-atomic)
982 append_list_if(COMPILER_RT_HAS_STD_C11_FLAG -std=c11 CRT_CFLAGS)
983 append_list_if(COMPILER_RT_HAS_INITFINI_ARRAY -DCRT_HAS_INITFINI_ARRAY CRT_CFLAGS)
984 append_list_if(COMPILER_RT_CRT_USE_EH_FRAME_REGISTRY -DEH_USE_FRAME_REGISTRY CRT_CFLAGS)
985 append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC CRT_CFLAGS)
986 append_list_if(COMPILER_RT_HAS_WNO_PEDANTIC -Wno-pedantic CRT_CFLAGS)
988 append_list_if(COMPILER_RT_ENABLE_CET -fcf-protection=full CRT_CFLAGS)
995 SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtbegin.c
1001 SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/crtend.c
1006 add_dependencies(compiler-rt crt)