modernc.org/cc@v1.0.1/v2/headers/linux_amd64/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 _Complex __builtin_complex(double, double);
    22  double __builtin_cimag(double _Complex);
    23  double __builtin_copysign(double x, double y);
    24  float _Complex __builtin_complexf(float, float);
    25  float __builtin_cimagf(float _Complex);
    26  int __builtin_abs(int j);
    27  int __builtin_ffs(int i);
    28  int __builtin_isprint(int);
    29  int __builtin_memcmp(void *__s1, void *__s2, __SIZE_TYPE__ __n);
    30  int __builtin_printf(char *__format, ...);
    31  int __builtin_sprintf(char *__s, char *__format, ...);
    32  int __builtin_strcmp(char *__s1, char *__s2);
    33  int __signbit(double x);
    34  int __signbitf(float x);
    35  long double _Complex __builtin_complexl(double, double);
    36  long double __builtin_cimagl(long double _Complex);
    37  void *__GO2__(char*);
    38  void *__builtin_alloca(__SIZE_TYPE__ __size);
    39  void *__builtin_memcpy(void *dest, const void *src, __SIZE_TYPE__ n);
    40  void *__builtin_memset(void *s, int c, __SIZE_TYPE__ n);
    41  void __GO__(char*);
    42  void __builtin_abort(void);
    43  void __builtin_exit(int __status);
    44  void __builtin_free(void*);
    45  void __builtin_trap(void);
    46  void __builtin_va_end(__builtin_va_list);
    47  void __register_stdfiles(void *, void *, void *, void *);
    48  
    49  #define __builtin_choose_expr(a, b, c) (a) ? (b) : (c)
    50  #define __builtin_expect(exp, c) (exp)
    51  #define __builtin_offsetof(st, m) ((__SIZE_TYPE__)(&((st *)0)->m))
    52  #define __builtin_prefetch(addr, ...) (void)(addr)
    53  #define __builtin_signbit(x) (sizeof(x) == sizeof(float) ? __signbitf(x) : sizeof (x) == sizeof(double) ? __signbit(x) : __signbitl(x))
    54  #define __builtin_types_compatible_p(type1, type2) __builtin_types_compatible__((type1){}, (type2){})
    55  #define __builtin_va_arg(ap, type) (type)ap
    56  #ifdef __ccgo__
    57  void __log(char*, ...);
    58  #define __builtin_va_copy(dest, src) dest = __builtin_va_copy(src)
    59  #define __builtin_va_end(ap) __builtin_va_end(ap)
    60  #define __builtin_va_start(ap, arg) ap = __GO2__("X__builtin_va_start(tls, ap)")
    61  #define __log(s, ...) __log("%s:%i.%s: " s, __FILE__, __LINE__, __func__, __VA_ARGS__)
    62  #else
    63  #define __builtin_va_copy(dest, src) dest = src
    64  #define __builtin_va_end(ap) ap = (void*)0
    65  #define __builtin_va_start(ap, arg) ap = (void*)-1
    66  #endif
    67  #define __complex__ _Complex
    68  #define __const const
    69  #define __extension__
    70  #define __typeof__ typeof
    71  #define __volatile volatile
    72  
    73  #endif				/* _BUILTIN_H_ */