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_ */