summaryrefslogtreecommitdiff
path: root/internal.h
blob: 337aee814d8f32158545277d3da8f19f1c40a9f2 (plain)
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
/**********************************************************************

  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

#include "ruby/config.h"

#ifdef __cplusplus
# error not for C++
#endif

#include "ruby/encoding.h"
#include "ruby/io.h"
#include "internal/stdbool.h"
#include "internal/bits.h"

#define LIKELY(x) RB_LIKELY(x)
#define UNLIKELY(x) RB_UNLIKELY(x)

#include "internal/compilers.h"
#include "internal/sanitizers.h"

#define numberof(array) ((int)(sizeof(array) / sizeof((array)[0])))

/* Prevent compiler from reordering access */
#define ACCESS_ONCE(type,x) (*((volatile type *)&(x)))

#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"

#endif /* RUBY_INTERNAL_H */