zscan 2.0.8 → 2.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. checksums.yaml +4 -4
  2. data/ext/pack/pack-27.c +1 -0
  3. data/ext/pack/pack.c +1 -0
  4. data/ext/pack/ruby/backward/2/assume.h +43 -0
  5. data/ext/pack/ruby/backward/2/attributes.h +157 -0
  6. data/ext/pack/ruby/backward/2/bool.h +37 -0
  7. data/ext/pack/ruby/backward/2/extern.h +46 -0
  8. data/ext/pack/ruby/backward/2/gcc_version_since.h +38 -0
  9. data/ext/pack/ruby/backward/2/inttypes.h +132 -0
  10. data/ext/pack/ruby/backward/2/limits.h +100 -0
  11. data/ext/pack/ruby/backward/2/long_long.h +65 -0
  12. data/ext/pack/ruby/backward/2/r_cast.h +27 -0
  13. data/ext/pack/ruby/backward/2/rmodule.h +31 -0
  14. data/ext/pack/ruby/backward/2/stdalign.h +30 -0
  15. data/ext/pack/ruby/backward/2/stdarg.h +47 -0
  16. data/ext/pack/ruby/backward/classext.h +25 -0
  17. data/ext/pack/ruby/backward/rubyio.h +18 -0
  18. data/ext/pack/ruby/backward/rubysig.h +26 -0
  19. data/ext/pack/ruby/backward/st.h +18 -0
  20. data/ext/pack/ruby/backward/util.h +18 -0
  21. data/ext/pack/ruby/internal/anyargs.h +375 -0
  22. data/ext/pack/ruby/internal/arithmetic.h +38 -0
  23. data/ext/pack/ruby/internal/arithmetic/char.h +58 -0
  24. data/ext/pack/ruby/internal/arithmetic/double.h +39 -0
  25. data/ext/pack/ruby/internal/arithmetic/fixnum.h +44 -0
  26. data/ext/pack/ruby/internal/arithmetic/gid_t.h +34 -0
  27. data/ext/pack/ruby/internal/arithmetic/int.h +163 -0
  28. data/ext/pack/ruby/internal/arithmetic/intptr_t.h +42 -0
  29. data/ext/pack/ruby/internal/arithmetic/long.h +244 -0
  30. data/ext/pack/ruby/internal/arithmetic/long_long.h +53 -0
  31. data/ext/pack/ruby/internal/arithmetic/mode_t.h +34 -0
  32. data/ext/pack/ruby/internal/arithmetic/off_t.h +49 -0
  33. data/ext/pack/ruby/internal/arithmetic/pid_t.h +34 -0
  34. data/ext/pack/ruby/internal/arithmetic/short.h +54 -0
  35. data/ext/pack/ruby/internal/arithmetic/size_t.h +51 -0
  36. data/ext/pack/ruby/internal/arithmetic/st_data_t.h +59 -0
  37. data/ext/pack/ruby/internal/arithmetic/uid_t.h +34 -0
  38. data/ext/pack/ruby/internal/assume.h +90 -0
  39. data/ext/pack/ruby/internal/attr/alloc_size.h +32 -0
  40. data/ext/pack/ruby/internal/attr/artificial.h +46 -0
  41. data/ext/pack/ruby/internal/attr/cold.h +37 -0
  42. data/ext/pack/ruby/internal/attr/const.h +46 -0
  43. data/ext/pack/ruby/internal/attr/constexpr.h +85 -0
  44. data/ext/pack/ruby/internal/attr/deprecated.h +59 -0
  45. data/ext/pack/ruby/internal/attr/diagnose_if.h +42 -0
  46. data/ext/pack/ruby/internal/attr/enum_extensibility.h +32 -0
  47. data/ext/pack/ruby/internal/attr/error.h +32 -0
  48. data/ext/pack/ruby/internal/attr/flag_enum.h +33 -0
  49. data/ext/pack/ruby/internal/attr/forceinline.h +40 -0
  50. data/ext/pack/ruby/internal/attr/format.h +38 -0
  51. data/ext/pack/ruby/internal/attr/maybe_unused.h +38 -0
  52. data/ext/pack/ruby/internal/attr/noalias.h +58 -0
  53. data/ext/pack/ruby/internal/attr/nodiscard.h +45 -0
  54. data/ext/pack/ruby/internal/attr/noexcept.h +91 -0
  55. data/ext/pack/ruby/internal/attr/noinline.h +35 -0
  56. data/ext/pack/ruby/internal/attr/nonnull.h +32 -0
  57. data/ext/pack/ruby/internal/attr/noreturn.h +48 -0
  58. data/ext/pack/ruby/internal/attr/pure.h +43 -0
  59. data/ext/pack/ruby/internal/attr/restrict.h +45 -0
  60. data/ext/pack/ruby/internal/attr/returns_nonnull.h +37 -0
  61. data/ext/pack/ruby/internal/attr/warning.h +32 -0
  62. data/ext/pack/ruby/internal/attr/weakref.h +32 -0
  63. data/ext/pack/ruby/internal/cast.h +53 -0
  64. data/ext/pack/ruby/internal/compiler_is.h +45 -0
  65. data/ext/pack/ruby/internal/compiler_is/apple.h +41 -0
  66. data/ext/pack/ruby/internal/compiler_is/clang.h +38 -0
  67. data/ext/pack/ruby/internal/compiler_is/gcc.h +46 -0
  68. data/ext/pack/ruby/internal/compiler_is/intel.h +41 -0
  69. data/ext/pack/ruby/internal/compiler_is/msvc.h +57 -0
  70. data/ext/pack/ruby/internal/compiler_is/sunpro.h +55 -0
  71. data/ext/pack/ruby/internal/compiler_since.h +61 -0
  72. data/ext/pack/ruby/internal/config.h +131 -0
  73. data/ext/pack/ruby/internal/constant_p.h +37 -0
  74. data/ext/pack/ruby/internal/core.h +35 -0
  75. data/ext/pack/ruby/internal/core/rarray.h +275 -0
  76. data/ext/pack/ruby/internal/core/rbasic.h +85 -0
  77. data/ext/pack/ruby/internal/core/rbignum.h +51 -0
  78. data/ext/pack/ruby/internal/core/rclass.h +47 -0
  79. data/ext/pack/ruby/internal/core/rdata.h +174 -0
  80. data/ext/pack/ruby/internal/core/rfile.h +36 -0
  81. data/ext/pack/ruby/internal/core/rhash.h +62 -0
  82. data/ext/pack/ruby/internal/core/rmatch.h +73 -0
  83. data/ext/pack/ruby/internal/core/robject.h +97 -0
  84. data/ext/pack/ruby/internal/core/rregexp.h +84 -0
  85. data/ext/pack/ruby/internal/core/rstring.h +215 -0
  86. data/ext/pack/ruby/internal/core/rstruct.h +73 -0
  87. data/ext/pack/ruby/internal/core/rtypeddata.h +184 -0
  88. data/ext/pack/ruby/internal/ctype.h +203 -0
  89. data/ext/pack/ruby/internal/dllexport.h +92 -0
  90. data/ext/pack/ruby/internal/dosish.h +63 -0
  91. data/ext/pack/ruby/internal/error.h +74 -0
  92. data/ext/pack/ruby/internal/eval.h +50 -0
  93. data/ext/pack/ruby/internal/event.h +75 -0
  94. data/ext/pack/ruby/internal/fl_type.h +469 -0
  95. data/ext/pack/ruby/internal/gc.h +35 -0
  96. data/ext/pack/ruby/internal/glob.h +35 -0
  97. data/ext/pack/ruby/internal/globals.h +159 -0
  98. data/ext/pack/ruby/internal/has/attribute.h +164 -0
  99. data/ext/pack/ruby/internal/has/builtin.h +105 -0
  100. data/ext/pack/ruby/internal/has/c_attribute.h +38 -0
  101. data/ext/pack/ruby/internal/has/cpp_attribute.h +79 -0
  102. data/ext/pack/ruby/internal/has/declspec_attribute.h +48 -0
  103. data/ext/pack/ruby/internal/has/extension.h +33 -0
  104. data/ext/pack/ruby/internal/has/feature.h +31 -0
  105. data/ext/pack/ruby/internal/has/warning.h +31 -0
  106. data/ext/pack/ruby/internal/intern/array.h +78 -0
  107. data/ext/pack/ruby/internal/intern/bignum.h +105 -0
  108. data/ext/pack/ruby/internal/intern/class.h +57 -0
  109. data/ext/pack/ruby/internal/intern/compar.h +34 -0
  110. data/ext/pack/ruby/internal/intern/complex.h +60 -0
  111. data/ext/pack/ruby/internal/intern/cont.h +40 -0
  112. data/ext/pack/ruby/internal/intern/dir.h +33 -0
  113. data/ext/pack/ruby/internal/intern/enum.h +33 -0
  114. data/ext/pack/ruby/internal/intern/enumerator.h +79 -0
  115. data/ext/pack/ruby/internal/intern/error.h +82 -0
  116. data/ext/pack/ruby/internal/intern/eval.h +59 -0
  117. data/ext/pack/ruby/internal/intern/file.h +44 -0
  118. data/ext/pack/ruby/internal/intern/gc.h +57 -0
  119. data/ext/pack/ruby/internal/intern/hash.h +59 -0
  120. data/ext/pack/ruby/internal/intern/io.h +70 -0
  121. data/ext/pack/ruby/internal/intern/load.h +39 -0
  122. data/ext/pack/ruby/internal/intern/marshal.h +35 -0
  123. data/ext/pack/ruby/internal/intern/numeric.h +42 -0
  124. data/ext/pack/ruby/internal/intern/object.h +90 -0
  125. data/ext/pack/ruby/internal/intern/parse.h +64 -0
  126. data/ext/pack/ruby/internal/intern/proc.h +53 -0
  127. data/ext/pack/ruby/internal/intern/process.h +46 -0
  128. data/ext/pack/ruby/internal/intern/random.h +45 -0
  129. data/ext/pack/ruby/internal/intern/range.h +35 -0
  130. data/ext/pack/ruby/internal/intern/rational.h +46 -0
  131. data/ext/pack/ruby/internal/intern/re.h +50 -0
  132. data/ext/pack/ruby/internal/intern/ruby.h +37 -0
  133. data/ext/pack/ruby/internal/intern/select.h +52 -0
  134. data/ext/pack/ruby/internal/intern/select/largesize.h +103 -0
  135. data/ext/pack/ruby/internal/intern/select/posix.h +82 -0
  136. data/ext/pack/ruby/internal/intern/select/win32.h +124 -0
  137. data/ext/pack/ruby/internal/intern/signal.h +40 -0
  138. data/ext/pack/ruby/internal/intern/sprintf.h +43 -0
  139. data/ext/pack/ruby/internal/intern/string.h +290 -0
  140. data/ext/pack/ruby/internal/intern/struct.h +47 -0
  141. data/ext/pack/ruby/internal/intern/thread.h +76 -0
  142. data/ext/pack/ruby/internal/intern/time.h +52 -0
  143. data/ext/pack/ruby/internal/intern/variable.h +83 -0
  144. data/ext/pack/ruby/internal/intern/vm.h +77 -0
  145. data/ext/pack/ruby/internal/interpreter.h +94 -0
  146. data/ext/pack/ruby/internal/iterator.h +65 -0
  147. data/ext/pack/ruby/internal/memory.h +286 -0
  148. data/ext/pack/ruby/internal/method.h +39 -0
  149. data/ext/pack/ruby/internal/module.h +39 -0
  150. data/ext/pack/ruby/internal/newobj.h +73 -0
  151. data/ext/pack/ruby/internal/rgengc.h +199 -0
  152. data/ext/pack/ruby/internal/scan_args.h +394 -0
  153. data/ext/pack/ruby/internal/special_consts.h +204 -0
  154. data/ext/pack/ruby/internal/static_assert.h +77 -0
  155. data/ext/pack/ruby/internal/stdalign.h +124 -0
  156. data/ext/pack/ruby/internal/stdbool.h +51 -0
  157. data/ext/pack/ruby/internal/symbol.h +114 -0
  158. data/ext/pack/ruby/internal/token_paste.h +75 -0
  159. data/ext/pack/ruby/internal/value.h +66 -0
  160. data/ext/pack/ruby/internal/value_type.h +354 -0
  161. data/ext/pack/ruby/internal/variable.h +62 -0
  162. data/ext/pack/ruby/internal/warning_push.h +91 -0
  163. data/ext/pack/ruby/internal/xmalloc.h +201 -0
  164. data/lib/zscan.rb +1 -1
  165. data/readme.md +2 -0
  166. data/zscan.gemspec +1 -1
  167. metadata +162 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6638cc0c739974d5c71f256ab567118d8cb39d75f82337affbb52c2edabf6c9f
