[#74190] [Ruby trunk Feature#12134] Comparison between `true` and `false` — duerst@...
SXNzdWUgIzEyMTM0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgTWFydGluIETDvHJzdC4KCgpUc3V5b3No
3 messages
2016/03/07
[#74269] Type systems for Ruby — Rob Blanco <ml@...>
Dear ruby-core,
5 messages
2016/03/10
[#74395] [Ruby trunk Feature#12142] Hash tables with open addressing — shyouhei@...
Issue #12142 has been updated by Shyouhei Urabe.
3 messages
2016/03/17
[ruby-core:74659] [Ruby trunk Bug#11962] Ruby 2.3.0 causing compile failure on extensions using a C++ compiler
From:
naruse@...
Date:
2016-03-29 06:05:56 UTC
List:
ruby-core #74659
Issue #11962 has been updated by Yui NARUSE.
Backport changed from 2.1: DONTNEED, 2.2: DONE, 2.3: REQUIRED to 2.1: DONTNEED, 2.2: DONE, 2.3: DONE
ruby_2_3 r54364 merged revision(s) 53455.
----------------------------------------
Bug #11962: Ruby 2.3.0 causing compile failure on extensions using a C++ compiler
https://bugs.ruby-lang.org/issues/11962#change-57786
* Author: Sameer Deshmukh
* Status: Closed
* Priority: Normal
* Assignee: Nobuyoshi Nakada
* ruby -v: 2.3.0
* Backport: 2.1: DONTNEED, 2.2: DONE, 2.3: DONE
----------------------------------------
Hello,
I'm a contributor with the SciRuby foundation, and we have a gem called [nmatrix](https://github.com/SciRuby/nmatrix), which is a ruby gem for linear algebra processing in Ruby.
For representing different types of data, nmatrix makes heavy use of C++ templates, which requires compilation with g++. Currently we wrap the code that defines ruby functions at C level in an `extern "C" {}` block in a .cpp file and use g++ to compile the file as a whole.
Upgrading to ruby 2.3.0 has caused a problem because of [this change implemented in the internals of the ruby C API](https://github.com/ruby/ruby/commit/334710c155ad19cfd947ce6bcd7127b97cbe37da#diff-3b256c5581538dcd834697c766a2b1aaR879).
As specified in the GCC docs (https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html) the function "__builtin_choose_expr" (that has been introduced in the latest Ruby C API) is available only for C. Thus the change is rendering our C++ extensions useless.
You can see the compile error being caused in nmatrix here: https://github.com/SciRuby/nmatrix/issues/429
I have come up with [a temporary fix for this](https://github.com/SciRuby/nmatrix/pull/432/files#diff-cc867f54069967617c44c1ca31a5969aR37), but its only patch work and will need to be done by every single extension employing a C++ compiler.
Looking forward to a positive response from you.
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>