Skip to content

Commit 1ca8d78

Browse files
committed
Adapt to upstream Fiddle changes
1 parent 2ce1822 commit 1ca8d78

File tree

1 file changed

+49
-19
lines changed

1 file changed

+49
-19
lines changed

lib/truffle/truffle/fiddle_backend.rb

Lines changed: 49 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def self.type_to_nfi(type)
6868
def self.type_from_config(type)
6969
case type
7070
when 'long'
71-
Fiddle::TYPE_LONG
71+
Fiddle::Types::LONG
7272
else
7373
raise NotImplementedError, "integer #{type} not known"
7474
end
@@ -130,15 +130,39 @@ module Fiddle
130130
class DLError < StandardError
131131
end
132132

133-
TYPE_VOID = 0
134-
TYPE_VOIDP = 1
135-
TYPE_CHAR = 2
136-
TYPE_SHORT = 3
137-
TYPE_INT = 4
138-
TYPE_LONG = 5
139-
TYPE_LONG_LONG = 6
140-
TYPE_FLOAT = 7
141-
TYPE_DOUBLE = 8
133+
module Types
134+
VOID = 0
135+
VOIDP = 1
136+
CHAR = 2
137+
SHORT = 3
138+
INT = 4
139+
LONG = 5
140+
LONG_LONG = 6
141+
FLOAT = 7
142+
DOUBLE = 8
143+
144+
UCHAR = -CHAR
145+
USHORT = -SHORT
146+
UINT = -INT
147+
ULONG = -LONG
148+
ULONG_LONG = -LONG_LONG
149+
150+
INT8_T = CHAR
151+
INT16_T = SHORT
152+
INT32_T = INT
153+
INT64_T = LONG
154+
155+
UINT8_T = -INT8_T
156+
UINT16_T = -INT16_T
157+
UINT32_T = -INT32_T
158+
UINT64_T = -INT64_T
159+
160+
SSIZE_T = Truffle::FiddleBackend.type_from_config(Truffle::Config.lookup('platform.typedef.ssize_t'))
161+
SIZE_T = -1 * Truffle::FiddleBackend::SIGNEDNESS_OF_SIZE_T * SSIZE_T
162+
PTRDIFF_T = Truffle::FiddleBackend.type_from_config(Truffle::Config.lookup('platform.typedef.ptrdiff_t'))
163+
INTPTR_T = Truffle::FiddleBackend.type_from_config(Truffle::Config.lookup('platform.typedef.intptr_t'))
164+
UINTPTR_T = -INTPTR_T
165+
end
142166

143167
SIZEOF_VOIDP = Primitive.pointer_find_type_size(:pointer)
144168
SIZEOF_CHAR = Primitive.pointer_find_type_size(:char)
@@ -149,21 +173,21 @@ class DLError < StandardError
149173
SIZEOF_FLOAT = Primitive.pointer_find_type_size(:float)
150174
SIZEOF_DOUBLE = Primitive.pointer_find_type_size(:double)
151175

152-
TYPE_INT8_T = TYPE_CHAR
153-
TYPE_INT16_T = TYPE_SHORT
154-
TYPE_INT32_T = TYPE_INT
155-
TYPE_INT64_T = TYPE_LONG
176+
SIZEOF_UCHAR = SIZEOF_CHAR
177+
SIZEOF_USHORT = SIZEOF_SHORT
178+
SIZEOF_UINT = SIZEOF_INT
179+
SIZEOF_ULONG = SIZEOF_LONG
180+
SIZEOF_ULONG_LONG = SIZEOF_LONG_LONG
156181

157182
SIZEOF_INT8_T = 1
158183
SIZEOF_INT16_T = 2
159184
SIZEOF_INT32_T = 4
160185
SIZEOF_INT64_T = 8
161186

162-
TYPE_SSIZE_T = Truffle::FiddleBackend.type_from_config(Truffle::Config.lookup('platform.typedef.ssize_t'))
163-
TYPE_SIZE_T = -1 * Truffle::FiddleBackend::SIGNEDNESS_OF_SIZE_T * TYPE_SSIZE_T
164-
TYPE_PTRDIFF_T = Truffle::FiddleBackend.type_from_config(Truffle::Config.lookup('platform.typedef.ptrdiff_t'))
165-
TYPE_INTPTR_T = Truffle::FiddleBackend.type_from_config(Truffle::Config.lookup('platform.typedef.intptr_t'))
166-
TYPE_UINTPTR_T = -TYPE_INTPTR_T
187+
SIZEOF_UINT8_T = 1
188+
SIZEOF_UINT16_T = 2
189+
SIZEOF_UINT32_T = 4
190+
SIZEOF_UINT64_T = 8
167191

168192
SIZEOF_SSIZE_T = Primitive.pointer_find_type_size(:ssize_t)
169193
SIZEOF_SIZE_T = Primitive.pointer_find_type_size(:size_t)
@@ -181,6 +205,12 @@ class DLError < StandardError
181205
ALIGN_LONG_LONG = SIZEOF_LONG_LONG
182206
ALIGN_FLOAT = SIZEOF_FLOAT
183207
ALIGN_DOUBLE = SIZEOF_DOUBLE
208+
209+
ALIGN_INT8_T = SIZEOF_INT8_T
210+
ALIGN_INT16_T = SIZEOF_INT16_T
211+
ALIGN_INT32_T = SIZEOF_INT32_T
212+
ALIGN_INT64_T = SIZEOF_INT64_T
213+
184214
ALIGN_SIZE_T = SIZEOF_SIZE_T
185215
ALIGN_SSIZE_T = SIZEOF_SSIZE_T
186216
ALIGN_PTRDIFF_T = SIZEOF_PTRDIFF_T

0 commit comments

Comments
 (0)