4
- data.tar.gz: f2fc6e3d8f19849ef56b6c73d10118b6625b31782f050764ae995a213f29304f
3
+ metadata.gz: 3894d3f7d0ead9fcf41188af7cc4b8ba3d5c7c130c3cbaf2279d7290aca00ec3
4
+ data.tar.gz: c3b2fae78cb9a1c04065dbdaa423337c3671aeb99b7795a3af9ce9eac29122e8
5
5
  SHA512:
6
- metadata.gz: 2cff4d9844034deb606fb61d56482044ff205174cf5a57ace3f5dfc08a9b94f1d590f229d4950e00f7a669d7592a44b06546cd5d69fba7bb5c4f9a097203657d
7
- data.tar.gz: c100c710744ec695b6aa179f811e85e59755bad0779da65ba76bff099ae1e81578ae47c86c15a3dbfad9b1f35156353a6c11f2263e12cb495357c95bde306857
6
+ metadata.gz: 40508f68fd13aba0efea341a630c810948165fbfad0d9102cc202394e0812cabf47f991d1f6bd24bd498311ff09dd001ae358ab51a3b0467fdd70153d2a97d66
7
+ data.tar.gz: d8bceb00cf89b24276c96f780edec48b37875ee68e0c6d4de319dafa4d6e0fb636ca4cbfae9b935541e9ac9682edb507393d6da858f92d56ed746771e86c2dec
@@ -14,6 +14,7 @@
14
14
  #include <float.h>
