summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-08Timezone support by Time [Feature #14850]nobu
* strftime.c (rb_strftime): support timezone object by `%z`. * time.c (time_init_1, time_new_timew, time_getlocaltime): accept timezone object as `off`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-08test_jit.rb: skip to test tempdir emptinessk0kubun
on AppVeyor mswin. It's somehow failing and not reproductive on my environment. We're suspecting maybe somebody is still holding module handle, even while FreeLibrary is finished successfully. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-08revert r64947 and r64949k0kubun
Both didn't work well on mswin. Reverting. https://ci.appveyor.com/project/ruby/ruby/builds/19322867/job/28fgwiq8j7hdmeu6 https://ci.appveyor.com/project/ruby/ruby/builds/19323721/job/1s73mrgu8n8wpa5f We need to revisit this to have MJIT header in a correct place, but having both in the place didn't make JIT on install directory functional either anyway... git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07win32/Makefile.sub: create header install dir firstk0kubun
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07appveyor.yml: completely separate win32ole testsk0kubun
because r64938 was not enough and another win32ole test file (`test_win32ole_type.rb`) crashed worker. https://ci.appveyor.com/project/ruby/ruby/builds/19321161/job/ue1qrphi5j1xxgu6 Let's run whole win32ole test suite separately. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07win32/Makefile.sub: install precompiled header to prefixk0kubun
This is needed to run JIT from the installed ruby binary. Even after this, we're hitting another error though. start compilation: a@-e:1 -> C:\Users\k0kubun\AppData\Local\Temp/_ruby_mjit_p9712u0.c Starting process: cl cl -nologo -LD -DMJIT_HEADER -MD -Zi -W2 -wd4100 -wd4127 -wd4210 -wd4214 -wd4255 -wd4574 -wd4668 -wd4710 -wd4711 -wd4820 -wd4996 -we4028 -we4142 -O2sy- -Zm600 -DRUBY_EXPORT -I. -I.ext/include/x64-mswin64_140 -I../ruby/include -I../ruby -I../ruby/enc/unicode/10.0.0 -DRUBY_DEVEL=1 -DCANONICALIZATION_FOR_MATHN -D_WIN32_WINNT=0x0600 -FeC:\Users\k0kubun\AppData\Local\Temp/_ruby_mjit_p9712u0.so -FoC:\Users\k0kubun\AppData\Local\Temp/_ruby_mjit_p9712u0.obj -YuC:/usr/include/ruby-2.6.0/x64-mswin64_140/rb_mjit_header-2.6.0.pch C:/usr/include/ruby-2.6.0/x64-mswin64_140/rb_mjit_header-2.6.0.obj -TcC:\Users\k0kubun\AppData\Local\Temp/_ruby_mjit_p9712u0.c -link -LIBPATH:C:/usr/lib x64-vcruntime140-ruby260.lib -incremental:no -debug -opt:ref -opt:icf -dll _ruby_mjit_p9712u0.c C:\Users\k0kubun\AppData\Local\Temp/_ruby_mjit_p9712u0.c(1): error C2859: C:\usr\bin\vc140.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header. compile_c_to_so: compile error: 2 Failed to generate so: C:\Users\k0kubun\AppData\Local\Temp/_ruby_mjit_p9712u0.so git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07* 2018-10-08svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07mjit_worker.c: clean up all unnecessary files on mswink0kubun
test_jit.rb: passed all MJIT tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07mjit_worker.c: don't suppress cl.exe logsk0kubun
on --jit-verbose=2+. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07appveyor.yml: give up running TestThreadQueue#test_queue_with_trapk0kubun
for mswin. We tried to increase timeout and execute separately but both didn't work. Let me skip this until somebody starts to work on fixing this behavior, since this makes AppVeyor almost impossible to be used as CI. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07include/ruby/intern.h: don't modify MJIT_FUNC_EXPORTEDk0kubun
on most of platforms except mswin. Changing it to static was needed for mswin because it doesn't use transform_mjit_header, but for platforms that use it, it causes link error like: /usr/bin/ld: /tmp/_ruby_mjit_p21652u0.o: relocation R_X86_64_PC32 against undefined symbol `rb_vm_search_method_slowpath' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Bad value collect2: error: ld returned 1 exit status include/ruby/defines.h: MJIT_FUNC_EXPORTED moved to intern.h git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07vm_core.h: fix inconsistent prototype declarationsk0kubun
like "error: static declaration of 'xxx' follows non-static declaration". r64940 is successfully built on mswin but not built on almost all other environments. internal.h: ditto include/ruby/intern.h: MJIT_STATIC is moved to this file since this file also needs to use this. mjit.h: MJIT_STATIC is moved from this. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07mjit.h: introduce MJIT_STATIC for full mswin JIT supportk0kubun
This change resolves most of major remaining MJIT bugs on mswin. Since Visual Studio doesn't support generating pre-processed code preserving macros, we can't use transform_mjit_header approach for mswin. So we need to transform MJIT header using macro like this. vm.c: use MJIT_STATIC for non-static functions that exist on MJIT header and cause conflict on link. vm_insnhelper.c: ditto test_jit.rb: remove many skips for mswin. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07mjit_worker.c: print warning if FreeLibrary failsk0kubun
because somehow AppVeyor fails to remove so file by Permission Deined. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07appveyor.yml: separately execute unstable testsk0kubun
without -j option. Those 2 tests are too unstable on AppVeyor. test/excludes/TestThreadQueue.rb: The most unstable test ever. That even fails on my machine too. This may be possibly because recent SIGCHLD-related changes. https://ci.appveyor.com/project/ruby/ruby/build/9795/job/l9t4w9ks7arsldb1 test/excludes/TestWin32OLE.rb: I saw that win32ole crashes test-all several times. https://ci.appveyor.com/project/ruby/ruby/build/9811/job/ra5uxf2cg6v7ohag git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07revert r64935k0kubun
that didn't work at all. So the so file should be open at the time. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07Added missing declarations in readline.h bundled with macOS 10.14nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07appveyor.yml: use ./tmp as TMPDIR for test-allk0kubun
on VS. On AppVeyor, we seem to fail to remove so file due to permission error. C:/projects/ruby/test/ruby/test_jit.rb:419: warning: MJIT warning: failed to remove "C:\Users\appveyor\AppData\Local\Temp\1/_ruby_mjit_p3580u0.so": Permission denied https://ci.appveyor.com/project/ruby/ruby/builds/19317520/job/sh8s6tw6ayxvtl33 But this is not reproductive on my local mswin environment at all. To identify the cause, let me try changing the TMPDIR. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07mjit_worker.c: clean up .obj file on mswink0kubun
prior to this commit, .obj file is generated on current directory and nobody deletes that. This changes it to make sure it's generated to temporary directory and removes that. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07add_spec.rb: skip unstable spec on mingwk0kubun
This sometimes crashes mspec worker like https://ci.appveyor.com/project/ruby/ruby/build/9806/job/37tx2atojy96227m and it doesn't generate helpful output and it seems hard to fix it soon. As AppVeyor is too unstable by too many factors, let me skip this at least for a short term. until AppVeyor gets stable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07test_jit.rb: skip some testsk0kubun
that don't succeed on MinGW after r64929 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07mjit.c: fix obsoleted comment [ci skip]k0kubun
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07Fix indent of output in doc [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-07mjit.h: call compiled code immediatelyk0kubun
after the first compilation on --jit-wait. Previously the assignment to `func` didn't have meaning for the behavior, and the compiled code wasn't called immediately after the synchronous compilation. It wasn't intentional. Fixing this issue without impacting performance without --jit-wait is not so obvious. Adding branch or goto to call func in mjit_exec spoiled the performance without --jit-wait. Instead of that, I called the func inside mjit_wait_call() (former mjit_get_iseq_func()) which is never inlined to mjit_exec(). Thanks to that, this commit has no impact for normal performance. mjit.c: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-06* 2018-10-07svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-06revert r64925nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-06* 2018-10-06svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-06order-only-prerequisitesnobu
* defs/gmake.mk: use order-only-prerequisites to run build and test targets sequentially. https://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-05Use binread because webrick also uses binreadnaruse
Reported-by: MSP-Greg [Bug #15203] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-05Added news entry of r64741.hsbt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-05* expand tabs.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-05Add difference method to Arraynobu
I introduce a `difference` method equivalent to the `-` operator, but which accept more than array as argument. This improved readability, and it is also coherent with the `+` operator, which has a similar `concat` method. The method doesn't modify the original object and return a new object instead. I plan to introduce a `difference!` method as well. Tests and documentation are included. It solves partially https://bugs.ruby-lang.org/issues/14097 From: Ana María Martínez Gómez <ammartinez@suse.de> git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-05Update aclocal to 1.16.1 [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-05Remove wrong conversionnobu
* rational.c (nurat_to_double): should return `double`, not `Float`. fix r64897. [Bug #15189] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-04* expand tabs.svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-04use RARRAY_AREF().ko1
* struct.c (setup_struct): no need to use Array raw ptr here. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-04* 2018-10-05svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-04check argument type.ko1
* iseq.c (iseqw_s_compile): check argument type (T_STRING) to avoid SEGV. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-04lldb_rp: support Symbol [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-04Support ubasecrt.dll 10.0.17763.1 included in Windows 10 October 2018 Updateusa
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-03* 2018-10-04svn
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-03fileutils.rb: restore documentation for FileUtilsstomar
* lib/fileutils.rb: [DOC] restore documentation for FileUtils module which became undocumented with r63430. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-03Improve docs for RubyVM::AST and RubyVM::AST::Nodestomar
* ast.c: [DOC] fix error in code example for RubyVM::AST::Node#type (r63604 changed the return value of RubyVM::AST::Node#children); enable link to RubyVM::AST.parse method; other minor improvements. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-03lldb_rp: support T_CLASS,T_MODULE,T_ICLASS [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-03lldb_rp: use append_command_output [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-03Set indent_size of reg*.[ch] to 2 [ci skip]kazu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-03Use cd -Pnobu
Setting PWD in the process does not let `cd` traverse symlinks in /bin/sh on macOS. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-03support --with-arch=x86_64hshyouhei
Recent apple machines describe themselves being x86_64h. That architecture is somehow supported by their C compiler and at least by recent clang. However config.sub does not know that fact so making universal binary targeting it is rejected by the program. Why not skip the check by config.sub. [fix GH-1971] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-03Fix wrong use of BIGNUM_EMBED_LEN_NUMBITSnobu
* internal.h (BIGNUM_EMBED_LEN_SHIFT): BIGNUM_EMBED_LEN_NUMBITS is the bit width of embedded bignum length, and BIGNUM_EMBED_LEN_SHIFT is the bit offset of it. These two values happened to equal by chance, however they are different things. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-10-03lldb_rp: support more types [ci skip]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e