summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-12-26decouple internal.h headers卜部昌平
Saves comitters' daily life by avoid #include-ing everything from internal.h to make each file do so instead. This would significantly speed up incremental builds. We take the following inclusion order in this changeset: 1. "ruby/config.h", where _GNU_SOURCE is defined (must be the very first thing among everything). 2. RUBY_EXTCONF_H if any. 3. Standard C headers, sorted alphabetically. 4. Other system headers, maybe guarded by #ifdef 5. Everything else, sorted alphabetically. Exceptions are those win32-related headers, which tend not be self- containing (headers have inclusion order dependencies). Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26TIMESPEC_SEC_MAX might be bigger than 53 bits.卜部昌平
The same as 41bc766763dba63ae2529f2f9070b8e26399745c. Read that commit for what is happening. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26other minior internal header tweaks卜部昌平
These headers need no rewrite. Just add some minor tweaks, like addition of #include lines. Mainly cosmetic. TIMET_MAX_PLUS_ONE was deleted because the macro was used from only one place (directly write expression there). Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/vm.h rework卜部昌平
Rearranged contents, then added MJIT_FUNC_EXPORTED function declarations. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/thread.h rework卜部昌平
Rather trivial, added missed MJIT_FUNC_EXPORTED function declaration. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/symbol.h rework卜部昌平
Some declatations are moved from internal/parse.h, to reflect the fact that they are defined in symbol.c. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/string.h rework卜部昌平
Reduced the number of macros defined in the file. Also made it explicit for MJIT_FUNC_EXPORTTED functions to be so. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/range.h rework卜部昌平
Eliminate macros for better readability. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/process.h rework卜部昌平
Eliminated the macro to convert into an inline function. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/proc.h rework卜部昌平
Annotated MJIT_FUNC_EXPORTED functions as such. Declaration of rb_sym_to_proc is moved into this file because the function is defined in proc.c rather than string.c. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/object.h rework卜部昌平
Eliminated macros. As a side effect struct RBasicRaw is no longer required because we can now define anonymous structs inside of inline functions. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/gc.h rework卜部昌平
Improved readability by reducing the use of macros. Also moved some part of internal/compilers.h into this file, because it seems to be the right place for them. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/sanitizers.h rework卜部昌平
Rearrange macro orders for better readability. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/error.h rework卜部昌平
Reduce macros for readability. Also transplanted some part of internal/file.h into here because the delcared functions are in fact defined in error.c. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/compile.h rework卜部昌平
This file containes other materials than in compile.c. I could perhaps split them into files, but felt overkill. Just add comments that describe the situations. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/array.h rework卜部昌平
Rearrange contents for better readability, reduce macros for the same reason, and mark MJIT_FUNC_EXPORTED functions as such. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/variable.h rework卜部昌平
Eliminated macros. Also marked MJIT_FUNC_EXPORTED functions as such. Some of them are declared in constant.h so edited that file also. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/imemo.h rework卜部昌平
Arrange contents and eliminate macros, to make them readable. Macro IFUNC_NEW was deleted because there was only one usage. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/class.h rework卜部昌平
This file has almost nothing to do. Added some #ifdef lines and rearranged file contents. Those macros are unable to translate into inline functions, because they are used as lvalues of assignments. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/struct.h rework卜部昌平
Replace macros with inline functions of equivalent contents, for much improved readability. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/hash.h rework卜部昌平
Reduce macros to make them inline functions, as well as mark MJIT_FUNC_EXPORTED functions explicitly as such. Definition of ar_hint_t is simplified. This has been the only possible definition so far. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/numeric.h rework卜部昌平
Marked MJIT_FUNC_EXPORTED functions as such. Other changes are rather cosmetic. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/bingnum.h rework卜部昌平
Turn macros into inline functions for better readability. Also add rb_int128t2big delcaration, which was missing. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/fixnum.h rework卜部昌平
Add #include lines, move FIXNUM_POSITIVE_P etc. from numeric.h. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/static_assert.h rework卜部昌平
ISO/IEC 9899:2011 section 7.2 states that <assert.h> must define static_assert. Use it when available. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/warnings.h rework卜部昌平
Not a big rewrite. Just to make those macros readable. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26internal/bits.h rework卜部昌平
Improving readability by converting some macros into inline functions. Also improved support for recent x86_64 processors, which have better instructions for the purposes. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26add several __has_something macro卜部昌平
With these macros implemented we can write codes just like we can assume the compiler being clang. MSC_VERSION_SINCE is defined to implement those macros, but turned out to be handy for other places. The -fdeclspec compiler flag is necessary for clang to properly handle __has_declspec(). Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26assume C99卜部昌平
Now that we no longer support old compilers, we can safely delete several obsolete #ifdef gurads. Also because (as of writing) it is impossible to compile the program using C++ compilers, lets just entirely prohibit __cplusplus to reduce # of LOCs. Note however that we still cannot eliminate __STDC_VERSION__ checks, because MSVC does not define it, saying its C99 support is partial. See also https://social.msdn.microsoft.com/Forums/vstudio/en-US/53a4fd75-9f97-48b2-aa63-2e2e5a15efa3 Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26re-add io.h and encoding.h into internal.h卜部昌平
This is tentative. For the sake of simplicity we partially revert commits e9cb552ec96, ee85a6e72b and 51edb300425. Will decouple them once again when we are ready. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26split internal.h into files卜部昌平
One day, I could not resist the way it was written. I finally started to make the code clean. This changeset is the beginning of a series of housekeeping commits. It is a simple refactoring; split internal.h into files, so that we can divide and concur in the upcoming commits. No lines of codes are either added or removed, except the obvious file headers/footers. The generated binary is identical to the one before. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26debug_counter.h must be self-contained卜部昌平
Include what is necessary. Notes: Merged: https://github.com/ruby/ruby/pull/2711
2019-12-26Transform hash keys by a hash [Feature #16274]Nobuyoshi Nakada
2019-12-26* 2019-12-26 [ci skip]git
2019-12-262.8.0 (tentative; to be 3.0.0) development has started.Yukihiro "Matz" Matsumoto
2019-12-25[ruby/reline] Version 0.1.2aycabta
https://github.com/ruby/reline/commit/b41024e317
2019-12-25Save last breaking point to completeaycabta
2019-12-25fix version regexpNARUSE, Yui
2019-12-25fix typoNARUSE, Yui
2019-12-25[bundler/bundler] Do `require "rubygems"` only when neededYusuke Endoh
This require causes circular require. ``` $ touch empty_file $ RUBYGEMS_GEMDEPS=empty_file ./local/bin/ruby -w -e '' /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92: warning: loading in progress, circular require considered harmful - /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb from <internal:gem_prelude>:1:in `<internal:gem_prelude>' from <internal:gem_prelude>:1:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1417:in `<top (required)>' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1203:in `use_gemdeps' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/user_interaction.rb:47:in `use_ui' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems.rb:1204:in `block in use_gemdeps' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in `<top (required)>' from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler.rb:11:in `require_relative' from /home/mame/work/ruby/local/lib/ruby/2.7.0/bundler/rubygems_integration.rb:3:in `<top (required)>' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' from /home/mame/work/ruby/local/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require' ``` https://github.com/bundler/bundler/commit/c7c5bcea92
2019-12-25Update the version of bigdecimal to 2.0.0 (#2784)Kenta Murata
Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2019-12-25Show the error line only when same as the currentNobuyoshi Nakada
2019-12-25export a function for MJIT.Koichi Sasada
rb_iseq_complete() can be used by MJIT.
2019-12-25take care of USE_LAZY_LOAD=1.Koichi Sasada
On USE_LAZY_LOAD=1, the iseq should be loaded. So rb_iseq_check() is needed. Furthermore, now lazy loading with builtin_function_table is not supported, so it should cancel lazy loading.
2019-12-25range.c: Range#min with a beginless one now raise an explicit exceptionYusuke Endoh
[Bug #16450]
2019-12-25Add readline and readline-ext to default gems list in NEWSaycabta
2019-12-25add ref to NEWS entryKoichi Sasada
2019-12-25NEWS: add a ticket referenceYusuke Endoh
2019-12-25NEWS: add a ticket referenceYusuke Endoh
2019-12-25NEWS: add ticket referencesYusuke Endoh