15
15
  #include <sys/types.h>
16
16
 
17
+ #include <ruby/encoding.h>
17
18
  #include "internal.h"
18
19
  #include "internal/bits.h"
19
20
  #include "internal/string.h"
@@ -14,6 +14,7 @@
14
14
  #include <float.h>
15
15
  #include <sys/types.h>
16
16
 
17
+ #include <ruby/encoding.h>
17
18
  #include "internal.h"
18
19
  #include "internal/bits.h"
19
20
  #include "internal/string.h"
@@ -0,0 +1,43 @@
1
+ #ifndef RUBY_BACKWARD2_ASSUME_H /*-*-C++-*-vi:se ft=cpp:*/
2
+ #define RUBY_BACKWARD2_ASSUME_H
3
+ /**
4
+ * @file
5
+ * @author Ruby developers <ruby-core@ruby-lang.org>
6
+ * @copyright This file is a part of the programming language Ruby.
7
+ * Permission is hereby granted, to either redistribute and/or
8
+ * modify this file, provided that the conditions mentioned in the
9
+ * file COPYING are met. Consult the file for details.
10
+ * @warning Symbols prefixed with either `RBIMPL` or `rbimpl` are
11
+ * implementation details. Don't take them as canon. They could
12
+ * rapidly appear then vanish. The name (path) of this header file
13
+ * is also an implementation detail. Do not expect it to persist
14
+ * at the place it is now. Developers are free to move it anywhere
15
+ * anytime at will.
16
+ * @note To ruby-core: remember that this header can be possibly
17
+ * recursively included from extension libraries written in C++.
18
+ * Do not expect for instance `__VA_ARGS__` is always available.
19
+ * We assume C99 for ruby itself but we don't assume languages of
20
+ * extension libraries. They could be written in C++98.
21
+ * @brief Defines #ASSUME / #RB_LIKELY / #UNREACHABLE
22
+ */
23
+ #include "ruby/internal/config.h"
24
+ #include "ruby/internal/assume.h"
25
+ #include "ruby/internal/has/builtin.h"
26
+
27
+ #undef ASSUME /* Kill config.h definition */
28
+ #undef UNREACHABLE /* Kill config.h definition */
29
+ #define ASSUME RBIMPL_ASSUME
30
+ #define UNREACHABLE RBIMPL_UNREACHABLE()
31
+ #define UNREACHABLE_RETURN RBIMPL_UNREACHABLE_RETURN
32
+
33
+ /* likely */
34
+ #if RBIMPL_HAS_BUILTIN(__builtin_expect)
35
+ # define RB_LIKELY(x) (__builtin_expect(!!(x), 1))
36
+ # define RB_UNLIKELY(x) (__builtin_expect(!!(x), 0))
37
+
38
+ #else
39
+ # define RB_LIKELY(x) (x)
40
+ # define RB_UNLIKELY(x) (x)
41
+ #endif
42
+
43
+ #endif /* RUBY_BACKWARD2_ASSUME_H */
@@ -0,0 +1,157 @@
1
+ #ifndef RUBY_BACKWARD2_ATTRIBUTES_H /*-*-C++-*-vi:se ft=cpp:*/
2
+ #define RUBY_BACKWARD2_ATTRIBUTES_H
3
+ /**
4
+ * @file
5
+ * @author Ruby developers <ruby-core@ruby-lang.org>
6
+ * @copyright This file is a part of the programming language Ruby.
7
+ * Permission is hereby granted, to either redistribute and/or
8
+ * modify this file, provided that the conditions mentioned in the
9
+ * file COPYING are met. Consult the file for details.
10
+ * @warning Symbols prefixed with either `RBIMPL` or `rbimpl` are
11
+ * implementation details. Don't take them as canon. They could
12
+ * rapidly appear then vanish. The name (path) of this header file
13
+ * is also an implementation detail. Do not expect it to persist
14
+ * at the place it is now. Developers are free to move it anywhere
15
+ * anytime at will.
16
+ * @note To ruby-core: remember that this header can be possibly
17
+ * recursively included from extension libraries written in C++.
18
+ * Do not expect for instance `__VA_ARGS__` is always available.
19
+ * We assume C99 for ruby itself but we don't assume languages of
20
+ * extension libraries. They could be written in C++98.
21
+ * @brief Various attribute-related macros.
22
+ *
23
+ * ### Q&A ###
24
+ *
25
+ * - Q: Why are the macros defined in this header file so inconsistent in
26
+ * style?
27
+ *
28
+ * - A: Don't know. Don't blame me. Backward compatibility is the key here.
29
+ * I'm just preserving what they have been.
30
+ */
31
+ #include "ruby/internal/config.h"
32
+ #include "ruby/internal/attr/alloc_size.h"
33
+ #include "ruby/internal/attr/cold.h"
34
+ #include "ruby/internal/attr/const.h"
35
+ #include "ruby/internal/attr/deprecated.h"
36
+ #include "ruby/internal/attr/error.h"
37
+ #include "ruby/internal/attr/forceinline.h"
38
+ #include "ruby/internal/attr/format.h"
39
+ #include "ruby/internal/attr/maybe_unused.h"
40
+ #include "ruby/internal/attr/noinline.h"
41
+ #include "ruby/internal/attr/nonnull.h"
42
+ #include "ruby/internal/attr/noreturn.h"
43
+ #include "ruby/internal/attr/pure.h"
44
+ #include "ruby/internal/attr/restrict.h"
45
+ #include "ruby/internal/attr/returns_nonnull.h"
46
+ #include "ruby/internal/attr/warning.h"
47
+ #include "ruby/internal/has/attribute.h"
48
+
49
+ /* function attributes */
50
+ #undef CONSTFUNC
51
+ #define CONSTFUNC(x) RBIMPL_ATTR_CONST() x
52
+
53
+ #undef PUREFUNC
54
+ #define PUREFUNC(x) RBIMPL_ATTR_PURE() x
55
+
56
+ #undef DEPRECATED
57
+ #define DEPRECATED(x) RBIMPL_ATTR_DEPRECATED(("")) x
58
+
59
+ #undef DEPRECATED_BY
60
+ #define DEPRECATED_BY(n,x) RBIMPL_ATTR_DEPRECATED(("by: " # n)) x
61
+
62
+ #undef DEPRECATED_TYPE
63
+ #define DEPRECATED_TYPE(mseg, decl) decl RBIMPL_ATTR_DEPRECATED(mseg)
64
+
65
+ #undef RUBY_CXX_DEPRECATED
66
+ #define RUBY_CXX_DEPRECATED(mseg) RBIMPL_ATTR_DEPRECATED((mseg))
67
+
68
+ #undef NOINLINE
69
+ #define NOINLINE(x) RBIMPL_ATTR_NOINLINE() x
70
+
71
+ #ifndef MJIT_HEADER
72
+ # undef ALWAYS_INLINE
73
+ # define ALWAYS_INLINE(x) RBIMPL_ATTR_FORCEINLINE() x
74
+ #endif
75
+
76
+ #undef ERRORFUNC
77
+ #define ERRORFUNC(mesg, x) RBIMPL_ATTR_ERROR(mesg) x
78
+ #if RBIMPL_HAS_ATTRIBUTE(error)
79
+ # define HAVE_ATTRIBUTE_ERRORFUNC 1
80
+ #else
81
+ # define HAVE_ATTRIBUTE_ERRORFUNC 0
82
+ #endif
83
+
84
+ #undef WARNINGFUNC
85
+ #define WARNINGFUNC(mesg, x) RBIMPL_ATTR_WARNING(mesg) x
86
+ #if RBIMPL_HAS_ATTRIBUTE(warning)
87
+ # define HAVE_ATTRIBUTE_WARNINGFUNC 1
88
+ #else
89
+ # define HAVE_ATTRIBUTE_WARNINGFUNC 0
90
+ #endif
91
+
92
+ /*
93
+ cold attribute for code layout improvements
94
+ RUBY_FUNC_ATTRIBUTE not used because MSVC does not like nested func macros
95
+ */
96
+ #undef COLDFUNC
97
+ #define COLDFUNC RBIMPL_ATTR_COLD()
98
+
99
+ #define PRINTF_ARGS(decl, string_index, first_to_check) \
100
+ RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, (string_index), (first_to_check)) \
101
+ decl
102
+
103
+ #undef RUBY_ATTR_ALLOC_SIZE
104
+ #define RUBY_ATTR_ALLOC_SIZE RBIMPL_ATTR_ALLOC_SIZE
105
+
106
+ #undef RUBY_ATTR_MALLOC
107
+ #define RUBY_ATTR_MALLOC RBIMPL_ATTR_RESTRICT()
108
+
109
+ #undef RUBY_ATTR_RETURNS_NONNULL
110
+ #define RUBY_ATTR_RETURNS_NONNULL RBIMPL_ATTR_RETURNS_NONNULL()
111
+
112
+ #ifndef FUNC_MINIMIZED
113
+ #define FUNC_MINIMIZED(x) x
114
+ #endif
115
+
116
+ #ifndef FUNC_UNOPTIMIZED
117
+ #define FUNC_UNOPTIMIZED(x) x
118
+ #endif
119
+
120
+ #ifndef RUBY_ALIAS_FUNCTION_TYPE
121
+ #define RUBY_ALIAS_FUNCTION_TYPE(type, prot, name, args) \
122
+ FUNC_MINIMIZED(type prot) {return (type)name args;}
123
+ #endif
124
+
125
+ #ifndef RUBY_ALIAS_FUNCTION_VOID
126
+ #define RUBY_ALIAS_FUNCTION_VOID(prot, name, args) \
127
+ FUNC_MINIMIZED(void prot) {name args;}
128
+ #endif
129
+
130
+ #ifndef RUBY_ALIAS_FUNCTION
131
+ #define RUBY_ALIAS_FUNCTION(prot, name, args) \
132
+ RUBY_ALIAS_FUNCTION_TYPE(VALUE, prot, name, args)
133
+ #endif
134
+
135
+ #undef RUBY_FUNC_NONNULL
136
+ #define RUBY_FUNC_NONNULL(n, x) RBIMPL_ATTR_NONNULL(n) x
137
+
138
+ #undef NORETURN
139
+ #define NORETURN(x) RBIMPL_ATTR_NORETURN() x
140
+ #define NORETURN_STYLE_NEW
141
+
142
+ #ifndef PACKED_STRUCT
143
+ # define PACKED_STRUCT(x) x
144
+ #endif
145
+
146
+ #ifndef PACKED_STRUCT_UNALIGNED
147
+ # if UNALIGNED_WORD_ACCESS
148
+ # define PACKED_STRUCT_UNALIGNED(x) PACKED_STRUCT(x)
149
+ # else
150
+ # define PACKED_STRUCT_UNALIGNED(x) x
151
+ # endif
152
+ #endif
153
+
154
+ #undef RB_UNUSED_VAR
155
+ #define RB_UNUSED_VAR(x) x RBIMPL_ATTR_MAYBE_UNUSED()
156
+
157
+ #endif /* RUBY_BACKWARD2_ATTRIBUTES_H */
@@ -0,0 +1,37 @@
1
+ #ifndef RUBY_BACKWARD2_BOOL_H /*-*-C++-*-vi:se ft=cpp:*/
2
+ #define RUBY_BACKWARD2_BOOL_H
3
+ /**
4
+ * @file
5
+ * @author Ruby developers <ruby-core@ruby-lang.org>
6
+ * @copyright This file is a part of the programming language Ruby.
7
+ * Permission is hereby granted, to either redistribute and/or
8
+ * modify this file, provided that the conditions mentioned in the
9
+ * file COPYING are met. Consult the file for details.
10
+ * @warning Symbols prefixed with either `RBIMPL` or `rbimpl` are
11
+ * implementation details. Don't take them as canon. They could
12
+ * rapidly appear then vanish. The name (path) of this header file
13
+ * is also an implementation detail. Do not expect it to persist
14
+ * at the place it is now. Developers are free to move it anywhere
15
+ * anytime at will.
16
+ * @note To ruby-core: remember that this header can be possibly
17
+ * recursively included from extension libraries written in C++.
18
+ * Do not expect for instance `__VA_ARGS__` is always available.
19
+ * We assume C99 for ruby itself but we don't assume languages of
20
+ * extension libraries. They could be written in C++98.
21
+ * @brief Defines old #TRUE / #FALSE
22
+ */
23
+ #include "ruby/internal/stdbool.h"
24
+
25
+ #ifndef FALSE
26
+ # define FALSE false
27
+ #elif FALSE
28
+ # error FALSE must be false
29
+ #endif
30
+
31
+ #ifndef TRUE
32
+ # define TRUE true
33
+ #elif ! TRUE
34
+ # error TRUE must be true
35
+ #endif
36
+
37
+ #endif /* RUBY_BACKWARD2_BOOL_H */
@@ -0,0 +1,46 @@
1
+ #ifndef RUBY_BACKWARD2_EXTERN_H /*-*-C++-*-vi:se ft=cpp:*/
2
+ #define RUBY_BACKWARD2_EXTERN_H
3
+ /**
4
+ * @file
5
+ * @author Ruby developers <ruby-core@ruby-lang.org>
6
+ * @copyright This file is a part of the programming language Ruby.
7
+ * Permission is hereby granted, to either redistribute and/or
8
+ * modify this file, provided that the conditions mentioned in the
9
+ * file COPYING are met. Consult the file for details.
10
+ * @warning Symbols prefixed with either `RBIMPL` or `rbimpl` are
11
+ * implementation details. Don't take them as canon. They could
12
+ * rapidly appear then vanish. The name (path) of this header file
13
+ * is also an implementation detail. Do not expect it to persist
14
+ * at the place it is now. Developers are free to move it anywhere
15
+ * anytime at will.
16
+ * @note To ruby-core: remember that this header can be possibly
17
+ * recursively included from extension libraries written in C++.
18
+ * Do not expect for instance `__VA_ARGS__` is always available.
19
+ * We assume C99 for ruby itself but we don't assume languages of
20
+ * extension libraries. They could be written in C++98.
21
+ * @brief Defines old #EXTERN
22
+ */
23
+ #include "ruby/internal/config.h" /* for STRINGIZE */
24
+
25
+ /**
26
+ * @brief Synonym of #RUBY_EXTERN.
27
+ * @deprecated #EXTERN is deprecated, use #RUBY_EXTERN instead.
28
+ */
29
+ #if defined __GNUC__
30
+ # define EXTERN \
31
+ _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
32
+ RUBY_EXTERN
33
+
34
+ #elif defined _MSC_VER
35
+ # pragma deprecated(EXTERN)
36
+ # define EXTERN \
37
+ __pragma(message(__FILE__"("STRINGIZE(__LINE__)"): warning: " \
38
+ "EXTERN is deprecated, use RUBY_EXTERN instead")) \
39
+ RUBY_EXTERN
40
+
41
+ #else
42
+ # define EXTERN <-<-"EXTERN is deprecated, use RUBY_EXTERN instead"->->
43
+
44
+ #endif
45
+
46
+ #endif /* RUBY_BACKWARD2_EXTERN_H */
@@ -0,0 +1,38 @@
1
+ #ifndef RUBY_BACKWARD2_GCC_VERSION_SINCE_H /*-*-C++-*-vi:se ft=cpp:*/
2
+ #define RUBY_BACKWARD2_GCC_VERSION_SINCE_H
3
+ /**
4
+ * @file
5
+ * @author Ruby developers <ruby-core@ruby-lang.org>
6
+ * @copyright This file is a part of the programming language Ruby.
7
+ * Permission is hereby granted, to either redistribute and/or
8
+ * modify this file, provided that the conditions mentioned in the
9
+ * file COPYING are met. Consult the file for details.
10
+ * @warning Symbols prefixed with either `RBIMPL` or `rbimpl` are
11
+ * implementation details. Don't take them as canon. They could
12
+ * rapidly appear then vanish. The name (path) of this header file
13
+ * is also an implementation detail. Do not expect it to persist
14
+ * at the place it is now. Developers are free to move it anywhere
15
+ * anytime at will.
16
+ * @note To ruby-core: remember that this header can be possibly
17
+ * recursively included from extension libraries written in C++.
18
+ * Do not expect for instance `__VA_ARGS__` is always available.
19
+ * We assume C99 for ruby itself but we don't assume languages of
20
+ * extension libraries. They could be written in C++98.
21
+ * @brief Defines old #GCC_VERSION_SINCE
22
+ */
23
+ #include "ruby/internal/compiler_since.h"
24
+
25
+ #ifndef GCC_VERSION_SINCE
26
+ #define GCC_VERSION_SINCE(x, y, z) RBIMPL_COMPILER_SINCE(GCC, (x), (y), (z))
27
+ #endif
28
+
29
+ #ifndef GCC_VERSION_BEFORE
30
+ #define GCC_VERSION_BEFORE(x, y, z) \
31
+ (RBIMPL_COMPILER_BEFORE(GCC, (x), (y), (z)) || \
32
+ (RBIMPL_COMPILER_IS(GCC) && \
33
+ ((RBIMPL_COMPILER_VERSION_MAJOR == (x)) && \
34
+ ((RBIMPL_COMPILER_VERSION_MINOR == (y)) && \
35
+ (RBIMPL_COMPILER_VERSION_PATCH == (z))))))
36
+ #endif
37
+
38
+ #endif /* RUBY_BACKWARD2_GCC_VERSION_SINCE_H */
@@ -0,0 +1,132 @@
1
+ #ifndef RUBY_BACKWARD2_INTTYPES_H /*-*-C++-*-vi:se ft=cpp:*/
2
+ #define RUBY_BACKWARD2_INTTYPES_H
3
+ /**
4
+ * @file
5
+ * @author Ruby developers <ruby-core@ruby-lang.org>
6
+ * @copyright This file is a part of the programming language Ruby.
7
+ * Permission is hereby granted, to either redistribute and/or
8
+ * modify this file, provided that the conditions mentioned in the
9
+ * file COPYING are met. Consult the file for details.
10
+ * @warning Symbols prefixed with either `RBIMPL` or `rbimpl` are
11
+ * implementation details. Don't take them as canon. They could
12
+ * rapidly appear then vanish. The name (path) of this header file
13
+ * is also an implementation detail. Do not expect it to persist
14
+ * at the place it is now. Developers are free to move it anywhere
15
+ * anytime at will.
16
+ * @note To ruby-core: remember that this header can be possibly
17
+ * recursively included from extension libraries written in C++.
18
+ * Do not expect for instance `__VA_ARGS__` is always available.
19
+ * We assume C99 for ruby itself but we don't assume languages of
20
+ * extension libraries. They could be written in C++98.
21
+ * @brief C99 shim for `<inttypes.h>`
22
+ */
23
+ #include "ruby/internal/config.h" /* PRI_LL_PREFIX etc. are here */
24
+
25
+ #ifdef HAVE_INTTYPES_H
26
+ # include <inttypes.h>
27
+ #endif
28
+
29
+ #include "ruby/internal/value.h" /* PRI_VALUE_PREFIX is here. */
30
+
31
+ #ifndef PRI_INT_PREFIX
32
+ # define PRI_INT_PREFIX ""
33
+ #endif
34
+
35
+ #ifndef PRI_LONG_PREFIX
36
+ # define PRI_LONG_PREFIX "l"
37
+ #endif
38
+
39
+ #ifndef PRI_SHORT_PREFIX
40
+ # define PRI_SHORT_PREFIX "h"
41
+ #endif
42
+
43
+ #ifdef PRI_64_PREFIX
44
+ # /* Take that. */
45
+ #elif SIZEOF_LONG == 8
46
+ # define PRI_64_PREFIX PRI_LONG_PREFIX
47
+ #elif SIZEOF_LONG_LONG == 8
48
+ # define PRI_64_PREFIX PRI_LL_PREFIX
49
+ #endif
50
+
51
+ #ifndef PRIdPTR
52
+ # define PRIdPTR PRI_PTR_PREFIX"d"
53
+ # define PRIiPTR PRI_PTR_PREFIX"i"
54
+ # define PRIoPTR PRI_PTR_PREFIX"o"
55
+ # define PRIuPTR PRI_PTR_PREFIX"u"
56
+ # define PRIxPTR PRI_PTR_PREFIX"x"
57
+ # define PRIXPTR PRI_PTR_PREFIX"X"
58
+ #endif
59
+
60
+ #ifndef RUBY_PRI_VALUE_MARK
61
+ # define RUBY_PRI_VALUE_MARK "\v"
62
+ #endif
63
+
64
+ #if defined PRIdPTR && !defined PRI_VALUE_PREFIX
65
+ # define PRIdVALUE PRIdPTR
66
+ # define PRIoVALUE PRIoPTR
67
+ # define PRIuVALUE PRIuPTR
68
+ # define PRIxVALUE PRIxPTR
69
+ # define PRIXVALUE PRIXPTR
70
+ # define PRIsVALUE PRIiPTR"" RUBY_PRI_VALUE_MARK
71
+ #else
72
+ # define PRIdVALUE PRI_VALUE_PREFIX"d"
73
+ # define PRIoVALUE PRI_VALUE_PREFIX"o"
74
+ # define PRIuVALUE PRI_VALUE_PREFIX"u"
75
+ # define PRIxVALUE PRI_VALUE_PREFIX"x"
76
+ # define PRIXVALUE PRI_VALUE_PREFIX"X"
77
+ # define PRIsVALUE PRI_VALUE_PREFIX"i" RUBY_PRI_VALUE_MARK
78
+ #endif
79
+
80
+ #ifndef PRI_VALUE_PREFIX
81
+ # define PRI_VALUE_PREFIX ""
82
+ #endif
83
+
84
+ #ifdef PRI_TIMET_PREFIX
85
+ # /* Take that. */
86
+ #elif SIZEOF_TIME_T == SIZEOF_INT
87
+ # define PRI_TIMET_PREFIX
88
+ #elif SIZEOF_TIME_T == SIZEOF_LONG
89
+ # define PRI_TIMET_PREFIX "l"
90
+ #elif SIZEOF_TIME_T == SIZEOF_LONG_LONG
91
+ # define PRI_TIMET_PREFIX PRI_LL_PREFIX
92
+ #endif
93
+
94
+ #ifdef PRI_PTRDIFF_PREFIX
95
+ # /* Take that. */
96
+ #elif SIZEOF_PTRDIFF_T == SIZEOF_INT
97
+ # define PRI_PTRDIFF_PREFIX ""
98
+ #elif SIZEOF_PTRDIFF_T == SIZEOF_LONG
99
+ # define PRI_PTRDIFF_PREFIX "l"
100
+ #elif SIZEOF_PTRDIFF_T == SIZEOF_LONG_LONG
101
+ # define PRI_PTRDIFF_PREFIX PRI_LL_PREFIX
102
+ #endif
103
+
104
+ #ifndef PRIdPTRDIFF
105
+ # define PRIdPTRDIFF PRI_PTRDIFF_PREFIX"d"
106
+ # define PRIiPTRDIFF PRI_PTRDIFF_PREFIX"i"
107
+ # define PRIoPTRDIFF PRI_PTRDIFF_PREFIX"o"
108
+ # define PRIuPTRDIFF PRI_PTRDIFF_PREFIX"u"
109
+ # define PRIxPTRDIFF PRI_PTRDIFF_PREFIX"x"
110
+ # define PRIXPTRDIFF PRI_PTRDIFF_PREFIX"X"
111
+ #endif
112
+
113
+ #ifdef PRI_SIZE_PREFIX
114
+ # /* Take that. */
115
+ #elif SIZEOF_SIZE_T == SIZEOF_INT
116
+ # define PRI_SIZE_PREFIX ""
117
+ #elif SIZEOF_SIZE_T == SIZEOF_LONG
118
+ # define PRI_SIZE_PREFIX "l"
119
+ #elif SIZEOF_SIZE_T == SIZEOF_LONG_LONG
120
+ # define PRI_SIZE_PREFIX PRI_LL_PREFIX
121
+ #endif
122
+
123
+ #ifndef PRIdSIZE
124
+ # define PRIdSIZE PRI_SIZE_PREFIX"d"
125
+ # define PRIiSIZE PRI_SIZE_PREFIX"i"
126
+ # define PRIoSIZE PRI_SIZE_PREFIX"o"
127
+ # define PRIuSIZE PRI_SIZE_PREFIX"u"
128
+ # define PRIxSIZE PRI_SIZE_PREFIX"x"
129
+ # define PRIXSIZE PRI_SIZE_PREFIX"X"
130
+ #endif
131
+
132
+ #endif /* RUBY_BACKWARD2_INTTYPES_H */