Skip to content

Commit 7e42919

Browse files
authored
Merge pull request #217 from Watson1978/fix-ci-failure
Fix CI failures and improve Ruby 3.3 support
2 parents 8ddb728 + 9bd4c9f commit 7e42919

File tree

6 files changed

+14
-14
lines changed

6 files changed

+14
-14
lines changed

.github/workflows/build.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,17 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
os: [ubuntu-latest, macos-11, windows-2022]
13-
ruby: [ '2.5', '2.6', '2.7', '3.0', '3.1', head]
13+
ruby: [ '2.5', '2.6', '2.7', '3.0', '3.1', '3.2', '3.3', head]
1414
include:
1515
- { os: windows-2022 , ruby: mswin }
1616
steps:
17-
- uses: actions/checkout@v2
17+
- uses: actions/checkout@v4
1818
- name: Set up Ruby ${{ matrix.ruby }}
1919
uses: ruby/setup-ruby@v1
2020
with:
2121
ruby-version: ${{ matrix.ruby }}
2222
- name: Build and Install
2323
run: |
24-
gem install --no-document bundler
2524
gem build numo-narray.gemspec
2625
gem install numo-narray-*.gem
2726
bundle install
@@ -37,14 +36,13 @@ jobs:
3736
matrix:
3837
ruby: [ 'debug' ]
3938
steps:
40-
- uses: actions/checkout@v2
39+
- uses: actions/checkout@v4
4140
- name: Set up Ruby ${{ matrix.ruby }}
4241
uses: ruby/setup-ruby@v1
4342
with:
4443
ruby-version: ${{ matrix.ruby }}
4544
- name: Build and Install
4645
run: |
47-
gem install --no-document bundler
4846
gem build numo-narray.gemspec
4947
gem install numo-narray-*.gem
5048
bundle install

ext/numo/narray/extconf.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ def d(file)
8888
end
8989
have_func("exp10")
9090
have_func("rb_arithmetic_sequence_extract")
91+
have_func("RTYPEDDATA_GET_DATA")
9192

9293
have_var("rb_cComplex")
9394

ext/numo/narray/index.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ na_parse_enumerator_step(VALUE enum_obj, VALUE *pstep )
272272
if (!RB_TYPE_P(enum_obj, T_DATA)) {
273273
rb_raise(rb_eTypeError,"wrong argument type (not T_DATA)");
274274
}
275-
e = (struct enumerator *)DATA_PTR(enum_obj);
275+
e = RENUMERATOR_PTR(enum_obj);
276276

277277
if (!rb_obj_is_kind_of(e->obj, rb_cRange)) {
278278
rb_raise(rb_eTypeError,"not Range object");
@@ -306,7 +306,7 @@ na_parse_enumerator(VALUE enum_obj, int orig_dim, ssize_t size, na_index_arg_t *
306306
rb_raise(rb_eTypeError,"wrong argument type (not T_DATA)");
307307
}
308308
na_parse_enumerator_step(enum_obj, &step);
309-
e = (struct enumerator *)DATA_PTR(enum_obj);
309+
e = RENUMERATOR_PTR(enum_obj);
310310
na_parse_range(e->obj, NUM2SSIZET(step), orig_dim, size, q); // e->obj : Range Object
311311
}
312312

ext/numo/narray/numo/narray.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,12 @@ _na_get_narray_t(VALUE obj, unsigned char na_type)
301301
#define RNARRAY_VIEW(val) ((narray_view_t*)DATA_PTR(val))
302302
#define RNARRAY_FILEMAP(val) ((narray_filemap_t*)DATA_PTR(val))
303303

304+
#ifdef HAVE_RTYPEDDATA_GET_DATA
305+
#define RENUMERATOR_PTR(ptr) ((struct enumerator *)RTYPEDDATA_GET_DATA(ptr))
306+
#else
307+
#define RENUMERATOR_PTR(ptr) ((struct enumerator *)DATA_PTR(ptr))
308+
#endif
309+
304310
#define RNARRAY_NDIM(val) (RNARRAY(val)->ndim)
305311
#define RNARRAY_TYPE(val) (RNARRAY(val)->type)
306312
#define RNARRAY_FLAG(val) (RNARRAY(val)->flag)

ext/numo/narray/step.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ nary_step_array_index(VALUE obj, size_t ary_size,
6060
vstep = rb_ivar_get(obj, id_step);
6161
} else { // Enumerator
6262
na_parse_enumerator_step(obj, &vstep);
63-
e = (struct enumerator *)DATA_PTR(obj);
63+
e = RENUMERATOR_PTR(obj);
6464
obj = e->obj; // Range
6565
}
6666

@@ -208,7 +208,7 @@ nary_step_sequence( VALUE obj, size_t *plen, double *pbeg, double *pstep )
208208
vstep = rb_ivar_get(obj, id_step);
209209
} else { // Enumerator
210210
na_parse_enumerator_step(obj, &vstep);
211-
e = (struct enumerator *)DATA_PTR(obj);
211+
e = RENUMERATOR_PTR(obj);
212212
obj = e->obj; // Range
213213
}
214214

numo-narray.gemspec

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,6 @@ Gem::Specification.new do |spec|
2828
spec.require_paths = ["lib"]
2929
spec.extensions = ["ext/numo/narray/extconf.rb"]
3030

31-
if RUBY_VERSION < '2.3' # Ruby 2.2.x
32-
spec.add_development_dependency "bundler", "~> 1.3", "< 1.14.0"
33-
else
34-
spec.add_development_dependency "bundler", ">= 2.2.33"
35-
end
3631
spec.add_development_dependency "rake", ">= 12.3.3"
3732
spec.add_development_dependency "rake-compiler", "~> 1.1"
3833
spec.add_development_dependency "test-unit"

0 commit comments

Comments
 (0)