summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* Fix some typos by spell checkerRyuta Kamizono2021-04-265-6/+6
|
* rb_hash_free(): has never existed.卜部昌平2021-04-161-1/+0
| | | | | | This is just a hoax. Nobody have ever implemented a function named as such. Also the functionality implied by the name must not be a public API if any.
* Inline LONG_LONG conversionsNobuyoshi Nakada2021-04-131-3/+26
| | | | Not only NUM2LL, also LL2NUM, ULL2NUM and NUM2ULL.
* workaround MSVC error卜部昌平2021-04-131-6/+6
| | | | | | | | | | | | | | | | | | | Previous code failed to compile on MSVC. Log: https://github.com/ruby/ruby/pull/4371/checks?check_run_id=2304484466 This is possibly due to the fact that: 1. `Data_Wrap_Struct(...)` appears in a source code 2. which expands to `rb_data_object_wrap(...)` 3. which expands to `RUBY_MACRO_SELECT(rb_data_object_wrap_, RUBY_UNTYPED_DATA_WARNING)` 4. which expands to `rb_data_object_wrap_0` 5. which expands to `rb_data_object_wrap`, so far so good, but 6. this is a recursive macro expansion (see step 2). Everybody stops expanding... - in step 4 for MSVC, and - in step 5 for GCC etc. I have no idea why but this proposed changeset prevents MSVC from stopping at step 4.
* dependency updates卜部昌平2021-04-137-7/+0
|
* get rid of #pragma GCC diagnostic ignored "-Wundef"卜部昌平2021-04-138-87/+16
| | | | | Use of TOKEN_PASTE was a bad idea at the first place. Just use ## everywhere. Nobody practically lacks token pasting.
* Fix symbol export.Samuel Williams2021-04-101-0/+4
|
* Disable public interface for now.Samuel Williams2021-03-301-3/+5
|
* Fix native implementation.Samuel Williams2021-03-301-1/+2
| | | | | # Conflicts: # scheduler.c
* Add hook for `Timeout.timeout`.Samuel Williams2021-03-301-0/+2
|
* Removed dln_a_outNobuyoshi Nakada2021-03-241-5/+0
| | | a.out format is considered extinct nowadays.
* [Doc] Standardize wording s/sweeped/swept/Kenichi Kamiya2021-03-231-1/+1
|
* Fix typos in rhash.h (#4292)Kenichi Kamiya2021-03-191-1/+1
|
* Removed a typo in a comment [ci skip]Nobuyoshi Nakada2021-03-071-1/+1
|
* rb_sym_interned_p: doesn't exist卜部昌平2021-03-051-1/+0
| | | | | | | Deleted decades ago in commit 6e0fed271c1d2e6f2b13b99d89d43e7d00e81472 Note also that we eventually ended up reinventing this exact same functionality. It is called rb_check_id() now.
* rb_random_int: ended before it begins卜部昌平2021-02-251-1/+0
| | | | | | It existed since f3d022543ef2afde3d53e7f6b3028eafe39d0ef4 until 96760236079b15674a6322a2ca41b1528b51afbd. No official releases included the actual function. The declaration shall be deleted.
* Make global ruby namespace usage explicitMarvin Schmidt2021-02-141-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the use of the ruby namespace isn't prepended by `::` to make it explicit that the global ruby namespace is referenced here, it can clash with other non-global namespace named ruby, e.g. ``` // declaration namespace myproject { namespace ruby { // my ruby classes } } // implementation using namespace myproject; [...] rb_define_method(...); [...] ``` leads to the following error: ``` ../ruby/choice.cc: In function 'void {anonymous}::do_register_choice()': ../ruby/choice.cc:342:9: error: reference to 'ruby' is ambiguous 342 | rb_define_method(c_choices, "each", RUBY_FUNC_CAST(&choices_each), 0); | ^~~~~~~~~~~~~~~~ In file included from ../ruby/choice.cc:20: ../ruby/paludis_ruby.hh:53:15: note: candidates are: 'namespace paludis::ruby { }' 53 | namespace ruby | ^~~~ In file included from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/backward/2/stdalign.h:23, from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/defines.h:77, from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/ruby.h:23, from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby.h:38, from ../ruby/paludis_ruby.hh:44, from ../ruby/choice.cc:20: /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/internal/stdalign.h:92:11: note: 'namespace ruby { }' 92 | namespace ruby { | ^~~~ In file included from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/internal/anyargs.h:83, from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby/ruby.h:24, from /usr/x86_64-pc-linux-gnu/include/ruby-3.0/ruby.h:38, from ../ruby/paludis_ruby.hh:44, from ../ruby/choice.cc:20: ../ruby/choice.cc:342:9: error: '::define' has not been declared 342 | rb_define_method(c_choices, "each", RUBY_FUNC_CAST(&choices_each), 0); | ^~~~~~~~~~~~~~~~ ../ruby/choice.cc:344:9: error: reference to 'ruby' is ambiguous 344 | rb_define_method(c_choices, "find_by_name_with_prefix", RUBY_FUNC_CAST(&choices_find_by_name_with_prefix), 1); | ^~~~~~~~~~~~~~~~ ```
* Define macro for fiber/scheduler.hNobuyoshi Nakada2021-02-091-0/+1
|
* Updated pre-prototype declarationsNobuyoshi Nakada2021-02-091-2/+2
|
* Expose scheduler as public interface & bug fixes. (#3945)Samuel Williams2021-02-091-0/+40
| | | | | | | | | * Rename `rb_scheduler` to `rb_fiber_scheduler`. * Use public interface if available. * Use `rb_check_funcall` where possible. * Don't use `unblock` unless the fiber was non-blocking.
* rb_clear_method_cache_by_class: no longer exist卜部昌平2021-02-041-1/+0
| | | | | It is questionable whether we can change a public API but this function does not exist today. No way.
* Update include/ruby/internal/fl_type.h 卜部昌平2021-01-271-1/+1
| | | | | https://github.com/ruby/ruby/pull/4100#pullrequestreview-576059827 Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/internal/fl_type.h: refactor hoist out #if conditions卜部昌平2021-01-271-9/+11
| | | | cf: https://github.com/ruby/ruby/pull/4100#pullrequestreview-575952836
* kill CLONESETUP and DUPSETUP卜部昌平2021-01-272-14/+18
| | | | | | | | They are no longer how Object#clone/Object#dup are defined. In fact DUPSETUP is not used from anywhere. CLONESETUP has only one usage. Let's not expose them to extension libraries. cf https://github.com/ruby/ruby/pull/4100#discussion_r563481718
* attributes on enumerators are GCC6-ism卜部昌平2021-01-271-0/+18
| | | | | | | | | See also https://gcc.gnu.org/gcc-6/changes.html Clang has this feature when __has_extension(enumerator_attributes) is set. MSVC has #pragma deprecated instead.
* warnings on use of RUBY_FL_TAINT卜部昌平2021-01-271-2/+14
| | | | | | | | matz said in [ruby-core:94979]: > 3.0: > * taint/trust/untaint/untrust non-verbose warning when called This is it, for C extensions.
* kill OBJ_TAINT etc.卜部昌平2021-01-271-25/+8
| | | | | | | | | Now that RUBY_FL_TAINT is recycled to become new RUBY_FL_SHAREABLE. Setting/clearing this flag from extension libraries break Ractor. Especially problematic one is OBJ_INFECT, which would make non-shareable objects travel across Ractor boundaries. Such operations should just be prohibited.
* fix OBJ_UNTRUST etc.卜部昌平2021-01-271-2/+2
| | | | | It seems I broke them in commit 9e6e39c3512f7a962c44dc3729c98a0f8be90341 Sorry!
* Add compaction notes for class/module creation C APIsAlan Wu2021-01-261-0/+4
|
* Replace "iff" with "if and only if"Gannon McGibbon2021-01-194-4/+4
| | | | | | | iff means if and only if, but readers without that knowledge might assume this to be a spelling mistake. To me, this seems like exclusionary language that is unnecessary. Simply using "if and only if" instead should suffice.
* Define printf qualifier prefix fallbacksNobuyoshi Nakada2021-01-115-0/+26
|
* Fixed a typo [Bug #17522]Tee KOBAYASHI2021-01-091-1/+1
|
* expose some C-APIs for ractorKoichi Sasada2021-01-061-3/+4
| | | | | | | | | | | | | expose some C-APIs to try to make ractor utilities on external gems. * add * rb_ractor_local_storage_value_lookup() to check availability * expose * rb_ractor_make_shareable() * rb_ractor_make_shareable_copy() * rb_proc_isolate() (not public) * rb_proc_isolate_bang() (not public) * rb_proc_ractor_make_shareable() (not public)
* Fixed dangling imemo_tmpbufNobuyoshi Nakada2021-01-021-2/+3
| | | | | | | | The count of rb_alloc_tmp_buffer_with_count is the allocation size counted in VALUE size but not in the requested element size. Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> Co-authored-by: Koichi Sasada <ko1@atdot.net>
* Fixed missing NORETURN on rb_mod_const_missingNobuyoshi Nakada2020-12-311-1/+1
|
* Defined RBIMPL_ATTR_DEPRECATED_INTERNALNobuyoshi Nakada2020-12-311-12/+12
| | | | | Get rid of duplicate attributes, which may be warned or ignored except for the first.
* Replaced deprecation macrosNobuyoshi Nakada2020-12-301-28/+21
| | | | | | * DECLARE_DEPRECATED_FEATURE with RBIMPL_ATTR_DEPRECATED_SINCE * DECLARE_DEPRECATED_INTERNAL_FEATURE with RBIMPL_ATTR_INTERNAL And moved function declarations outside both.
* win32: Declared wait and fixed the return typeNobuyoshi Nakada2020-12-271-1/+2
|
* [memory_view] Fix a commentKenta Murata2020-12-251-3/+1
| | | | | A consumer of a MemoryView no longer guards the original object. [ci skip]
* Development of 3.1.0 started.Yukihiro "Matz" Matsumoto2020-12-251-1/+1
|
* Use RBIMPL_COMPILER_{SINCE,BEFORE} for MSVCNobuyoshi Nakada2020-12-241-3/+3
| | | | | | | | Pointed out by @shyouhei. NOTE: Already we have dropped the support for older MSVCs, probably prior to 1300 or 1400. Remove the conditional code, especially in win32/Makefile.sub.
* shareable_constant_value: experimental_copyKoichi Sasada2020-12-241-0/+3
| | | | | | | "experimental_everything" makes the assigned value, it means the assignment change the state of assigned value. "experimental_copy" tries to make a deep copy and make copyied object sharable.
* Expose atomic operation macros with RUBY prefixNobuyoshi Nakada2020-12-242-0/+237
| | | | | Now we need atomic operations, which are lighter than mutex, more widely for extension libraries because of Ractor.
* [memory_view] Fix some grammar issues in a commentKenta Murata2020-12-241-4/+4
|
* [memory_view] Make some rb_memroy_view_t members constKenta Murata2020-12-231-4/+4
|
* [memory_view][fiddle] Rename len to byte_size in rb_memory_view_tKenta Murata2020-12-231-1/+1
|
* [memory_view][fiddle] Use bool for boolean return valueKenta Murata2020-12-231-8/+8
|
* rb_cCont: no longer exists卜部昌平2020-12-221-1/+0
| | | | Deleted well over a decade ago in commit 977d66ec993b0f1892fb3e4cd8ac.
* Removed rb_cData entityNobuyoshi Nakada2020-12-222-3/+10
| | | | | | | * 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
* Data: delete卜部昌平2020-12-221-0/+2
| | | | | | | | Has been deprecated since 684bdf6171b76f5bc5e4f05926a5ab01ec2b4fd5. Matz says in [ruby-core:83954] that Data should be an alias of Object. Because rb_cData has not been deprecated, let us deprecate the constant to make it a C-level synonym of rb_cObject.