path: root/ext/-test-
AgeCommit message (Collapse)Author
2021-03-22rb_enc_interned_str: handle autoloaded encodingsJean Boussier
If called with an autoloaded encoding that was not yet initialized, `rb_enc_interned_str` would crash with a NULL pointer exception. See: Notes: Merged:
2021-01-09Get rid of defining methods for tests in core classesNobuyoshi Nakada
Not to interfere in other tests. Notes: Merged:
2020-12-27Removed declarations conflicting on MinGWNobuyoshi Nakada
2020-12-23[memory_view] Make some rb_memroy_view_t members constKenta Murata
2020-12-23[memory_view] Remove needless use of StringValueCStrKenta Murata
2020-12-23[memory_view] Add mdview_release_view for testKenta Murata
2020-12-23[memory_view][fiddle] Rename len to byte_size in rb_memory_view_tKenta Murata
2020-12-23[memory_view][fiddle] Use bool for boolean return valueKenta Murata
2020-12-22Removed rb_cData entityNobuyoshi Nakada
* Use the wrapper of rb_cObject instead of data access * Replaced rest of extentions * Updated the version guard for Data * Added the version guard of rb_cData Notes: Merged:
2020-12-16[memory_view] Make MemoryView API Ractor-safe (#3911)Kenta Murata
* memory_view.c: make Ractor-safe * test/ruby/test_memory_view.rb: Add test_ractor * memory_view: fix typo * memory_view.c: Use st_update in unregster_exported_object * memory_view: update dependency Notes: Merged-By: mrkn <>
2020-12-11Import fiddle-1.0.4 (#3860)Kenta Murata
I don't use tool/sync_default_gem.rb because the last sync was incomplete. Co-authored-by: Hiroshi SHIBATA <> Co-authored-by: Alan Wu <> Co-authored-by: sinisterchipmunk <> Co-authored-by: Sutou Kouhei <> Notes: Merged-By: mrkn <>
2020-12-10memory_view.c: Add rb_memory_view_get_item and ↵Kenta Murata
rb_memory_view_prepare_item_desc (#3871) Notes: Merged-By: mrkn <>
2020-12-08memory_view.c: Add rb_memory_view_extract_item_members (#3855)Kenta Murata
Notes: Merged-By: mrkn <>
2020-12-07Revert "memory_view.c: Add rb_memory_view_extract_item_members"Kenta Murata
This reverts the following three commits. - ce707079c153f389d861c91a8dccc510fab0e245 - 1a76bb56b0ba99a19d1373c4c8ebac42e7b6f27c - 51500eedefa492699668ced3e07e330a9a4d53ee
2020-12-06memory_view.c: Add rb_memory_view_extract_item_membersKenta Murata
2020-12-05Protoized old pre-ANSI K&R style definitionsNobuyoshi Nakada
2020-12-02memory_view.c: Check availability in rb_memory_view_getKenta Murata
2020-11-30Fix rb_interned_str_* functions to not assume static stringsJean Boussier
Fixes [Feature #13381] When passed a `fake_str`, `register_fstring` would create new strings with `str_new_static`. That's not what was expected, and answer almost no use cases. Notes: Merged:
2020-11-30Keep references of memory-view-exported objects (#3816)Kenta Murata
* memory_view.c: remove a reference in view->obj at rb_memory_view_release * memory_view.c: keep references of memory-view-exported objects * Update * memory_view.c: Use st_update Notes: Merged-By: mrkn <>
2020-10-21Use rb_intern_const instead of rb_intern in Init functionsNobuyoshi Nakada
``` find . -name \*.o -exec nm {} + |& sed '/Init_.*\.rbimpl_id/!d;s/^.* b //;s/\.[1-9][0-9]*$//;s/\.rbimpl_id$//' | uniq ``` should be empty.
2020-10-21Update dependencies for macOSNobuyoshi Nakada
2020-10-16keep proc on the stack so it does not moveAaron Patterson
This was a workaround for RUBY_ALIGNOF's glitch, which has already been fixed. See also Notes: Merged:
2020-10-02memory_view.c: Use ssize_t for ndim in memory_view (#3615)Kenta Murata
* memory_view.c: Use ssize_t for ndim in memory_view * include/ruby/memory_view.h: Fix the type of item_size argument Notes: Merged-By: mrkn <>
2020-09-30strip trailing spaces [ci skip]Nobuyoshi Nakada
2020-09-25Buffer protocol proposal (#3261)Kenta Murata
* Add buffer protocol * Modify for some review comments * Per-object buffer availability * Rename to MemoryView from Buffer and make compilable * Support integral repeat count in memory view format * Support 'x' for padding bytes * Add rb_memory_view_parse_item_format * Check type in rb_memory_view_register * Update dependencies in * Add test of MemoryView * Add test of rb_memory_view_init_as_byte_array * Add native size format test * Add MemoryView test utilities * Add test of rb_memory_view_fill_contiguous_strides * Skip spaces in format string * Support endianness specifiers * Update documentation * Support alignment * Use RUBY_ALIGNOF * Fix format parser to follow the pack format * Support the _ modifier * Parse count specifiers in get_format_size function. * Use STRUCT_ALIGNOF * Fix test * Fix test * Fix total size for the case with tail padding * Fix rb_memory_view_get_item_pointer * Fix rb_memory_view_parse_item_format again Notes: Merged-By: mrkn <>
2020-09-25ext/-test-/RUBY_ALIGNOF: skip C++ when no compiler卜部昌平
C++ compilers are optional. Skip C++ tests when they are absent. Notes: Merged:
2020-09-25ext/-test-/RUBY_ALIGNOF: add minimalistic test卜部昌平
Check if RUBY_ALIGNOF(double) is the alignment to store a double inside of a struct. Notes: Merged:
Pointed out by Coverity Scan ``` ** CID 1466646: Control flow issues (MISSING_BREAK) /ext/-test-/random/loop.c: 63 in loop_get_bytes() ```
2020-09-07Added `rb_random_base_init`Nobuyoshi Nakada
To enclose the initialization of Random::Base part. Notes: Merged:
2020-09-07Added WITH_REAL macrosNobuyoshi Nakada
Added `WITH_REAL` versions to `RB_RANDOM_INTERFACE` macros. Also these macros including "without real" versions no longer contain the terminator (semicolon and comma). Notes: Merged:
2020-09-07Added `get_real` interfaceNobuyoshi Nakada
Notes: Merged:
2020-09-07separate rb_random_tNobuyoshi Nakada
* random.c: separate abstract rb_random_t and rb_random_mt_t for Mersenne Twister implementation. * include/ruby/random.h: the interface for extensions of Random class. * DLL imported symbol reference is not constant on Windows. * check if properly initialized. Notes: Merged:
2020-08-27sed -i '/rmodule.h/d'卜部昌平
Notes: Merged:
2020-08-27sed -i '/r_cast.h/d'卜部昌平
Notes: Merged:
2020-08-27sed -i '\,2/extern.h,d'卜部昌平
Notes: Merged:
2020-08-21ext/-test-/cxxanyargs: suppress SunPro warning卜部昌平
I found a way to suppress particular kind of warnings via pragmas. Notes: Merged:
2020-06-23Match the output without encoding for localized compilersNobuyoshi Nakada
2020-05-11sed -i 's|ruby/impl|ruby/internal|'卜部昌平
To fix build failures. Notes: Merged:
2020-05-11sed -i s|ruby/3|ruby/impl|g卜部昌平
This shall fix compile errors. Notes: Merged:
2020-04-10ext/-test-/cxxanyargs: add #pragma for icc.卜部昌平
Notes: Merged:
2020-04-08Merge pull request #2991 from shyouhei/ruby.h卜部昌平
Split ruby.h Notes: Merged-By: shyouhei <>
2020-03-29Clear all trace events during teardownAlan Wu
Since 0c2d81dada, not all trace events are cleared during VM teardown. This causes a crash when there is a tracepoint for `RUBY_INTERNAL_EVENT_GC_EXIT` active during teardown. The commit looks like a refactoring commit so I think this change was unintentional. [Bug #16682] Notes: Merged:
2020-03-28The last argument of rb_rescue2() should always be (VALUE)0Benoit Daloze
* Otherwise it might segfault, since C has no idea of the type of varargs, and the C code must assume all varargs are VALUE.
2020-02-25ext/-test-/cxxanyargs: use try_link instead卜部昌平
We would like to skip this extension library when libstdc++ is missing. To avoid such situation let's use try_link instead of try_compile.
2020-02-20ext/-test-/cxxanyargs: prevent have_devel check卜部昌平
The `cxx.try_compile` command in this file kicks `cxx.have_devel?` internally, which recursively calls `cxx.try_link` with a different source code. We don't want that happen (the source code compiled in this file must be the first one). We need to fake the system.
2020-02-07more on NULL versus functions.卜部昌平
Function pointers are not void*. See also ce4ea956d24eab5089a143bba38126f2b11b55b6 8427fca49bd85205f5a8766292dd893f003c0e48
2020-02-04Fix linkage of popen_deadlock testMikhail Novosyolov
DEBUG: BUILDSTDERR: /usr/bin/ld: infinite_loop_dlsym.o: in function `native_loop_dlsym': DEBUG: BUILDSTDERR: /builddir/build/BUILD/ruby-2.7.0/ext/-test-/popen_deadlock/infinite_loop_dlsym.c:16: undefined reference to `dlsym' DEBUG: BUILDSTDERR: collect2: error: ld returned 1 exit status Ruby was built with LibreSSL. Notes: Merged:
2020-02-01fix delete unnecessary return卜部昌平
Was my mistake to put return here.
2020-01-31support C++ std::nullptr_t卜部昌平
C++ keyword `nullptr` represents a null pointer (note also that NULL is an integer in C++ due to its design flaw). Its type is `std::nullptr_t`, defined in <cstddef> standard header. Why not support it when the backend implementation can take a null pointer as an argument.