@@ -417,12 +417,8 @@ typedef struct
417417#define __builtin_arm_isb (x )
418418#define __builtin_arm_dsb (x )
419419#define __builtin_arm_dmb (x )
420-
421- #define __builtin_bswap32 (x ) (x)
422- #define __builtin_bswap16 (x ) (x)
423420#define __builtin_arm_rbit (x ) (x)
424421
425- #define __builtin_clz (x ) (x)
426422#define __builtin_arm_ldrex (x ) (x)
427423#define __builtin_arm_strex (val , ptr ) (val)
428424#define __builtin_arm_ldrex (ptr ) (ptr)
@@ -431,3 +427,45 @@ typedef struct
431427#define __builtin_arm_usat (val , sat ) (sat)
432428#define __builtin_arm_ldaex (ptr ) (ptr)
433429#define __builtin_arm_stlex (val , ptr ) (val)
430+
431+ // clang 20.1 built-in functions
432+
433+ #define __builtin_addressof (x ) ((void *)0)
434+ #define __builtin_constant_p (expression ) 0
435+ #define __builtin_expect (expression , val ) 0
436+ #define __builtin_add_overflow (a , b , result_ptr ) 0
437+ #define __builtin_mul_overflow (a , b , result_ptr ) 0
438+ #define __builtin_sadd_overflow (a , b , result_ptr ) 0
439+ #define __builtin_sub_overflow (a , b , result_ptr ) 0
440+
441+ extern void * __builtin_alloca (int n );
442+ extern void * __builtin_alloca_uninitialized (int n );
443+ extern unsigned short __builtin_bswap16 (unsigned short x );
444+ extern unsigned int __builtin_bswap32 (unsigned int x );
445+ extern unsigned long long __builtin_bswap64 (unsigned long long x );
446+ extern int __builtin_clz (unsigned int x );
447+ extern int __builtin_clzl (unsigned long x );
448+ extern int __builtin_clzll (unsigned long long x );
449+ extern int __builtin_ctz (unsigned int x );
450+ extern int __builtin_ctzl (unsigned long x );
451+ extern int __builtin_ctzll (unsigned long long x );
452+ extern int __builtin_eh_return_data_regno (int n );
453+ extern void * __builtin_extend_pointer (void * ptr );
454+ extern void * __builtin_extract_return_addr (void * addr );
455+ extern int __builtin_ffs (int x );
456+ extern int __builtin_ffsl (long x );
457+ extern int __builtin_ffsll (long long x );
458+ extern void * __builtin_frame_address (unsigned int level );
459+ extern void __builtin_is_constant_evaluated ();
460+ extern long __builtin_labs (long x );
461+ extern void * __builtin_launder (void * ptr );
462+ extern long long __builtin_llabs (long long x );
463+ extern int __builtin_object_size (const void * ptr , int type );
464+ extern int __builtin_popcount (unsigned int x );
465+ extern int __builtin_popcountl (unsigned long x );
466+ extern int __builtin_popcountll (unsigned long long x );
467+ extern void __builtin_prefetch (const void * addr , int rw , int locality );
468+ extern void * __builtin_return_address (unsigned int level );
469+ extern void * __builtin_thread_pointer (void );
470+ extern void __builtin_trap ();
471+ extern void __builtin_unreachable ();
0 commit comments