Граф коммитов

1565 Коммитов

Автор SHA1 Сообщение Дата
卜部昌平 cdd75d4e7f support 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-31 13:01:52 +09:00
卜部昌平 5e22f873ed decouple 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).
2019-12-26 20:45:12 +09:00
Nobuyoshi Nakada db16629008
Fixed misspellings
Fixed misspellings reported at [Bug #16437], only in ruby and rubyspec.
2019-12-20 09:32:42 +09:00
Koichi Sasada 9c2807b2df remove prelude.c
prelude.c is an automatically generated file by template/prelude.c.tmpl.
However it does not contain any required functions. So remove it from
dependency.

Also miniprelude.c is included by mini_builtin.c and does not need
to make miniprelude.o.
2019-12-11 11:24:42 +09:00
NAKAMURA Usaku 7bd7a013b1
Fix `$(RMALL) -r` on Windows
`set recursive=1 &` sets `1 ` to `recursive`, not `1`.
2019-11-26 11:44:11 +09:00
Nobuyoshi Nakada 83900528ad
Turn C4047 warning into error
Warned at making precompiled header on mswin.

```
building rb_mjit_header-2.7.0.pch
vm.c
d:\a\ruby\ruby\src\vm_args.c(1117): warning C4047: '=': 'const rb_callable_method_entry_t *' differs in levels of indirection from 'int'
rb_mjit_header-2.7.0.pch updated
```
2019-11-20 16:28:18 +09:00
Nobuyoshi Nakada 11aa07c270
Define NULLCMD as printing NUL [Bug #16331] 2019-11-10 10:52:12 +09:00
Nobuyoshi Nakada 2c55ba7191
Define NULLCMD as an empty label [Bug #16331] 2019-11-10 10:10:31 +09:00
Nobuyoshi Nakada fcf37ca2fe Fix builtin scirpt paths
Do not search builtin scripts by using VPATH, to get rid of weird
nmake VPATH.
2019-11-09 21:16:05 +09:00
Nobuyoshi Nakada 7acf7a4f90
Add VPATH to rbinc rule for nmake 2019-11-08 18:49:18 +09:00
Nobuyoshi Nakada 4e8336bae8
Share test-bundled-gems-run in common.mk 2019-11-05 00:05:38 +09:00
Gabriel Nagy ddfb306e8e win32.c: Remove unused calls to StartSockets (#2312)
NtSocketsInitialized behavior changed in e33b1690, requiring
a call to rb_w32_sysinit for starting Windows Sockets.

This commit removes NtSocketsInitialized entirely to avoid confusion.

Signed-off-by: Gabriel Nagy <gabriel.nagy@puppet.com>
2019-10-11 13:48:02 +09:00
Nobuyoshi Nakada 0c6f36668a
Adjusted spaces [ci skip] 2019-09-27 10:20:56 +09:00
Nobuyoshi Nakada c3f03da494
[EXPERIMENTAL] MakeMakefile::CXX for C++ 2019-09-18 18:47:02 +09:00
卜部昌平 20e428ec40 fix CentOS 6 compile error
See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-master/log/20190910T003005Z.fail.html.gz
2019-09-10 12:25:36 +09:00
Kazuhiro NISHIYAMA 99bfa6c165
Try to fix compile error on win32
https://github.com/ruby/ruby/runs/213995386#step:7:810
```
cxxanyargs.cpp
C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt\corecrt_malloc.h(54): error C2485: '__restrict': unrecognized extended attribute
```
2019-09-06 17:47:24 +09:00
卜部昌平 9ef51b0b89 drop-in type check for rb_define_method
The rb_define_method function takes a pointer to ANYARGS-ed functions,
which in fact varies 18 different prototypes.  We still need to
preserve ANYARGS for storages but why not check the consistencies if
possible.

Q&As:

Q: Where did the magic number "18" came from in the description above?

A: Count the case branch of vm_method.c:call_cfunc_invoker_func().
   Note also that the 18 branches has lasted for at least 25 years.
   See also 200e0ee2fd.

Q: What is this __weakref__ thing?

A: That is a kind of function overloading mechanism that GCC provides.
   In this case for instance rb_define_method0 is an alias of
   rb_define_method, with a strong type.

Q: What is this __transparent_union__ thing?

A: That is another kind of function overloading mechanism that GCC
   provides.  In this case the attributed function pointer is either
   VALUE(*)(int,VALUE*,VALUE) or VALUE(*)(int,const VALUE*,VALUE).

   This is better than void* or ANYARGS because we can reject all
   other possibilities than the two.

Q: What does this rb_define_method macro mean?

A: It selects appropriate alias of the rb_define_method function,
   depending on the arity.

Q: Why the prototype change of rb_f_notimplement?

A: Function pointer to rb_f_notimplement is special cased in
   vm_method.c:rb_add_method_cfunc().  That should be handled by the
   __builtin_choose_expr chain inside of rb_define_method macro
   expansion.  In order to do so, comparison like (func ==
   rb_f_notimplement) is inappropriate for __builtin_choose_expr's
   expression (which must be a compile-time integer constant but the
   address of rb_f_notimplement is not fixed until the linker).  So
   instead we are using __builtin_types_compatible_p, and in doing so
   we need to distinguish rb_f_notimplement from others, by type.
2019-08-29 18:34:09 +09:00
Nobuyoshi Nakada 2283411265
Added license comment [Bug #12230] [ci skip] 2019-08-27 07:59:50 +09:00
git 1f3f50fb5e * expand tabs. [ci skip] 2019-08-19 14:34:29 +09:00
Nobuyoshi Nakada 574a9edfb3
Set flag to allow unprivileged users to create symlinks (#2381)
* [Win32] set flag to allow unprivileged users to create symlinks
2019-08-19 14:34:13 +09:00
Nobuyoshi Nakada 7adc8c79ea
[DOC] "nmake check" is preferable to "nmake exam" now [ci skip]
[Feature #14187]
2019-08-04 08:15:05 +09:00
Nobuyoshi Nakada 9b38c84550
[DOC] updated about icons in win32/README.win32 [ci skip]
[Bug #13348]
2019-08-04 08:07:06 +09:00
Nobuyoshi Nakada 9733b47eb8
[DOC] "nmake check" is preferable to "nmake exam" now [ci skip]
[Feature #14187]
2019-08-04 07:14:30 +09:00
Nobuyoshi Nakada 6a1458caf2
[DOC] Mark up path names to show a backslash [ci skip] 2019-08-04 07:14:17 +09:00
Nobuyoshi Nakada 0a63c4d5fb
Fix errno at seeking socket/pipe on Windows
[Bug #12230]
2019-07-25 06:39:40 +09:00
Samuel Williams 7291fef55c
Improve build process and coroutine implementation selection. 2019-07-18 20:54:54 +12:00
Samuel Williams d17344cfc5 Remove IA64 support. 2019-06-19 23:30:04 +12:00
Nobuyoshi Nakada 0723c107f4
Do not export InitVM functions 2019-05-17 13:55:59 +09:00
Nobuyoshi Nakada 9a4d39b95e
No longer svn & git-svn are used 2019-05-10 15:22:54 +09:00
NAKAMURA Usaku 151b7d72bd
Forgotten to remove 2019-04-30 15:02:03 +09:00
NAKAMURA Usaku 320f0aba49
Revert previous commit; it was meaningless 2019-04-30 04:09:07 +09:00
git ae3a986204 * expand tabs. 2019-04-30 03:33:51 +09:00
NAKAMURA Usaku 09022b6d70 Use CreateToolhelp32Snapshot instead of NtQueryInformationProcess to get ppid on Windows
Try to get rid of a spec error.
2019-04-30 03:33:31 +09:00
Nobuyoshi Nakada fdcd640507
Makefiles need to be indented by tabs 2019-04-28 11:36:03 +09:00
NAKAMURA Usaku beaddd1d32 Now only supports Git repository 2019-04-22 11:33:56 +09:00
usa 5906bcc95a Remove debug lines
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 04:53:44 +00:00
usa 66b6d76648 Show/unshow executing command as specified by `V`
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-04-21 04:52:38 +00:00
nobu 958798851d FindFirstFile cannot glob share names
* win32/file.c (replace_to_long_name): do not try to glob host
  names and share names by FindFirstFile which is useless for that
  purpose.  [ruby-core:91656] [Bug #15633]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-04 08:13:25 +00:00
nobu bd8cb9f5d2 Parenthesize `for` to ignore errors
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-13 15:34:08 +00:00
nobu 43ee21f26d Ignore errors on cleaning
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-13 15:19:26 +00:00
nobu af479d54dc README.win32: [DOC] added modeline [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-05 06:00:25 +00:00
usa 9acd2b20c8 Update requirements
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-04 08:10:24 +00:00
nobu 8f8b51c6ac README.win32: mention GIT as well as SVN
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-02 07:25:07 +00:00
nobu c2781525ec README.win32: update required commands and platform names
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-02 07:18:50 +00:00
nobu 3f78209cd1 README.win32: use label-list
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-02 06:38:08 +00:00
nobu adbdbff2df README.win32: reformat as RDoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-02-01 13:40:10 +00:00
k0kubun 6c1ed519ef win32/Makefile.sub: try to use __restrict on Visual Studio 2013
as well. Follows up r66598.

https://bugs.ruby-lang.org/issues/15347#note-7 is saying __restrict
is supported on Visual Studio 2013.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-01-04 15:41:29 +00:00
nobu f826cde5a9 Add RUBY_API_VERSION to rbconfig.rb on mswin too
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-28 09:44:32 +00:00
nobu 9417d10fe1 RUBY_PROGRAM_VERSION for MJIT_PRECOMPILED_HEADER
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-28 03:55:28 +00:00
nobu 8422725408 Moved version numbers
* Define major and minor version numbers only in the public
  include/ruby/version.h header, as the API version numbers.

* Define only teeny version number in the private version.h
  header.

* RUBY_VERSION moved to version.c.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-12-28 02:12:34 +00:00