6828 Commits

Author SHA1 Message Date
usa
6d20bf22fe merge revision(s) 47a1872cd8b901b8aab6dedce7fa3807c97d290d: [Backport #16681]
Use osuosl instead of GitHub releases

	  Because the package provided by GitHub releases is different from sourceware.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2020-03-31 12:13:31 +00:00
usa
d5e7ea9e21 merge revision(s) 61b7f86248bd121be2e83768be71ef289e8e5b90
* ext/socket/init.c: do not return uninitialized buffer
	  Resize string buffer only if some data is received in
	  BasicSocket#read_nonblock and some methods.

	Co-Authored-By: Samuel Williams <samuel.williams@oriontransfer.co.nz>


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2020-03-31 11:40:08 +00:00
usa
209f345158 merge revision(s) 62743: [Backport #16687]
Fix FrozenError on `Ripper.slice`

	Currently `Ripper.slice` raises a FrozenError

	```ruby
	require 'ripper'
	p Ripper.slice('foo', 'ident')
	```

	```
	/path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:193:in `concat': can't modify frozen String (FrozenError)
		from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:193:in `block in compile'
		from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:190:in `scan'
		from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:190:in `compile'
		from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:169:in `initialize'
		from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:151:in `new'
		from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:151:in `token_match'
		from /path/to/g/lib/ruby/2.6.0/ripper/lexer.rb:144:in `slice'
		from /tmp/tmp.kb4cnhvum2/test.rb:2:in `<main>'
	```

	This patch will fix the problem.

	[Fix GH-1837]

	From: Masataka Pocke Kuwabara <kuwabara@pocke.me>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2020-03-30 22:44:13 +00:00
usa
b379ecd8b6 merge revision(s) 36e9ed7fef6eb2d14becf6c52452e4ab16e4bf01: [Backport #16698]
backport 80b5a0ff2a7709367178f29d4ebe1c54122b1c27 partially as a
	 securify fix for CVE-2020-10663. The patch was provided by Jeremy Evans.

	git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2020-03-30 22:22:10 +00:00
usa
fdffe91d46 merge revision(s) 6a2d779027818eda418c9118f700b36816e833a5: [Backport #16681]
Switch to download libffi source package to github releases from
	 sourceware.org

	[Bug #16681]
	(cherry picked from commit 86022167461dc90b70164e2bb23316959bbfd6ba)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2020-03-30 22:05:30 +00:00
usa
ac6dd2fecc merge revision(s) 203b7fa1ae8cc40d41c38d684f70b3fea7fae813,0131fab749fb76800de09e49a6abf910201c5b58,9c0cd5c569ba22bc68d1a77ad6580a275cd99639,c144d7215b3444fa36d28d540b60170a5b30743d: [Backport #16196]
Guard static variable first

	* ext/openssl/ossl_asn1.c (Init_ossl_asn1): register the static
	  variable to grab an internal object, before creating the object.
	  otherwise the just-created object could get collected during the
	  global variable list allocation.  [Bug #16196]

	Slimed down test runtime by stressing openssl.so only [Bug #16196]


	Prefer rb_gc_register_mark_object

	* ext/openssl/ossl_asn1.c (Init_ossl_asn1): prefer
	  `rb_gc_register_mark_object`, which is better for constant
	  objects, over `rb_gc_register_address` for global/static
	  variables which can be re-assigned at runtime.  [Bug #16196]

	Skip very time consuming test [Bug #16196]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2020-03-30 21:37:50 +00:00
usa
a4933de654 merge revision(s) 6333020fc924d3ae63775c032bbe8f57364cd42e:
atime may not updated unless strictatime is set on macOS Catalina

	Cited from mount(8):

	```
	strictatime
	        Always update the file access time when reading from a
	        file. Without this option the filesystem may default to a
	        less strict update mode, where some access time updates
	        are skipped for performance reasons. This option could be
	        ignored if it is not supported by the filesystem.
	```

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-11-08 08:29:32 +00:00
usa
689a6a0a76 merge revision(s) 3f9562015e651735bfc2fdd14e8f6963b673e22a,c06ddfee878524168e4af07443217ed2f8d0954b,3b3b4a44e5: [Backport #15792]
Get rid of indirect sharing

	* string.c (str_duplicate): share the root shared string if the
	  original string is already sharing, so that all shared strings
	  refer the root shared string directly.  indirect sharing can
	  cause a dangling pointer.

	[Bug #15792]

	str_duplicate: Don't share with a frozen shared string

	This is a follow up for 3f9562015e651735bfc2fdd14e8f6963b673e22a.
	Before this commit, it was possible to create a shared string which
	shares with another shared string by passing a frozen shared string
	to `str_duplicate`.

	Such string looks like:

	```
	 --------                    -----------------
	 | root | ------ owns -----> | root's buffer |
	 --------                    -----------------
	     ^                             ^   ^
	 -----------                       |   |
	 | shared1 | ------ references -----   |
	 -----------                           |
	     ^                                 |
	 -----------                           |
	 | shared2 | ------ references ---------
	 -----------
	```

	This is bad news because `rb_fstring(shared2)` can make `shared1`
	independent, which severs the reference from `shared1` to `root`:

	```c
	/* from fstr_update_callback() */
	str = str_new_frozen(rb_cString, shared2);  /* can return shared1 */
	if (STR_SHARED_P(str)) { /* shared1 is also a shared string */
	    str_make_independent(str);  /* no frozen check */
	}
	```

	If `shared1` was the only reference to `root`, then `root` can be
	reclaimed by the GC, leaving `shared2` in a corrupted state:

	```
	 -----------                         --------------------
	 | shared1 | -------- owns --------> | shared1's buffer |
	 -----------                         --------------------
	      ^
	      |
	 -----------                         -------------------------
	 | shared2 | ------ references ----> | root's buffer (freed) |
	 -----------                         -------------------------
	```

	Here is a reproduction script for the situation this commit fixes.

	```ruby
	a = ('a' * 24).strip.freeze.strip
	-a
	p a
	4.times { GC.start }
	p a
	```

	 - string.c (str_duplicate): always share with the root string when
	   the original is a shared string.
	 - test_rb_str_dup.rb: specifically test `rb_str_dup` to make
	   sure it does not try to share with a shared string.

	[Bug #15792]

	Closes: https://github.com/ruby/ruby/pull/2159

	Update dependencies


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-08-26 15:58:57 +00:00
nagachika
4fd078646b merge revision(s) 67200: [Backport #15648]
Add ignored_sp event

	* ext/ripper/lib/ripper/lexer.rb (Ripper::Lexer): add ignored_sp
	  event which will be fired from Ripper::Lexer#on_heredoc_dedent
	  method.  [ruby-core:91727] [Bug #15648]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-13 00:32:12 +00:00
nagachika
a648423e27 merge revision(s) 64636,64637: [Backport #15659]
AIX doesn't set OptionLength for boolean options

	https://rubyci.org/logs/rubyci.s3.amazonaws.com/aix71_ppc/ruby-trunk/log/20180904T103302Z.fail.html.gz
	https://www.ibm.com/support/knowledgecenter/ja/ssw_aix_72/com.ibm.aix.commtrf2/getsockopt.htm

	fix typo

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-12 12:59:25 +00:00
nagachika
d704a0fe3f merge revision(s) 67203: [Backport #15651]
numeric.c: fix infinite loop

	* numeric.c (int_pow): fix infinite loop in the case of y equal 1
	  and power of x does not overflow.
	  [ruby-core:91734] [Bug #15651]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-11 12:51:59 +00:00
nagachika
80266bfb39 merge revision(s) 67183: [Backport #15607]
Fix PTY.open on OpenBSD [Bug #15607]

	From: Jeremy Evans <code@jeremyevans.net>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2019-03-06 11:32:02 +00:00
nagachika
0ca511ef0d Import Ruby/OpenSSL 2.1.2.
Original patches are written by rhe.

Changes since v2.1.1 can be found at the upstream GitHub repository:

	https://github.com/ruby/openssl/compare/v2.1.1..v2.1.2

Kazuki Yamaguchi (9):
      pkey: resume key generation after interrupt
      tool/ruby-openssl-docker: update to latest versions
      test/test_ssl: fix test failure with TLS 1.3
      test/test_x509name: change script encoding to ASCII-8BIT
      x509name: refactor OpenSSL::X509::Name#to_s
      x509name: fix handling of X509_NAME_{oneline,print_ex}() return value
      x509name: fix OpenSSL::X509::Name#{cmp,<=>}
      Ruby/OpenSSL 2.0.9
      Ruby/OpenSSL 2.1.2

nobu (6):
      no ID cache in Init functions
      search winsock libraries explicitly
      openssl: search winsock
      openssl_missing.h: constified
      reduce LibreSSL warnings
      needs openssl/opensslv.h



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@65132 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-17 15:26:54 +00:00
nagachika
7e0cafcd2b merge revision(s) 63406: [Backport #14754]
openssl: merge changes in v2.1.1

	Commits in upstream repository since v2.1.0 can be found at:

		https://github.com/ruby/openssl/compare/v2.1.0...v2.1.1

	----------------------------------------------------------------
	Kazuki Yamaguchi (7):
	      test/utils: disable Thread's report_on_exception in start_server
	      cipher: validate iterations argument for Cipher#pkcs5_keyivgen
	      extconf.rb: fix build with LibreSSL 2.7.0
	      test/test_pkey_rsa: fix test failure with OpenSSL 1.1.1
	      test/test_ssl_session: set client protocol version explicitly
	      Ruby/OpenSSL 2.0.8
	      Ruby/OpenSSL 2.1.1

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@64428 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-08-18 02:39:09 +00:00
nagachika
fcb4a3d88f merge revision(s) 63304: [Backport #14713]
io.c: workaround for EPROTOTYPE

	* io.c (internal_write_func, internal_writev_func): retry at
	  unexpected EPROTOTYPE on macOS, to get rid of a kernel bug.
	  [ruby-core:86690] [Bug #14713]

	* ext/socket/init.c (rsock_{sendto,send,write}_blocking): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@63826 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-07-02 09:15:33 +00:00
naruse
543519d048 Revert wrong commit r62976-r62978
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@63010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-28 13:45:50 +00:00
naruse
dce9e1b248 merge revision(s) 63000:
unixsocket.c: abstract namespace

	* ext/socket/unixsocket.c (unixsock_path_value): fix r62991 for
	  Linux abstract namespace.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@63009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-28 13:43:23 +00:00
naruse
c3e2c261e0 sdbm: constified
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-28 09:26:09 +00:00
naruse
eb60f1b561 sdbm: check offset
* ext/sdbm/_sdbm.c (splpage): check offset range.
  https://hackerone.com/reports/271291

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-28 09:26:08 +00:00
naruse
7af7b27228 sdbm: check offset
* ext/sdbm/_sdbm.c (getpair, getnkey): check offset range.
  https://hackerone.com/reports/271096

* ext/sdbm/init.c (fsdbm_each_pair): raise if fetch failed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-28 09:26:07 +00:00
naruse
93081375fe unixsocket.c: check NUL bytes
* ext/socket/unixsocket.c (rsock_init_unixsock): check NUL bytes.
  https://hackerone.com/reports/302997

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62973 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-03-28 09:26:01 +00:00
naruse
607927bf36 merge revision(s) 62572: [Backport #14549]
date_core.c: defensive code

	* ext/date/date_core.c (f_cmp): check comparison failure.

	* ext/date/date_core.c (d_lite_step): deal with the comparison
	  result more defensively.  [ruby-core:85796] [Bug #14549]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-28 09:52:40 +00:00
naruse
18b6b67233 merge revision(s) 62116,62151: [Backport #14425]
ruby.h: relax rb_funcall check on extra args for clang

	clang 5.+ (tested clang 7.0.0) seems to be attempting division-by-zero
	and giving a very large number for static args to rb_funcall.

	* include/ruby/ruby.h (rb_varargs_bad_length): relax check for clang
	* ext/-test-/funcall/funcall.c: renamed from passing_block.c
	  define extra_args_name function
	* test/-ext-/funcall/test_funcall.rb: new test
	  [ruby-core:85266] [Bug #14425]

	From: Eric Wong <e@80x24.org>

	ruby.h: relax rb_funcall(obj, id, 0, 0) case only

	* include/ruby/ruby.h (rb_varargs_argc_valid_p): relax rb_funcall
	  check on extra args only if argc == 0, for the compatibility
	  with wrong code which is probably confused with rb_funcallv.
	  [Bug #14425]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-02-20 20:11:47 +00:00
mrkn
ea68278fe3 bigdecimal: version 1.3.4
Import bigdecimal version 1.3.4.  The full commit log is here:

  https://github.com/ruby/bigdecimal/compare/v1.3.3...v1.3.4

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-24 06:22:41 +00:00
kazu
6265a1a7b0 [DOC] StringIO#write accepts multiple arguments since r60377 [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-22 03:35:54 +00:00
nobu
70001d5fda ifaddr.c: get_ifaddrs
* ext/socket/ifaddr.c (get_ifaddrs): extract ifaddrs from
  Socket::Ifaddr.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-22 01:49:00 +00:00
tenderlove
2c075d3863 Fix imemo_name to dump new imemo types
New IMEMO types were introduced, this just fixes the function that
converts the type to support the new types.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61377 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-21 00:40:54 +00:00
hsbt
def7fab871 Merge psych-3.0.2 from ruby/psych.
It version changed fallback option to keywoad argument
  on `Yaml.load` method. It break backword compatiblity.

  see detailed discuttion: https://github.com/ruby/psych/issues/340

From: SHIBATA Hiroshi <hsbt@ruby-lang.org>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61336 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-19 09:44:33 +00:00
hsbt
5590ec8a8e Update version of strscan to 1.0.0.
But we couldn't ship strscan (and stringio) gem. Because rubygems.org
  still masked them.

  https://github.com/rubygems/rubygems.org/pull/1696

  I'm going to ship them after it deployed.

From: SHIBATA Hiroshi <hsbt@ruby-lang.org>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-19 03:12:22 +00:00
hsbt
f39021be7e Remove digest.gemspec for default gems.
It needs to support header file installation and uninstallation.
  But current RubyGems didn't support it feature yet.

From: SHIBATA Hiroshi <hsbt@ruby-lang.org>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-19 02:43:09 +00:00
nobu
7c4306e6e9 gperf.sed: static declarations
* tool/gperf.sed: comment out arguments part only, to keep the
  following declarations static.  [Feature #13883]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-15 14:42:43 +00:00
rhe
ed2b4d0a42 openssl: import v2.1.0
Import Ruby/OpenSSL 2.1.0. Commits since v2.1.0.beta2 can be found at:

	https://github.com/ruby/openssl/compare/v2.1.0.beta2...v2.1.0

----------------------------------------------------------------
Kazuki Yamaguchi (8):
      test/test_ssl: prevent changing default internal encoding
      ssl: remove a misleading comment
      pkey/ec: rearrange PKey::EC::Point#initialize
      ssl: remove unreachable code
      asn1: fix docs
      pkey/ec: add support for octet string encoding of EC point
      Ruby/OpenSSL 2.0.7
      Ruby/OpenSSL 2.1.0

eregon (1):
      Fix test-all tests to avoid creating report_on_exception warnings

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-14 11:19:16 +00:00
naruse
e9935d9c04 NaCl support is dropped at r60374
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-14 10:38:36 +00:00
nobu
54b89699d9 bigdecimal: dependency
* ext/bigdecimal/extconf.rb: extconf.h depends on the gemspec
  file.  [ruby-core:84247] [Bug #14180]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-14 04:40:15 +00:00
mrkn
61e58f7dc4 bigdecimal: version 1.3.3
Import bigdecimal version 1.3.3.  The full commit log is here:

  https://github.com/ruby/bigdecimal/compare/v1.3.2...v1.3.3

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-13 15:28:30 +00:00
nobu
32a4b080f1 Ripper::Lexer bit predicates
* ext/ripper/lib/ripper/lexer.rb (Ripper::Lexer): added allbits?,
  anybits? and nobits? methods, as well as Integer.  a patch by
  aycabta.  [Feature #14170]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-13 10:26:09 +00:00
hsbt
b9426859e7 Bump version to etc-1.0.0 as default gems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-13 05:52:47 +00:00
mame
9b1d8ab7d0 ext/coverage/coverage.c: remove COVERAGE_EXPERIMENTAL_MODE
A NEWS entry is also added.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-12 00:20:58 +00:00
hsbt
848e6cfe7a Bump version to zlib-1.0.0 as default gems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-11 08:37:49 +00:00
hsbt
5f2083921b Bump version to sdbm-1.0.0 as default gems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61113 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-11 06:48:09 +00:00
hsbt
4000f70dc2 Bump version to fcntl-1.0.0 as default gems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-11 06:03:53 +00:00
hsbt
6b669d880c Bump version to date-1.0.0 as default gems.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-11 03:56:01 +00:00
stomar
9a26a4c13a ext/strscan/strscan.c: [DOC] grammar fixes
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-08 22:42:19 +00:00
nobu
a4804fbdf5 support gperf 3.1
* tool/gperf.sed: extracted sed commands to a script.  ANSI-C code
  produced by gperf 3.1 declares length arguments as `size_t`.  it
  causes conflict with existing declarations, and needs casts for
  a local variable and return statements.
  [Feature #13883]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-08 05:51:19 +00:00
hsbt
9ef078e2a7 Bump fiddle-1.0.0 for released version.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-06 08:35:13 +00:00
hsbt
836aaa0cdc Bump gdbm-2.0.0 for released versionn.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61052 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-06 08:34:34 +00:00
hsbt
2d031181af Bump dbm-1.0.0 for released version.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61051 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-06 08:32:01 +00:00
mame
f6556c5c39 ext/coverage/coverage.c: method coverage has column info. of method def.
This change makes method coverage result have not only first lineno of
method defintion, but also code range (i.e. first lineno, first column,
last lineno, and last column).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-05 08:56:51 +00:00
mame
a5e02f249d vm_core.h (rb_iseq_locatoin_t): add a field code_range
This change makes each ISeq keep NODE's code range.  This information is
needed for method coverage.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-05 08:56:50 +00:00
mame
0a6816ecd7 Revamp method coverage to support define_method
Traditionally, method coverage measurement was implemented by inserting
`trace2` instruction to the head of method iseq.  So, it just measured
methods defined by `def` keyword.

This commit drastically changes the measuring mechanism of method
coverage; at `RUBY_EVENT_CALL`, it keeps a hash from rb_method_entry_t*
to runs (i.e., it counts the runs per method entry), and at
`Coverage.result`, it creates the result hash by enumerating all
`rb_method_entry_t*` objects (by `ObjectSpace.each_object`).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-05 07:16:42 +00:00