move utility macros to picrin/util.h
This commit is contained in:
parent
ef7d01971b
commit
8625f75470
|
@ -39,31 +39,8 @@ extern "C" {
|
||||||
#include "xfile/xfile.h"
|
#include "xfile/xfile.h"
|
||||||
#include "xrope/xrope.h"
|
#include "xrope/xrope.h"
|
||||||
|
|
||||||
#if __STDC_VERSION__ >= 201112L
|
|
||||||
# define noreturn _Noreturn
|
|
||||||
#elif __GNUC__ || __clang__
|
|
||||||
# define noreturn __attribute__((noreturn))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define FALLTHROUGH ((void)0)
|
|
||||||
#define UNUSED(v) ((void)(v))
|
|
||||||
|
|
||||||
#define GENSYM2__(x,y) x##y
|
|
||||||
#define GENSYM1__(x,y) GENSYM2__(x,y)
|
|
||||||
#if defined(__COUNTER__)
|
|
||||||
# define GENSYM(x) GENSYM1__(x,__COUNTER__)
|
|
||||||
#else
|
|
||||||
# define GENSYM(x) GENSYM1__(x,__LINE__)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if __GNUC__ || __clang__
|
|
||||||
# define UNREACHABLE() (__builtin_unreachable())
|
|
||||||
#else
|
|
||||||
# include <assert.h>
|
|
||||||
# define UNREACHABLE() (assert(false))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "picrin/util.h"
|
||||||
#include "picrin/value.h"
|
#include "picrin/value.h"
|
||||||
|
|
||||||
typedef struct pic_code pic_code;
|
typedef struct pic_code pic_code;
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
/**
|
||||||
|
* See Copyright Notice in picrin.h
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef PICRIN_UTIL_H__
|
||||||
|
#define PICRIN_UTIL_H__
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __STDC_VERSION__ >= 201112L
|
||||||
|
# define noreturn _Noreturn
|
||||||
|
#elif __GNUC__ || __clang__
|
||||||
|
# define noreturn __attribute__((noreturn))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FALLTHROUGH ((void)0)
|
||||||
|
#define UNUSED(v) ((void)(v))
|
||||||
|
|
||||||
|
#define GENSYM2__(x,y) x##y
|
||||||
|
#define GENSYM1__(x,y) GENSYM2__(x,y)
|
||||||
|
#if defined(__COUNTER__)
|
||||||
|
# define GENSYM(x) GENSYM1__(x,__COUNTER__)
|
||||||
|
#else
|
||||||
|
# define GENSYM(x) GENSYM1__(x,__LINE__)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __GNUC__ || __clang__
|
||||||
|
# define UNREACHABLE() (__builtin_unreachable())
|
||||||
|
#else
|
||||||
|
# include <assert.h>
|
||||||
|
# define UNREACHABLE() (assert(false))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(__cplusplus)
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue