* ext/rbconfig/sizeof/extconf.rb: Check several types defined in C99

and x86_64 ABI.

* template/sizes.c.tmpl: Relax a pattern for types.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2015-06-16 10:22:16 +00:00
Родитель e4d0f54b1b
Коммит 96593ece29
3 изменённых файлов: 25 добавлений и 2 удалений

Просмотреть файл

@ -1,3 +1,10 @@
Tue Jun 16 19:19:53 2015 Tanaka Akira <akr@fsij.org>
* ext/rbconfig/sizeof/extconf.rb: Check several types defined in C99
and x86_64 ABI.
* template/sizes.c.tmpl: Relax a pattern for types.
Tue Jun 16 17:37:01 2015 Koichi Sasada <ko1@atdot.net>
* test/objspace/test_objspace.rb: relax pattern because uncollectible

Просмотреть файл

@ -1,5 +1,6 @@
$srcs = %w[sizes.c]
$distcleanfiles.concat($srcs)
check_sizeof('int8_t')
check_sizeof('int16_t')
check_sizeof('int32_t')
@ -19,5 +20,20 @@ check_sizeof('wchar_t')
check_sizeof('wint_t', %w[wctype.h])
check_sizeof('wctrans_t', %w[wctype.h])
check_sizeof('wctype_t', %w[wctype.h])
check_sizeof('__int128')
check_sizeof('_Bool')
check_sizeof('long double')
check_sizeof('float _Complex')
check_sizeof('double _Complex')
check_sizeof('long double _Complex')
check_sizeof('float _Imaginary')
check_sizeof('double _Imaginary')
check_sizeof('long double _Imaginary')
check_sizeof('__int128') # x86_64 ABI (optional)
check_sizeof('__float128') # x86_64 ABI (optional)
check_sizeof('_Decimal32') # x86_64 ABI
check_sizeof('_Decimal64') # x86_64 ABI
check_sizeof('_Decimal128') # x86_64 ABI
check_sizeof('__m64') # x86_64 ABI (optional)
check_sizeof('__m128') # x86_64 ABI (optional)
create_makefile('rbconfig/sizeof')

Просмотреть файл

@ -7,7 +7,7 @@ class String
end
end
types = ARGF.grep(/^\s*RUBY_CHECK_SIZEOF\((\w[^\[\],#]*)[^#]*\)|
^\s*check_sizeof\('(\w+)'/x) {$+}
^\s*check_sizeof\('(.+?)'/x) {$+}
conditions = {
"long long" => 'defined(HAVE_TRUE_LONG_LONG)',
}