* internal.h (MUL_OVERFLOW_INT_P): New macro.

* sprintf.c (GETNUM): Don't overflow on signed integer multiplication.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2013-04-10

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Refactored.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
fix a typo and indent with tab instead of spaces

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
parse.y: mrhs_arg

* parse.y (mrhs_arg): reduce duplicated code.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bignum.c (rb_ll2big): Don't overflow on signed integer negation.

* ext/bigdecimal/bigdecimal.c (MUL_OVERFLOW_SIGNED_VALUE_P): New
  macro.
  (AddExponent): Don't overflow on signed integer multiplication.
  (VpCtoV): Don't overflow on signed integer arithmetic.
  (VpCtoV): Don't overflow on signed integer arithmetic.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/bigdecimal/bigdecimal.c (VpCtoV): Initialize a local variable
  even when overflow.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/fiddle/closure.c (initialize): check mprotect's return value.
  If mprotect is failed because of PaX or something, its function call
  will cause SEGV.
  http://c5664.rubyci.org/~chkbuild/ruby-trunk/log/20130401T210301Z.diff.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2013-04-11

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/mkmf.rb (pkg_config): Add optional argument "option".
  If it is given, it returns the result of
  `pkg-config --<option> <pkgname>`.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/fiddle/extconf.rb: define RUBY_LIBFFI_MODVERSION macro.

* ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): define 0 or 1
  with platform and libffi's version. [Bug #3371]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* regint.h: fix typo: _M_AMD86 -> _M_AMD64.

* siphash.c: ditto.

* st.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Explictly flush stdio

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* README: Fix typo by Benjamin Winkler [Fixes GH-281]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dir.c (file_s_fnmatch): Document File::FNM_EXTGLOB flag.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mkmf.rb: suppress warnings

* lib/mkmf.rb (try_func, try_var, scalar_ptr_type, scalar_type):
  suppress implicit-function-declaration warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/fiddle/closure.c (USE_FFI_CLOSURE_ALLOC): add missing case:
  RUBY_LIBFFI_MODVERSION is not defined (usually on Windows).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* dir.c: Fix a typo.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/drb/drbtest.rb (Drb{Core,Ary}#teardown): retry Process.kill
  if it fails with Errno::EPERM on Windows (workaround).
  [ruby-dev:47245] [Bug #8251]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Experimental fix for ffi_closure_free causes dumping core/SEGV

http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20130411T041301Z.log.html.gz#test%2F-ext-

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