path: root/include/ruby/backward
AgeCommit message (Collapse)Author
2020-08-27git rm include/ruby/backward/rubysig.h卜部昌平
Notes: Merged:
2020-08-27git rm include/ruby/backward/{st,util}.h卜部昌平
Notes: Merged:
2020-08-27git rm include/ruby/backward/classext.h卜部昌平
Notes: Merged:
2020-08-27git rm include/ruby/backward/2/extern.h卜部昌平
Notes: Merged:
2020-05-11sed -i 's|ruby/impl|ruby/internal|'卜部昌平
To fix build failures. Notes: Merged:
2020-05-11sed -i s/ruby3/rbimpl/g卜部昌平
Notes: Merged:
2020-05-11sed -i s/RUBY3/RBIMPL/g卜部昌平
Devs do not love "3". The only exception is RUBY3_KEYWORDS in parse.y, which seems unrelated to our interests. Notes: Merged:
2020-05-11sed -i s|ruby/3|ruby/impl|g卜部昌平
This shall fix compile errors. Notes: Merged:
2020-04-13include what you use.卜部昌平
This reverts commit 443389effc37308ce1a3c3a840082a344fc6af56. This reverts commit d94960f22ec2de3a3855305cb51343806d2b46c7. Inclusion of header files must be explicit. Every file shall directly include what is necessary. says: > When every file includes what it uses, then it is possible to edit any > file and remove unused headers, without fear of accidentally breaking > the upwards dependencies of that file. It also becomes easy to > automatically track and update dependencies in the source code. Though we don't use iwyu itself, the principle quoted above is a good thing that we can agree. Now that include guards were added to every and all of the headers inside of our project this changeset does not increase compile time, at least on my machine. Notes: Merged:
2020-04-13add #include guard hack卜部昌平
According to MSVC manual (*1), cl.exe can skip including a header file when that: - contains #pragma once, or - starts with #ifndef, or - starts with #if ! defined. GCC has a similar trick (*2), but it acts more stricter (e. g. there must be _no tokens_ outside of #ifndef...#endif). Sun C lacked #pragma once for a looong time. Oracle Developer Studio 12.5 finally implemented it, but we cannot assume such recent version. This changeset modifies header files so that each of them include strictly one #ifndef...#endif. I believe this is the most portable way to trigger compiler optimizations. [Bug #16770] *1: *2: Notes: Merged:
2020-04-10reduce duplicate include.Koichi Sasada
Without this patch, 20k files are opened (openat syscall) because of duplicate includes. This patch reduced it to 3k and build time was reduced compile time of range.o from 15sec -> 3sec on my machine. [Bug #16772] Notes: Merged:
2020-04-08Merge pull request #2991 from shyouhei/ruby.h卜部昌平
Split ruby.h Notes: Merged-By: shyouhei <>
2020-01-31a bit terse Doxygen comments [ci skip]卜部昌平
Creative use of `@copydoc` Doxygen command and abusing its half-broken C parser let us delete some lines of documentations, while preserving document coverages.
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.
2020-01-29Fix a typo [ci skip]Kazuhiro NISHIYAMA
2020-01-28fix rb_define_global_function to take const VALUE*卜部昌平
It was unable for rb_define_global_function to take VALUE(*)(int argc, const VLAUE *argv, VALUE self) -style function. Test added.
2020-01-28improved support for rb_f_notimplement卜部昌平
rb_f_notimplement should be accepted for all possible arities. Test provided for that.
2020-01-28delete duplicated function overload卜部昌平
The `using engine<...snip...>::define;` line already defines this function. We don't have to repeat.
2020-01-28fix typo卜部昌平
Add missing `*`.
2020-01-28template metaprogramming instead of macros卜部昌平
C++ (and myself) hates macros. If we could do the same thing in both preprocessor and template, we shall choose template. This particular part of the ruby header is one of such situations. Notes: Merged:
2019-12-20Fixed misspellingsNobuyoshi Nakada
Fixed misspellings reported at [Bug #16437], only in ruby and rubyspec.
2019-10-24include/ruby/backward/cxxanyargs.hpp: call `va_end` before returnYusuke Endoh
Coverity Scan complains it.
2019-09-20Overload variable definition functionsNobuyoshi Nakada
Define overloading functions of rb_define_virtual_variable and rb_define_hooked_variable, for combinations with and without ANYARGS casts. Notes: Merged:
2019-09-15oops [ci skip]卜部昌平
Fixing typo. It seems I failed to press the shift key.
2019-09-10fix CentOS 6 compile error卜部昌平
See also
2019-09-06fix Visual Studio compilation error卜部昌平
See also
2019-09-06add include/ruby/backward/cxxanyargs.hpp卜部昌平
Compilation of extension libraries written in C++ are reportedly broken due to The root cause of this issue was that the definition of ANYARGS differ between C and C++, and that of C++ is incompatible with the updated ones. We are using the incompatibility against itself. In C++ two distinct function prototypes can be overloaded. We provide the old, ANYARGSed prototypes in addition to the current granular ones; and let the older ones warn about types.
2015-10-18* include/ruby/backward/util.h: Good-by Borland-C.kosaki
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-18* numeric.c: Good-by Borland-C.kosaki
* include/ruby/backward/rubyio.h: ditto. * include/ruby/backward/st.h: ditto. * include/ruby/backward/util.h: ditto. * include/ruby/backward/rubysig.h: ditto. * include/ruby/backward/classext.h: ditto. * dln.c: ditto. * gc.c: ditto. * win32/resource.rb: ditto. * win32/dir.h: ditto. * ext/tk/tcltklib.c: ditto. * NEWS: announce that Borland-C is no longer supported. git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-14* include/ruby/intern.h,akr
include/ruby/io.h, include/ruby/ruby.h, include/ruby/win32.h, include/ruby/backward/rubysig.h, bignum.c, gc.c, io.c, process.c, safe.c, struct.c, thread.c, ext/socket/rubysocket.h, ext/-test-/old_thread_select: Remove deprecated definitions [ruby-core:60581] [Feature #9502] git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-20ruby.h: swap iv_index_tbl and super for struct RClasstmm1
* include/ruby/ruby.h (struct RClass): add super, remove iv_index_tbl. since RCLASS_SUPER() is commonly used inside while loops, we move it back inside struct RClass to improve cache hits. this provides a small improvement (1%) in hotspots like rb_obj_is_kind_of() * internal.h (struct rb_classext_struct): remove super, add iv_index_table * internal.h (RCLASS_SUPER): update for new location * internal.h (RCLASS_SET_SUPER): ditto * internal.h (RCLASS_IV_INDEX_TBL): ditto * object.c (rb_class_get_superclass): ditto * include/ruby/backward/classext.h (RCLASS_SUPER): ditto git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-04-05defines.h: RUBY_SYMBOL_EXPORT_{BEGIN,END}nobu
* include/ruby/defines.h (RUBY_SYMBOL_EXPORT_{BEGIN,END}): visibility control macros. git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-06-19[Bug #6607]nobu
* include/ruby/backward/rubysig.h: fix visibility. [Bug #6607] git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-18* include/ruby/backward/classext.h: for evil gems. fixed #4803nobu
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-08* include/ruby/backward/rubysig.h (rb_thread_blocking_region_begin),nobu
(rb_thread_blocking_region_end): marked as deprecated. * include/ruby/backward/rubysig.h (TRAP_BEG): fix for C++. a patch from Aman Gupta at [ruby-core:21934] git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-02-08* include/ruby/backward/rubysig.h: extern "C" was missing.nobu
[ruby-core:21929] git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-26* include/ruby{io,sig}.h: moved to include/ruby/backward.nobu
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-17* lib/mkmf.rb (init_mkmf): add include/ruby/backward to $INCFLAGS.nobu
* include/ruby/backward/{st,util}.h: added for backward compatibility. [ruby-dev:35811] git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e