summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-03-11 10:28:14 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-03-11 10:28:14 +0000
commitb5154b0eb71f0b1c523a1361fff2221907c87fc5 (patch)
treebb6b573fc7a2411ed7c551b7709c5fe7b088e882
parenta3cfd380c430567f3d7289ace7e467dda315418c (diff)
merge revision(s) 57173-57175: [Backport #13068]
------------------------------------------------------------------------ r57173 | nobu | 2016-12-24 22:19:50 +0900 (Sat, 24 Dec 2016) | 4 lines compile.c: constify * compile.c (method_for_self): constify an argument of build function for VC6. ------------------------------------------------------------------------ r57174 | nobu | 2016-12-24 22:21:30 +0900 (Sat, 24 Dec 2016) | 4 lines hash.c: split long long literals * hash.c (prime1, prime2): split long long literals for platforms where LL suffix is not supported, e.g., VC6. ------------------------------------------------------------------------ r57175 | nobu | 2016-12-24 22:22:53 +0900 (Sat, 24 Dec 2016) | 4 lines regint.h: version for secure functions * regint.h (xvsnprintf): secure version functions are not supported on old VC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@57831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--compile.c2
-rw-r--r--hash.c4
-rw-r--r--regint.h2
-rw-r--r--version.h2
4 files changed, 5 insertions, 5 deletions
diff --git a/compile.c b/compile.c
index c8e8add49a..23a85f8785 100644
--- a/compile.c
+++ b/compile.c
@@ -7058,7 +7058,7 @@ typedef struct {
static const rb_iseq_t *
method_for_self(VALUE name, VALUE arg, rb_insn_func_t func,
- VALUE (*build)(rb_iseq_t *, LINK_ANCHOR *, VALUE))
+ VALUE (*build)(rb_iseq_t *, LINK_ANCHOR *const, VALUE))
{
VALUE path, absolute_path;
accessor_args acc;
diff --git a/hash.c b/hash.c
index 1867c0999c..9cb4dcfa2e 100644
--- a/hash.c
+++ b/hash.c
@@ -220,8 +220,8 @@ rb_any_hash(VALUE a)
tailored Spooky or City hash function can be. */
/* Here we two primes with random bit generation. */
-static const uint64_t prime1 = 0x2e0bb864e9ea7df5ULL;
-static const uint64_t prime2 = 0xcdb32970830fcaa1ULL;
+static const uint64_t prime1 = ((uint64_t)0x2e0bb864 << 32) | 0xe9ea7df5;
+static const uint64_t prime2 = ((uint64_t)0xcdb32970 << 32) | 0x830fcaa1;
static inline uint64_t
diff --git a/regint.h b/regint.h
index 344ece4ef1..624deea864 100644
--- a/regint.h
+++ b/regint.h
@@ -202,7 +202,7 @@
#define xmemcpy memcpy
#define xmemmove memmove
-#if defined(_WIN32) && !defined(__GNUC__)
+#if defined(RUBY_MSVCRT_VERSION) && RUBY_MSVCRT_VERSION >= 90 && !defined(__GNUC__)
# define xalloca _alloca
# define xvsnprintf(buf,size,fmt,args) _vsnprintf_s(buf,size,_TRUNCATE,fmt,args)
# define xsnprintf sprintf_s
diff --git a/version.h b/version.h
index b8cbc4023e..1ab68bcd19 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.4.0"
#define RUBY_RELEASE_DATE "2017-03-11"
-#define RUBY_PATCHLEVEL 1
+#define RUBY_PATCHLEVEL 2
#define RUBY_RELEASE_YEAR 2017
#define RUBY_RELEASE_MONTH 3