diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ext/rbconfig/sizeof/extconf.rb | 18 | ||||
-rw-r--r-- | template/sizes.c.tmpl | 2 |
3 files changed, 25 insertions, 2 deletions
@@ -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 diff --git a/ext/rbconfig/sizeof/extconf.rb b/ext/rbconfig/sizeof/extconf.rb index 66f7d77630..3006436fac 100644 --- a/ext/rbconfig/sizeof/extconf.rb +++ b/ext/rbconfig/sizeof/extconf.rb @@ -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') diff --git a/template/sizes.c.tmpl b/template/sizes.c.tmpl index 045e69ee71..146e209db7 100644 --- a/template/sizes.c.tmpl +++ b/template/sizes.c.tmpl @@ -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)', } |