github.com/cznic/cc@v0.0.0-20181122101902-d673e9b70d4d/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 struct { 13 void *_[2]; // Go *[]interface{} 14 } *__builtin_va_list; 15 16 typedef void *__FILE_TYPE__; 17 18 __SIZE_TYPE__ __builtin_strlen(char *__s); 19 __UINT64_TYPE__ __builtin_bswap64(__UINT64_TYPE__ x); 20 char *__builtin_strchrnul(char *, int); 21 char *__builtin_strcpy(char *__dest, char *__src); 22 double __builtin_copysign(double x, double y); 23 int __builtin_abs(int j); 24 int __builtin_ffs(int i); 25 int __builtin_isprint(int); 26 int __builtin_memcmp(void *__s1, void *__s2, __SIZE_TYPE__ __n); 27 int __builtin_printf(char *__format, ...); 28 int __builtin_sprintf(char *__s, char *__format, ...); 29 int __builtin_strcmp(char *__s1, char *__s2); 30 int __signbit(double x); 31 int __signbitf(float x); 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 #ifdef __ccgo__ 36 extern void *__ccgo_va_end; 37 extern void *__ccgo_va_start; 38 #endif 39 void __GO__(char*); 40 void __builtin_abort(void); 41 void __builtin_exit(int __status); 42 void __builtin_trap(void); 43 void __register_stdfiles(void *, void *, void *, void *); 44 45 #define __builtin_choose_expr(a, b, c) (a) ? (b) : (c) 46 #define __builtin_expect(exp, c) (exp) 47 #define __builtin_offsetof(st, m) ((__SIZE_TYPE__)(&((st *)0)->m)) 48 #define __builtin_prefetch(addr, ...) (void)(addr) 49 #define __builtin_signbit(x) (sizeof(x) == sizeof(float) ? __signbitf(x) : sizeof (x) == sizeof(double) ? __signbit(x) : __signbitl(x)) 50 #define __builtin_types_compatible_p(type1, type2) __builtin_types_compatible__((type1){}, (type2){}) 51 #define __builtin_va_arg(ap, type) (type)ap 52 #define __builtin_va_copy(dest, src) dest = src 53 #ifdef __ccgo__ 54 #define __builtin_va_end(ap) ap = __ccgo_va_end 55 #define __builtin_va_start(ap, arg) ap = __ccgo_va_start 56 #else 57 #define __builtin_va_end(ap) ap = (void*)0 58 #define __builtin_va_start(ap, arg) ap = (void*)-1 59 #endif 60 #define __complex__ _Complex 61 #define __const const 62 #define __extension__ 63 #define __typeof__ typeof 64 #define __volatile volatile 65 66 #endif /* _BUILTIN_H_ */