diff options
Diffstat (limited to 'gcc/d/d-target.cc')
-rw-r--r-- | gcc/d/d-target.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/d/d-target.cc b/gcc/d/d-target.cc index 02f7b742455..610be74ad48 100644 --- a/gcc/d/d-target.cc +++ b/gcc/d/d-target.cc @@ -158,9 +158,14 @@ Target::_init (const Param &) Type::thash_t = Type::tsize_t; /* Set-up target C ABI. */ - this->c.longsize = int_size_in_bytes (long_integer_type_node); - this->c.long_doublesize = int_size_in_bytes (long_double_type_node); + this->c.boolsize = (BOOL_TYPE_SIZE / BITS_PER_UNIT); + this->c.shortsize = (SHORT_TYPE_SIZE / BITS_PER_UNIT); + this->c.intsize = (INT_TYPE_SIZE / BITS_PER_UNIT); + this->c.longsize = (LONG_TYPE_SIZE / BITS_PER_UNIT); + this->c.long_longsize = (LONG_LONG_TYPE_SIZE / BITS_PER_UNIT); + this->c.long_doublesize = (LONG_DOUBLE_TYPE_SIZE / BITS_PER_UNIT); this->c.wchar_tsize = (WCHAR_TYPE_SIZE / BITS_PER_UNIT); + this->c.bitFieldStyle = targetm.ms_bitfield_layout_p (unknown_type_node) ? TargetC::BitFieldStyle::MS : TargetC::BitFieldStyle::Gcc_Clang; |