/*
 * ex: set ro: -*- buffer-read-only:t -*-
 * DO NOT EDIT THIS FILE
 * Generated by Parrot::Configure::Compiler from config/gen/config_h/feature_h.in
 */

/*
  Copyright (C) 2004-2014, Parrot Foundation.

  feature.h - arch specific defines resulting from some tests
*/


#ifndef PARROT_FEATURE_H_GUARD
#define PARROT_FEATURE_H_GUARD


/* from config/auto/memalign */
#define PARROT_HAS_POSIX_MEMALIGN
#define PARROT_HAS_SOME_MEMALIGN

/* from config/auto/isreg */

/* from config/auto/jit */

/* from config/auto/va_ptr.pm: va_ptr_type => stack */
#  define PARROT_VA_TO_VAPTR(x) (&(x))

/* signal stuff from config/auto/signal */
#define PARROT_HAS_SIGACTION 1
#define PARROT_HAS___SIGHANDLER_T 1
#define PARROT_HAS_SETITIMER 1
#define PARROT_HAS_SOME_SYS_TIMER 1

/* from config/auto/env */
#define PARROT_HAS_SETENV 1
#define PARROT_HAS_UNSETENV 1

/* from config/auto/inline */
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
#  define PARROT_INLINE inline
#  define PARROT_HAS_INLINE
#else
#  define PARROT_INLINE
#endif

/* from config/auto/socklen_t */
#define PARROT_HAS_SOCKLEN_T 1

/* from config/auto/backtrace */
#define PARROT_HAS_BACKTRACE
#include <execinfo.h>
/* __USE_GNU seems to mess up stdio.h on Linux; only define it for dlfcn.h if
it's not already defined */
#ifndef __USE_GNU
#  define __USE_GNU
#  include <dlfcn.h>
#  undef __USE_GNU
#else
#  include <dlfcn.h>
#endif

/* from config/auto/neg_0 */
#define PARROT_HAS_NEGATIVE_ZERO 1

/* from config/auto/alignof */

/* from config/auto/expect */
#undef PARROT_HAS_BUILTIN_EXPECT
#ifdef PARROT_HAS_BUILTIN_EXPECT
#  define EXPECT(expr,val)                  __builtin_expect(expr,val)
#else
#  define EXPECT(expr,val)                  (expr)
#endif
#define LIKELY(cond)                        EXPECT((cond),1)
#define UNLIKELY(cond)                      EXPECT((cond),0)

#endif /* PARROT_FEATURE_H_GUARD */

/*
 * Local variables:
 *   mode: c
 *   c-file-style: "parrot"
 * End:
 * vim: expandtab shiftwidth=4:
 */
