GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — mruby/include/mruby/common.h at stable · mruby/mruby Expand file tree/ Copy pathcommon.hMore file actions 127 lines (113 loc) · 3.32 KB / Copy pathcommon.hFile metadata and controls127 lines (113 loc) · 3.32 KB 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 /** ** @file common.h - mruby common platform definition" ** ** See Copyright Notice in mruby.h */ #ifndef MRUBY_COMMON_H #define MRUBY_COMMON_H #ifdef __APPLE__ #ifndef __TARGETCONDITIONALS__ #include "TargetConditionals.h" #endif #endif #ifdef __cplusplus #ifdef MRB_USE_CXX_ABI #define MRB_BEGIN_DECL #define MRB_END_DECL #else # define MRB_BEGIN_DECL extern "C" { # define MRB_END_DECL } #endif #else /** Start declarations in C mode */ # define MRB_BEGIN_DECL /** End declarations in C mode */ # define MRB_END_DECL #endif #include <sys/types.h> #if defined _MSC_VER #include <BaseTsd.h> typedef SSIZE_T ssize_t; #endif /** * Shared compiler macros */ MRB_BEGIN_DECL /** Declare a function that never returns. */ #if defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L # define mrb_noreturn _Noreturn #elif defined __GNUC__ && !defined __STRICT_ANSI__ # define mrb_noreturn __attribute__((noreturn)) #elif defined _MSC_VER # define mrb_noreturn __declspec(noreturn) #else # define mrb_noreturn #endif /** Mark a function as deprecated. */ #if defined __GNUC__ && !defined __STRICT_ANSI__ # define mrb_deprecated __attribute__((deprecated)) #elif defined _MSC_VER # define mrb_deprecated __declspec(deprecated) #else # define mrb_deprecated #endif /** Branch prediction hints for optimization. */ #if defined(__GNUC__) || defined(__clang__) # define mrb_likely(x) __builtin_expect(!!(x), 1) # define mrb_unlikely(x) __builtin_expect(!!(x), 0) #else # define mrb_likely(x) (x) # define mrb_unlikely(x) (x) #endif /** Declare a type or object as an alignment requirement. */ #ifndef mrb_alignas # if defined(__cplusplus) && __cplusplus >= 201103L # // https://en.cppreference.com/w/cpp/language/alignas # define mrb_alignas(n) alignas(n) # elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L # // https://en.cppreference.com/w/c/language/_Alignas # define mrb_alignas(n) _Alignas(n) # elif defined(_MSC_VER) || defined(__INTEL_COMPILER) # // https://learn.microsoft.com/en-us/cpp/cpp/align-cpp?view=msvc-170 # define mrb_alignas(n) __declspec(align(n)) # elif defined(__GNUC__) || defined(__clang__) # // https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#index-aligned-type-attribute # define mrb_alignas(n) __attribute__((aligned(n))) # else # // `mrb_alignas` defined as dummy. If necessary, send issues to https://github.com/mruby/mruby . # define mrb_alignas(n) # endif #endif /** Declare a function as always inlined. */ #if defined _MSC_VER && _MSC_VER < 1900 # ifndef __cplusplus # define inline __inline # endif #endif #define MRB_INLINE static inline /** Declare a public mruby API function. */ #ifndef MRB_API #if defined(MRB_BUILD_AS_DLL) #if defined(MRB_CORE) || defined(MRB_LIB) # define MRB_API __declspec(dllexport) #else # define MRB_API __declspec(dllimport) #endif #else # define MRB_API extern #endif #endif /** Declare mingw versions */ #if defined(__MINGW32__) || defined(__MINGW64__) # include <_mingw.h> # if defined(__MINGW64_VERSION_MAJOR) # define MRB_MINGW64_VERSION (__MINGW64_VERSION_MAJOR * 1000 + __MINGW64_VERSION_MINOR) # elif defined(__MINGW32_MAJOR_VERSION) # define MRB_MINGW32_VERSION (__MINGW32_MAJOR_VERSION * 1000 + __MINGW32_MINOR_VERSION) # endif # if defined(__MINGW32__) && !defined(__MINGW64__) # define MRB_MINGW32_LEGACY # endif #endif MRB_END_DECL #endif /* MRUBY_COMMON_H */ |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |