summaryrefslogtreecommitdiff
path: root/gcc/d/d-target.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/d/d-target.cc')
-rw-r--r--gcc/d/d-target.cc9
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;