On 29-Nov-2019 08:14, Bram Moolenaar wrote:
Patch 8.1.2356
Problem:    rand() does not use the best algorithm.
Solution:   use xoshiro128** instead of xorshift. (Kaito Udagawa,
             closes #5279)
Files:      runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_random.vim



After this patch, mingw64 throws this compiler warning and linker error if FEAT_FLOAT is disabled: gcc -c -I. -Iproto -DWIN32 -DWINVER=0x0603 -D_WIN32_WINNT=0x0603 -DHAVE_PATHDEF -DFEAT_NORMAL -DHAVE_STDINT_H -DFEAT_GUI_MSWIN -DFEAT_CLIPBOARD -pipe -march=native -Wall -O3 -fomit-frame-pointer -freg-struct-return evalfunc.c -o gobjnative/evalfunc.o
evalfunc.c: In function 'f_rand':
evalfunc.c:5152:6: warning: implicit declaration of function 'f_srand'; did you mean 'f_rand'? [-Wimplicit-function-declaration]
 5152 |      f_srand(argvars, rettv);
      | ^~~~~~~
      |      f_rand
gcc -I. -Iproto -DWIN32 -DWINVER=0x0603 -D_WIN32_WINNT=0x0603 -DHAVE_PATHDEF -DFEAT_NORMAL -DHAVE_STDINT_H -pipe -march=native -Wall -O3 -fomit-frame-pointer -freg-struct-return -Wl,-nxcompat,-dynamicbase -municode -s -o vim.exe objnative/arabic.o objnative/arglist.o objnative/autocmd.o objnative/beval.o objnative/blob.o objnative/blowfish.o objnative/buffer.o objnative/bufwrite.o objnative/change.o objnative/charset.o objnative/cindent.o objnative/cmdexpand.o objnative/cmdhist.o objnative/crypt.o objnative/crypt_zip.o objnative/debugger.o objnative/dict.o objnative/diff.o objnative/digraph.o objnative/drawline.o objnative/drawscreen.o objnative/edit.o objnative/eval.o objnative/evalbuffer.o objnative/evalfunc.o objnative/evalvars.o objnative/evalwindow.o objnative/ex_cmds.o objnative/ex_cmds2.o objnative/ex_docmd.o objnative/ex_eval.o objnative/ex_getln.o objnative/fileio.o objnative/filepath.o objnative/findfile.o objnative/fold.o objnative/getchar.o objnative/hardcopy.o objnative/hashtab.o objnative/highlight.o objnative/if_cscope.o objnative/indent.o objnative/insexpand.o objnative/json.o objnative/list.o objnative/main.o objnative/map.o objnative/mark.o objnative/memfile.o objnative/memline.o objnative/menu.o objnative/message.o objnative/misc1.o objnative/misc2.o objnative/mouse.o objnative/move.o objnative/mbyte.o objnative/normal.o objnative/ops.o objnative/option.o objnative/optionstr.o objnative/os_mswin.o objnative/os_win32.o objnative/pathdef.o objnative/popupmenu.o objnative/popupwin.o objnative/profiler.o objnative/quickfix.o objnative/regexp.o objnative/register.o objnative/scriptfile.o objnative/screen.o objnative/search.o objnative/session.o objnative/sha256.o objnative/sign.o objnative/spell.o objnative/spellfile.o objnative/spellsuggest.o objnative/syntax.o objnative/tag.o objnative/term.o objnative/testing.o objnative/textprop.o objnative/ui.o objnative/undo.o objnative/usercmd.o objnative/userfunc.o objnative/version.o objnative/viminfo.o objnative/winclip.o objnative/window.o objnative/os_w32exe.o objnative/vimrc.o objnative/xdiffi.o objnative/xemit.o objnative/xprepare.o objnative/xutils.o objnative/xhistogram.o objnative/xpatience.o objnative/iscygpty.o -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lnetapi32 -lversion -lole32 -luuid D:/Users/John/Documents/software/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.1/../../../../x86_64-w64-mingw32/bin/ld.exe: objnative/evalfunc.o:evalfunc.c:(.text+0x2d31): undefined reference to `f_srand'
collect2.exe: error: ld returned 1 exit status

Cheers
John

--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/8f3cdc19-ced8-84f7-f136-efd5b708276a%40internode.on.net.

Raspunde prin e-mail lui