38 lines
951 B
C
38 lines
951 B
C
|
#if defined(__clang__)
|
||
|
#pragma clang diagnostic ignored "-Wparentheses"
|
||
|
|
||
|
/* placing code in section(text) does not mark it executable with Clang. */
|
||
|
#undef LIBCO_MPROTECT
|
||
|
#define LIBCO_MPROTECT
|
||
|
#endif
|
||
|
|
||
|
#if defined(__clang__) || defined(__GNUC__)
|
||
|
#if defined(__i386__)
|
||
|
#include "x86.c"
|
||
|
#elif defined(__amd64__)
|
||
|
#include "amd64.c"
|
||
|
#elif defined(__arm__)
|
||
|
#include "arm.c"
|
||
|
#elif defined(__aarch64__)
|
||
|
#include "aarch64.c"
|
||
|
#elif defined(__powerpc64__) && defined(_CALL_ELF) && _CALL_ELF == 2
|
||
|
#include "ppc64v2.c"
|
||
|
#elif defined(_ARCH_PPC) && !defined(__LITTLE_ENDIAN__)
|
||
|
#include "ppc.c"
|
||
|
#elif defined(_WIN32)
|
||
|
#include "fiber.c"
|
||
|
#else
|
||
|
#include "sjlj.c"
|
||
|
#endif
|
||
|
#elif defined(_MSC_VER)
|
||
|
#if defined(_M_IX86)
|
||
|
#include "x86.c"
|
||
|
#elif defined(_M_AMD64)
|
||
|
#include "amd64.c"
|
||
|
#else
|
||
|
#include "fiber.c"
|
||
|
#endif
|
||
|
#else
|
||
|
#error "libco: unsupported processor, compiler or operating system"
|
||
|
#endif
|