2011-05-18 17:41:54 +04:00
|
|
|
/**********************************************************************
|
|
|
|
|
|
|
|
internal.h -
|
|
|
|
|
|
|
|
$Author$
|
|
|
|
created at: Tue May 17 11:42:20 JST 2011
|
|
|
|
|
|
|
|
Copyright (C) 2011 Yukihiro Matsumoto
|
|
|
|
|
|
|
|
**********************************************************************/
|
|
|
|
|
|
|
|
#ifndef RUBY_INTERNAL_H
|
|
|
|
#define RUBY_INTERNAL_H 1
|
|
|
|
|
2014-11-15 14:49:06 +03:00
|
|
|
#include "ruby.h"
|
|
|
|
|
2011-05-18 17:41:54 +04:00
|
|
|
#if defined(__cplusplus)
|
|
|
|
extern "C" {
|
|
|
|
#if 0
|
|
|
|
} /* satisfy cc-mode */
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
2019-12-04 04:55:55 +03:00
|
|
|
#include "ruby/encoding.h"
|
|
|
|
#include "ruby/io.h"
|
2019-11-29 09:18:34 +03:00
|
|
|
#include "internal/stdbool.h"
|
|
|
|
#include "internal/bits.h"
|
2017-12-04 05:35:40 +03:00
|
|
|
|
2016-04-23 10:15:25 +03:00
|
|
|
#define LIKELY(x) RB_LIKELY(x)
|
|
|
|
#define UNLIKELY(x) RB_UNLIKELY(x)
|
|
|
|
|
2019-11-29 09:18:34 +03:00
|
|
|
#include "internal/compilers.h"
|
|
|
|
#include "internal/sanitizers.h"
|
2013-08-06 07:26:34 +04:00
|
|
|
|
* internal.h (numberof): Gathered from various files.
* array.c, math.c, thread_pthread.c, iseq.c, enum.c, string.c, io.c,
load.c, compile.c, struct.c, eval.c, gc.c, parse.y, process.c,
error.c, ruby.c: Remove the definitions of numberof.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-07 14:01:19 +04:00
|
|
|
#define numberof(array) ((int)(sizeof(array) / sizeof((array)[0])))
|
|
|
|
|
2018-08-14 00:34:20 +03:00
|
|
|
/* Prevent compiler from reordering access */
|
|
|
|
#define ACCESS_ONCE(type,x) (*((volatile type *)&(x)))
|
|
|
|
|
2019-11-29 09:18:34 +03:00
|
|
|
#include "internal/serial.h"
|
|
|
|
#include "internal/static_assert.h"
|
|
|
|
#include "internal/time.h"
|
|
|
|
#include "internal/fixnum.h"
|
|
|
|
#include "internal/bignum.h"
|
|
|
|
#include "internal/rational.h"
|
|
|
|
#include "internal/numeric.h"
|
|
|
|
#include "internal/complex.h"
|
|
|
|
#include "internal/hash.h"
|
|
|
|
#include "internal/missing.h"
|
|
|
|
#include "internal/struct.h"
|
|
|
|
#include "internal/class.h"
|
|
|
|
#include "internal/imemo.h"
|
|
|
|
#include "internal/compar.h"
|
|
|
|
#include "internal/variable.h"
|
|
|
|
#include "internal/array.h"
|
|
|
|
#include "internal/debug.h"
|
|
|
|
#include "internal/compile.h"
|
|
|
|
#include "internal/cont.h"
|
|
|
|
#include "internal/dir.h"
|
|
|
|
#include "internal/encoding.h"
|
|
|
|
#include "internal/enum.h"
|
|
|
|
#include "internal/eval.h"
|
|
|
|
#include "internal/error.h"
|
|
|
|
#include "internal/file.h"
|
|
|
|
#include "internal/gc.h"
|
|
|
|
#include "internal/io.h"
|
|
|
|
#include "internal/load.h"
|
|
|
|
#include "internal/loadpath.h"
|
|
|
|
#include "internal/math.h"
|
|
|
|
#include "internal/mjit.h"
|
|
|
|
#include "internal/object.h"
|
|
|
|
#include "internal/parse.h"
|
|
|
|
#include "internal/proc.h"
|
|
|
|
#include "internal/process.h"
|
|
|
|
#include "internal/range.h"
|
|
|
|
#include "internal/re.h"
|
|
|
|
#include "internal/signal.h"
|
|
|
|
#include "internal/string.h"
|
|
|
|
#include "internal/symbol.h"
|
|
|
|
#include "internal/thread.h"
|
|
|
|
#include "internal/transcode.h"
|
|
|
|
#include "internal/enc.h"
|
|
|
|
#include "internal/util.h"
|
|
|
|
#include "internal/vm.h"
|
|
|
|
#include "internal/enumerator.h"
|
|
|
|
#include "internal/random.h"
|
|
|
|
#include "internal/inits.h"
|
|
|
|
#include "internal/warnings.h"
|
2019-05-31 09:58:50 +03:00
|
|
|
|
2011-05-18 17:41:54 +04:00
|
|
|
#if defined(__cplusplus)
|
|
|
|
#if 0
|
|
|
|
{ /* satisfy cc-mode */
|
|
|
|
#endif
|
|
|
|
} /* extern "C" { */
|
|
|
|
#endif
|
|
|
|
#endif /* RUBY_INTERNAL_H */
|