mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	merge revision(s) 57170-57172: [Backport #13066]
test/unit.rb: restore parallel option * test/lib/test/unit.rb (_run_parallel): restore parallel option after retrying for --repeat-count option. ------------------------------------------------------------------------ r57170 | nobu | 2016-12-24 20:56:12 +0900 (Sat, 24 Dec 2016) | 1 line time.c: fix typo in value_insane_p ------------------------------------------------------------------------ r57171 | nobu | 2016-12-24 21:19:23 +0900 (Sat, 24 Dec 2016) | 1 line time.c: remove debug code ------------------------------------------------------------------------ r57172 | nobu | 2016-12-24 21:21:52 +0900 (Sat, 24 Dec 2016) | 4 lines time.c: fix type of usec2subsecx * time.c (usec2subsecx): fix return type, which is a numeric object but not a long int. [ruby-dev:49912] [Bug #13066] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@57830 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									3f306dc298
								
							
						
					
					
						commit
						a3cfd380c4
					
				
					 2 changed files with 6 additions and 49 deletions
				
			
		
							
								
								
									
										45
									
								
								time.c
									
										
									
									
									
								
							
							
						
						
									
										45
									
								
								time.c
									
										
									
									
									
								
							|  | @ -53,41 +53,6 @@ eq(VALUE x, VALUE y) | |||
|     return RTEST(rb_funcall(x, id_eq, 1, y)); | ||||
| } | ||||
| 
 | ||||
| #ifdef _MSC_VER | ||||
| static void * | ||||
| value_insane_p(VALUE x) | ||||
| { | ||||
|     VALUE klass; | ||||
|     LPEXCEPTION_POINTERS info; | ||||
|     void *failed_address = 0; | ||||
|     if (SPECIAL_CONST_P(x)) return 0; | ||||
|     if (!RBASIC_CLASS(x)) return (void *)x; | ||||
|     __try { | ||||
| 	RB_GC_GUARD(klass) = RBASIC_CLASS(x); | ||||
|     } | ||||
|     __except (GetExceptionCode() == EXCEPTION_ACCESS_VIOLATION ? | ||||
| 	      (info = GetExceptionInformation(), EXCEPTION_EXECUTE_HANDLER) : | ||||
| 	      EXCEPTION_CONTINUE_SEARCH) { | ||||
| 	PEXCEPTION_RECORD rec = info->ExceptionRecord; | ||||
| 	failed_address = (void *)rec->ExceptionInformation[1]; | ||||
|     } | ||||
|     return failed_address; | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| inquire_value(VALUE x, const char *mesg) | ||||
| { | ||||
|     void *failed_address = value_insane_p(x); | ||||
|     if (failed_address) { | ||||
| 	rb_fatal("Access violation at %p: class of %p: %s", | ||||
| 		 failed_address, (void *)x, mesg); | ||||
|     } | ||||
| } | ||||
| #else | ||||
| # define value_insane_p(x) ((void)(x), 0) | ||||
| # define inquire_value(x, mesg) (void)value_insane_p(x) | ||||
| #endif | ||||
| 
 | ||||
| static int | ||||
| cmp(VALUE x, VALUE y) | ||||
| { | ||||
|  | @ -98,8 +63,6 @@ cmp(VALUE x, VALUE y) | |||
|             return 1; | ||||
|         return 0; | ||||
|     } | ||||
|     inquire_value(x, "cmp(x)"); | ||||
|     inquire_value(y, "cmp(y)"); | ||||
|     return rb_cmpint(rb_funcall(x, id_cmp, 1, y), x, y); | ||||
| } | ||||
| 
 | ||||
|  | @ -2482,7 +2445,7 @@ obj2subsecx(VALUE obj, VALUE *subsecx) | |||
|     return obj2ubits(obj, 6); /* vtm->sec */ | ||||
| } | ||||
| 
 | ||||
| static long | ||||
| static VALUE | ||||
| usec2subsecx(VALUE obj) | ||||
| { | ||||
|     if (RB_TYPE_P(obj, T_STRING)) { | ||||
|  | @ -2618,12 +2581,6 @@ time_arg(int argc, VALUE *argv, struct vtm *vtm) | |||
|         vtm->sec  = NIL_P(v[5])?0:obj2subsecx(v[5], &vtm->subsecx); | ||||
|     } | ||||
| 
 | ||||
|     if (value_insane_p(vtm->subsecx)) { | ||||
| 	rb_fatal("argc=%d, sec=%"PRIsVALUE", subsec=%"PRIsVALUE", subsecx=%p", | ||||
| 		 argc, v[5], argc == 7 ? v[6] : Qnil, | ||||
| 		 &RBASIC_CLASS(vtm->subsecx)); | ||||
|     } | ||||
| 
 | ||||
|     validate_vtm(vtm); | ||||
|     RB_GC_GUARD(vtm->subsecx); | ||||
| } | ||||
|  |  | |||
							
								
								
									
										10
									
								
								version.h
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								version.h
									
										
									
									
									
								
							|  | @ -1,10 +1,10 @@ | |||
| #define RUBY_VERSION "2.4.0" | ||||
| #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR | ||||
| #define RUBY_PATCHLEVEL 0 | ||||
| #define RUBY_RELEASE_DATE "2017-03-11" | ||||
| #define RUBY_PATCHLEVEL 1 | ||||
| 
 | ||||
| #define RUBY_RELEASE_YEAR 2016 | ||||
| #define RUBY_RELEASE_MONTH 12 | ||||
| #define RUBY_RELEASE_DAY 24 | ||||
| #define RUBY_RELEASE_YEAR 2017 | ||||
| #define RUBY_RELEASE_MONTH 3 | ||||
| #define RUBY_RELEASE_DAY 11 | ||||
| 
 | ||||
| #include "ruby/version.h" | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 naruse
						naruse