| Age | Commit message (Collapse) | Author |
|
|
|
https://developercommunity.visualstudio.com/t/warning-C5287:-operands-are-different-e/10877942?
It is not able to silence "operands are different enum types"
warnings, even using an explicit cast, as the message says.
|
|
```
x64-vcruntime140-ruby350.def : error LNK2001: unresolved external symbol Avx2WmemEnabledWeakValue
```
|
|
b48b841378f80e16378ceb83f3b78e52df9ae023, 2fe8b9cd3d308d754f3d33a948dfb1dd782a10dc: [Backport #21327]
Fix redefinition of `clock_gettime` and `clock_getres`
winpthreads-git 12.0.0.r720 provides `clock_gettime` and
`clock_getres` as inline functions.
digest.so needs ruby/digest.h which is installed by build-ext
Copy to path with the base name
|
|
This change will be merged into 3.5 along with other encoding, command
line, environment variables, etc.
Revert following commits:
- bd831bcca534955533d9135d8c2f22d7ae5b9aa8
[Bug #20929] Win32: Use `wcsftime`
- 1c15f641cc2bb88fa88123a11036ed58fbf9aa6d
[Bug #20929] Win32: Encode timezone name in UTF-8
- 78762b52185aa80ee55c0d49b495aceed863dce2
[Bug #20929] Fix `assert_zone_encoding`
Notes:
Merged: https://github.com/ruby/ruby/pull/12448
|
|
1. Store the `PKG_CONFIG` variable in Makefile.sub (or try to get it from the ENV var PKG_CONFIG in mkmf.rb)
2. Try to use --msvc-syntax, with a fallback to replacing -Lxxx with -libpath:xxx. --msvc-syntax has been in pkgconf since 1.4.0 (released 7 years ago). pkg-config (freedesktop), does not support it, hence the fallback.
3. The `try_ldflags` passes these `ldflags` as the `opt` parameter to the `link_command`, not as `ldflags`. Unix systems are forgiving in that regard, MSVC is not: as a result as passing them as `opt`, they (specifically the `/libpath:xxx` ones) end up passed before the `-link` command to `cl.exe` and it throws because it ignores it and therefore can't find the lib.
```
cl : Command line warning D9002 : ignoring unknown option '-libpath:C:/Users/julien/.conan2/p/libff3726d89a6255c/p/lib'
```
Notes:
Merged: https://github.com/ruby/ruby/pull/9815
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12428
|
|
Such as `$(ruby_version)`, `$(arch)` and so on.
Notes:
Merged: https://github.com/ruby/ruby/pull/12428
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12367
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12367
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12300
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12269
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12225
|
|
And embed the given `_WIN32_WINNT` in config.h as well, for extension
libraries.
Notes:
Merged: https://github.com/ruby/ruby/pull/12225
|
|
```
'function' undefined; assuming extern returning int
The compiler encountered a call to an undefined function.
```
Notes:
Merged: https://github.com/ruby/ruby/pull/12225
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12224
|
|
Two minor fixes to arm64 instruction decoding when looking for __pioinfo:
1. add_mask was shifted by one bit, it was intended to be 0x7f800000. However, since the mask was already excluding matching the 'sh' bit, and since the purpose of the add following the adrp is to add in the lower 12 bits, I opted to set the mask to 0x7fc00000 and simply remove the handling for the 12 bit shift option which is now required to be disabled in order to match.
2. adrp's immediate was supposed to be sign extended. So far, I have not seen cases where the global variable ends up before the code in memory, but it's a possibility, so handle the sign extension.
Notes:
Merged: https://github.com/ruby/ruby/pull/12222
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/12159
|
|
Update the default `NTVER`, so that the declarations of APIs
introduced since Windows 8 will be enabled.
https://learn.microsoft.com/cpp/porting/modifying-winver-and-win32-winnt
|
|
|
|
When the destination does not exist, `del` needs to do nothing.
|
|
|
|
Warned if both of `main` and `wmain` are exposed:
```
LINK : warning LNK4067: ambiguous entry point; selected 'mainCRTStartup'
```
Notes:
Merged: https://github.com/ruby/ruby/pull/12108
|
|
Windows 11 SDK Version 10.0.26100.0 introduced a new internal inline
function in ucrt/corecrt_math.h. Even it appears in object files and
will be included in the DEF file, it will be removed from the DLL and
result in a linker error.
Notes:
Merged: https://github.com/ruby/ruby/pull/12107
|
|
Prefix underscore is already removed here.
|
|
Suddenly it began to add `_ucrt_int_to_float` by the recent version.
|
|
This reverts commit 63ae1e3cb5d302e5229143c00152328166d26780.
|
|
Pass configure options to the generated Makefile as-is.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/11848
|
|
Join with a space in `MakeMakefile#libpathflag` instead.
Notes:
Merged: https://github.com/ruby/ruby/pull/11724
|
|
Using _wputenv_s simplifies the code and we can avoid code duplication by using rb_w32_home_dir() to initialize ENV['HOME'].
Notes:
Merged: https://github.com/ruby/ruby/pull/7034
|
|
isinf is defined in Visual Studio since version 2013.
Notes:
Merged: https://github.com/ruby/ruby/pull/3758
|
|
Raise SystemCallError exception when these functions return an error.
This changes behavior for the following case (found by the tests):
```ruby
dir1 = Dir.new('..')
dir2 = Dir.for_fd(dir1.fileno)
dir1.close
dir2.close
```
The above code is basically broken, as `dir1.close` closed the file
descriptor. The subsequent `dir2.close` call is undefined behavior.
When run in isolation, it raises Errno::EBADF after the change, but
if another thread opens a file descriptor between the `dir1.close`
and `dir2.close` calls, the `dir2.close` call could close the file
descriptor opened by the other thread. Raising an exception is much
better in this case as it makes it obvious there is a bug in the code.
For the readdir check, since the GVL has already been released,
reacquire it rb_thread_call_with_gvl if an exception needs to be
raised.
Due to the number of closedir calls, this adds static close_dir_data
and check_closedir functions. The close_dir_data takes a
struct dir_data * and handles setting the dir entry to NULL regardless
of failure.
Fixes [Bug #20586]
Co-authored-by: Nobuyoshi Nakada <nobu.nakada@gmail.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/11393
Merged-By: jeremyevans <code@jeremyevans.net>
|
|
Since universal-parser and prism support, prelude code used functions
inaccessible from outside libruby shared library.
```
linking goruby
/usr/bin/ld: goruby.o: in function `prelude_eval':
/home/runner/work/ruby/ruby/build/golf_prelude.c:221: undefined reference to `rb_ruby_prism_ptr'
/usr/bin/ld: goruby.o: in function `pm_prelude_load':
/home/runner/work/ruby/ruby/build/golf_prelude.c:192: undefined reference to `pm_options_line_set'
/usr/bin/ld: /home/runner/work/ruby/ruby/build/golf_prelude.c:193: undefined reference to `pm_parse_string'
/usr/bin/ld: goruby.o: in function `prelude_eval':
/home/runner/work/ruby/ruby/build/golf_prelude.c:224: undefined reference to `pm_iseq_new_with_opt'
/usr/bin/ld: /home/runner/work/ruby/ruby/build/golf_prelude.c:226: undefined reference to `pm_parse_result_free'
/usr/bin/ld: goruby.o: in function `prelude_ast_value':
/home/runner/work/ruby/ruby/build/golf_prelude.c:181: undefined reference to `rb_ruby_ast_data_get'
/usr/bin/ld: goruby.o: in function `prelude_eval':
/home/runner/work/ruby/ruby/build/golf_prelude.c:231: undefined reference to `rb_ruby_ast_data_get'
/usr/bin/ld: goruby.o: in function `pm_prelude_load':
/home/runner/work/ruby/ruby/build/golf_prelude.c:196: undefined reference to `pm_parse_result_free'
collect2: error: ld returned 1 exit status
```
|
|
On Windows, an executable file in the current directory has the
priority to the PATH environment variable always.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/11358
|
|
Directly call APIs available on Windows 8/Server 2012 and later.
Notes:
Merged: https://github.com/ruby/ruby/pull/11279
|
|
Directly call APIs available on Windows Vista/Server 2008 and later.
Notes:
Merged: https://github.com/ruby/ruby/pull/11279
|
|
|
|
|
|
This commit creates a new directory `gc` to put different GC
implementations and moves the default GC from gc_impl.c to gc/gc_impl.c.
The default GC can be easily switched using the `BUILTIN_GC` variable
in Makefile.in.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|