[#48591] StringValuePtrでnull終止されてない文字列の作り方 — madoka yamamoto <yamamotomadoka@...>
山本ともうします。
5 messages
2014/10/05
[#48598] Re: StringValuePtrでnull終止されてない文字列の作り方
— "NARUSE, Yui" <naruse@...>
2014/10/06
まず、CRubyとしてはStringValuePtrがNUL終端する保証はしていませんから、仮にnull-terminateしてないことにより問題が起きるならば、
[#48666] Re: [ruby-cvs:55171] duerst:r48021 (trunk): common.mk: Added a rule to generate lib/unicode_normalize/tables.rb. — "Martin J. Dürst" <duerst@...>
中田さん、こんにちは。
3 messages
2014/10/19
[ruby-dev:48609] [ruby-trunk - Bug #10350] [Closed] compile error in bignum.c line 3297 with old fcc on Solaris
From:
ngotogenome@...
Date:
2014-10-09 14:36:45 UTC
List:
ruby-dev #48609
Issue #10350 has been updated by Naohisa Goto.
Status changed from Open to Closed
% Done changed from 0 to 100
Applied in changeset r47860.
----------
* bignum.c (absint_numwords_generic): set an array element after
definition of a variable to fix compile error with older version
of fcc (Fujitsu C Compiler) 5.6 on Solaris 10 on Sparc.
[Bug #10350] [ruby-dev:48608]
----------------------------------------
Bug #10350: compile error in bignum.c line 3297 with old fcc on Solaris
https://bugs.ruby-lang.org/issues/10350#change-49319
* Author: Naohisa Goto
* Status: Closed
* Priority: Normal
* Assignee: Naohisa Goto
* Category: build
* Target version:
* ruby -v: ruby 2.2.0dev (2014-10-09) [sparc64-solaris2.10]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
Solaris上の古い fcc (Fujitsu C compiler) 5.6 にて、以下のコンパイルエラーが発生します。
~~~
"bignum.c", line 3297: error: initialization: constant expression is expected for variable: `nlz_bits_in_msbyte_bary'
~~~
以下のように変数の宣言と初期化を別々にしたらエラーなくビルドできました。
~~~
Index: bignum.c
===================================================================
--- bignum.c (revision 47859)
+++ bignum.c (working copy)
@@ -3294,7 +3294,7 @@
static const BDIGIT char_bit[1] = { CHAR_BIT };
BDIGIT numbytes_bary[bdigit_roomof(sizeof(numbytes))];
BDIGIT val_numbits_bary[bdigit_roomof(sizeof(numbytes) + 1)];
- BDIGIT nlz_bits_in_msbyte_bary[1] = { nlz_bits_in_msbyte };
+ BDIGIT nlz_bits_in_msbyte_bary[1];
BDIGIT word_numbits_bary[bdigit_roomof(sizeof(word_numbits))];
BDIGIT div_bary[numberof(val_numbits_bary) + BIGDIVREM_EXTRA_WORDS];
BDIGIT mod_bary[numberof(word_numbits_bary)];
@@ -3304,6 +3304,8 @@
int sign;
size_t numwords;
+ nlz_bits_in_msbyte_bary[0] = nlz_bits_in_msbyte;
+
/*
* val_numbits = numbytes * CHAR_BIT - nlz_bits_in_msbyte
* div, mod = val_numbits.divmod(word_numbits)
~~~
--
https://bugs.ruby-lang.org/