modernc.org/cc@v1.0.1/v2/headers/linux_386/builtin.h (about) 1 // Copyright 2018 The CC Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build ignore 6 7 #ifndef _BUILTIN_H_ 8 #define _BUILTIN_H_ 9 10 #include "predefined.h" 11 12 typedef void *__builtin_va_list; 13 14 typedef void *__FILE_TYPE__; 15 16 __SIZE_TYPE__ __builtin_strlen(char *__s); 17 __UINT64_TYPE__ __builtin_bswap64(__UINT64_TYPE__ x); 18 __builtin_va_list __builtin_va_copy(); 19 char *__builtin_strchrnul(char *, int); 20 char *__builtin_strcpy(char *__dest, char *__src); 21 double __builtin_copysign(double x, double y); 22 int __builtin_abs(int j); 23 int __builtin_ffs(int i); 24 int __builtin_isprint(int); 25 int __builtin_memcmp(void *__s1, void *__s2, __SIZE_TYPE__ __n); 26 int __builtin_printf(char *__format, ...); 27 int __builtin_sprintf(char *__s, char *__format, ...); 28 int __builtin_strcmp(char *__s1, char *__s2); 29 int __signbit(double x); 30 int __signbitf(float x); 31 void *__GO2__(char*); 32 void *__builtin_alloca(__SIZE_TYPE__ __size); 33 void *__builtin_memcpy(void *dest, const void *src, __SIZE_TYPE__ n); 34 void *__builtin_memset(void *s, int c, __SIZE_TYPE__ n); 35 void __GO__(char*); 36 void __builtin_abort(void); 37 void __builtin_exit(int __status); 38 void __builtin_free(void*); 39 void __builtin_trap(void); 40 void __builtin_va_end(__builtin_va_list); 41 void __register_stdfiles(void *, void *, void *, void *); 42 43 #define __builtin_choose_expr(a, b, c) (a) ? (b) : (c) 44 #define __builtin_expect(exp, c) (exp) 45 #define __builtin_offsetof(st, m) ((__SIZE_TYPE__)(&((st *)0)->m)) 46 #define __builtin_prefetch(addr, ...) (void)(addr) 47 #define __builtin_signbit(x) (sizeof(x) == sizeof(float) ? __signbitf(x) : sizeof (x) == sizeof(double) ? __signbit(x) : __signbitl(x)) 48 #define __builtin_types_compatible_p(type1, type2) __builtin_types_compatible__((type1){}, (type2){}) 49 #define __builtin_va_arg(ap, type) (type)ap 50 #ifdef __ccgo__ 51 void __log(char*, ...); 52 #define __builtin_va_copy(dest, src) dest = __builtin_va_copy(src) 53 #define __builtin_va_end(ap) __builtin_va_end(ap) 54 #define __builtin_va_start(ap, arg) ap = __GO2__("X__builtin_va_start(tls, ap)") 55 #define __log(s, ...) __log("%s:%i.%s: " s, __FILE__, __LINE__, __func__, __VA_ARGS__) 56 #else 57 #define __builtin_va_copy(dest, src) dest = src 58 #define __builtin_va_end(ap) ap = (void*)0 59 #define __builtin_va_start(ap, arg) ap = (void*)-1 60 #endif 61 #define __complex__ _Complex 62 #define __const const 63 #define __extension__ 64 #define __typeof__ typeof 65 #define __volatile volatile 66 67 #endif /* _BUILTIN_H_ */