1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
|
#ifndef _AST_COMMON_H
#define _AST_COMMON_H 1
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#ifdef HAVE_SYS_TYPES_H
# define _sys_types 1
#endif
#ifdef HAVE_LIMITS_H
# define _hdr_limits 1
#endif
#ifdef HAVE_FLOAT_H
# define _hdr_float 1
#endif
#ifdef HAVE_VALUES_H
# define _hdr_values 1
#endif
#ifdef HAVE_SYS_TYPES_H
# define _sys_types 1
#endif
#ifdef HAVE_PTHREAD_H
# define _hdr_pthread 1
#endif
#ifdef HAVE_STDDEF_H
# define hdr_stddef 1
#endif
#ifdef HAVE_TIME_H
# define _hdr_time 1
#endif
#ifdef HAVE_SYS_TIME_H
# define _sys_time 1
#endif
#ifdef HAVE_SYS_TIMES_H
# define _sys_times 1
#endif
#ifdef HAVE_STDLIB_H
# define _hdr_stdlib 1
#endif
#ifdef HAVE_SYS_SOCKET_H
# define _sys_socket 1
#endif
#ifdef HAVE_SYS_STAT_H
# define _sys_stat 1
#endif
#ifdef HAVE_STDARG_H
# define _hdr_stdarg 1
#endif
#ifdef HAVE_VARARGS_H
# define _hdr_varargs 1
#endif
/* FIXME - need proper config test for these */
#define _typ_size_t 1 /* size_t is a type */
#define _typ_ssize_t 1 /* ssize_t is a type */
#define _typ_long_double 1 /* long double is a type */
#define _proto_stdc 1 /* Standard-C prototypes ok */
/* */
/* __STD_C indicates that the language is ANSI-C or C++ */
#if !defined(__STD_C) && __STDC__
#define __STD_C 1
#endif
#if !defined(__STD_C) && (__cplusplus || c_plusplus)
#define __STD_C 1
#endif
#if !defined(__STD_C) && _proto_stdc
#define __STD_C 1
#endif
#if !defined(__STD_C)
#define __STD_C 0
#endif
/* extern symbols must be protected against C++ name mangling */
#ifndef _BEGIN_EXTERNS_
# if __cplusplus || c_plusplus
# define _BEGIN_EXTERNS_ extern "C" {
# define _END_EXTERNS_ }
# else
# define _BEGIN_EXTERNS_
# define _END_EXTERNS_
# endif
#endif /*_BEGIN_EXTERNS_*/
/* _ARG_ simplifies function prototyping among flavors of C */
#ifndef _ARG_
#if __STD_C
#define _ARG_(x) x
#else
#define _ARG_(x) ()
#endif
#endif /*_ARG_*/
/* __INLINE__ is the inline keyword */
#if !defined(__INLINE__) && defined(__cplusplus)
#define __INLINE__ inline
#endif
#if !defined(__INLINE__) && defined(_WIN32) && !defined(__GNUC__)
#define __INLINE__ __inline
#endif
/* Void_t is defined so that Void_t* can address any type */
#ifndef Void_t
#if __STD_C
#define Void_t void
#else
#define Void_t char
#endif
#endif /*Void_t*/
/* dynamic linked library external scope handling */
#undef extern
#if _dll_import && !defined(__EXPORT__) && _DLL_BLD
#define __EXPORT__ __declspec(dllexport)
#endif
#if _dll_import && !defined(__IMPORT__)
#define __IMPORT__ __declspec(dllimport)
#endif
#if !defined(_astimport)
#if defined(__IMPORT__) && _DLL_BLD
#define _astimport __IMPORT__
#else
#define _astimport extern
#endif
#endif /*_astimport*/
#if !_DLL_BLD && _dll_import
#define __EXTERN__(T,obj) extern T obj; T* _imp__ ## obj = &obj
#define __DEFINE__(T,obj,val) T obj = val; T* _imp__ ## obj = &obj
#else
#define __EXTERN__(T,obj) extern T obj
#define __DEFINE__(T,obj,val) T obj = val
#endif
#ifndef _AST_STD_H
# if _hdr_stddef
# include <stddef.h>
# endif
# if _hdr_stdarg
# include <stdarg.h>
# endif
# if _hdr_varargs
# include <varargs.h>
# endif
# if _sys_types
# include <sys/types.h>
# endif
#endif
#if !_typ_size_t
# define _typ_size_t 1
typedef int size_t;
#endif
#if !_typ_ssize_t
# define _typ_ssize_t 1
typedef int ssize_t;
#endif
/* FIXME - need proper configure tests for these */
#define _ast_int1_t char
#define _ast_int2_t short
#define _ast_int4_t int
#define _ast_int8_t long long
#define _ast_intmax_t _ast_int8_t
#define _ast_intswap 7
#define _ast_flt4_t float
#define _ast_flt8_t double
#define _ast_flt12_t long double
#define _ast_fltmax_t _ast_flt12_t
/* */
#ifndef va_listref
#define va_listref(p) (p) /* pass va_list to varargs function */
#define va_listval(p) (p) /* retrieve va_list from va_arg(ap,va_listarg) */
#define va_listarg va_list /* va_arg() va_list type */
#ifndef va_copy
#define va_copy(to,fr) ((to)=(fr)) /* copy va_list fr -> to */
#endif
#undef _ast_va_list
#ifdef va_start
#define _ast_va_list va_list
#else
#define _ast_va_list void* /* va_list that avoids #include */
#endif
#endif
#ifdef HAVE_LIMITS_H
#include <limits.h>
#else
#ifdef HAVE_VALUES_H
#include <values.h>
#endif
#endif
#ifndef MAXINT
#define MAXINT INT_MAX
#endif
#endif /*AST_COMMON_H*/
|