summaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>2015-11-07 19:36:26 +0000
committerTrevor Saunders <tbsaunde@gcc.gnu.org>2015-11-07 19:36:26 +0000
commita153644f75bb7e5c7814eb2a7a4737108018748f (patch)
tree9febea399aa1894ed3141daf9c1b518b6631b55a /libobjc
parent3dee689d8fa82d36a83926931bb9ebaad18ee465 (diff)
replace BITS_PER_UNIT with __CHAR_BIT__ in target libs
libgcc/ChangeLog: 2015-11-07 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * config/visium/lib2funcs.c (__set_trampoline_parity): Use __CHAR_BIT__ instead of BITS_PER_UNIT. * fixed-bit.h: Likewise. * fp-bit.h: Likewise. * libgcc2.c (__popcountSI2): Likewise. (__popcountDI2): Likewise. * libgcc2.h: Likewise. * libgcov.h: Likewise. libobjc/ChangeLog: 2015-11-07 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> PR libobjc/24775 * encoding.c (_darwin_rs6000_special_round_type_align): Use __CHAR_BIT__ instead of BITS_PER_UNIT. (objc_sizeof_type): Likewise. (objc_layout_structure): Likewise. (objc_layout_structure_next_member): Likewise. (objc_layout_finish_structure): Likewise. (objc_layout_structure_get_info): Likewise. From-SVN: r229936
Diffstat (limited to 'libobjc')
-rw-r--r--libobjc/ChangeLog11
-rw-r--r--libobjc/encoding.c35
2 files changed, 27 insertions, 19 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 3405ba71bef..e853396e8e4 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,14 @@
+2015-11-07 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
+ PR libobjc/24775
+ * encoding.c (_darwin_rs6000_special_round_type_align): Use
+ __CHAR_BIT__ instead of BITS_PER_UNIT.
+ (objc_sizeof_type): Likewise.
+ (objc_layout_structure): Likewise.
+ (objc_layout_structure_next_member): Likewise.
+ (objc_layout_finish_structure): Likewise.
+ (objc_layout_structure_get_info): Likewise.
+
2015-11-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
PR libobjc/24775
diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index 7de768f4509..ca34c7d525a 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -94,11 +94,8 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* Some ports (eg ARM) allow the structure size boundary to be
selected at compile-time. We override the normal definition with
one that has a constant value for this compilation. */
-#ifndef BITS_PER_UNIT
-#define BITS_PER_UNIT 8
-#endif
#undef STRUCTURE_SIZE_BOUNDARY
-#define STRUCTURE_SIZE_BOUNDARY (BITS_PER_UNIT * sizeof (struct{char a;}))
+#define STRUCTURE_SIZE_BOUNDARY (__CHAR_BIT__ * sizeof (struct{char a;}))
/* Some ROUND_TYPE_ALIGN macros use TARGET_foo, and consequently
target_flags. Define a dummy entry here to so we don't die.
@@ -163,7 +160,7 @@ _darwin_rs6000_special_round_type_align (const char *struc, int comp, int spec)
{
case RECORD_TYPE:
case UNION_TYPE:
- return MAX (MAX (comp, spec), objc_alignof_type (_stp) * BITS_PER_UNIT);
+ return MAX (MAX (comp, spec), objc_alignof_type (_stp) * __CHAR_BIT__);
break;
case DFmode:
case _C_LNG_LNG:
@@ -335,8 +332,8 @@ objc_sizeof_type (const char *type)
;
size = atoi (type + 1);
- startByte = position / BITS_PER_UNIT;
- endByte = (position + size) / BITS_PER_UNIT;
+ startByte = position / __CHAR_BIT__;
+ endByte = (position + size) / __CHAR_BIT__;
return endByte - startByte;
}
@@ -1093,7 +1090,7 @@ objc_layout_structure (const char *type,
layout->type = type;
layout->prev_type = NULL;
layout->record_size = 0;
- layout->record_align = BITS_PER_UNIT;
+ layout->record_align = __CHAR_BIT__;
layout->record_align = MAX (layout->record_align, STRUCTURE_SIZE_BOUNDARY);
}
@@ -1117,10 +1114,10 @@ objc_layout_structure_next_member (struct objc_struct_layout *layout)
type = objc_skip_type_qualifiers (layout->prev_type);
if (unionp)
layout->record_size = MAX (layout->record_size,
- objc_sizeof_type (type) * BITS_PER_UNIT);
+ objc_sizeof_type (type) * __CHAR_BIT__);
else if (*type != _C_BFLD)
- layout->record_size += objc_sizeof_type (type) * BITS_PER_UNIT;
+ layout->record_size += objc_sizeof_type (type) * __CHAR_BIT__;
else {
/* Get the bitfield's type */
for (bfld_type = type + 1;
@@ -1128,7 +1125,7 @@ objc_layout_structure_next_member (struct objc_struct_layout *layout)
bfld_type++)
/* do nothing */;
- bfld_type_align = objc_alignof_type (bfld_type) * BITS_PER_UNIT;
+ bfld_type_align = objc_alignof_type (bfld_type) * __CHAR_BIT__;
bfld_field_size = atoi (objc_skip_typespec (bfld_type));
layout->record_size += bfld_field_size;
}
@@ -1143,7 +1140,7 @@ objc_layout_structure_next_member (struct objc_struct_layout *layout)
type = objc_skip_type_qualifiers (layout->type);
if (*type != _C_BFLD)
- desired_align = objc_alignof_type (type) * BITS_PER_UNIT;
+ desired_align = objc_alignof_type (type) * __CHAR_BIT__;
else
{
desired_align = 1;
@@ -1153,7 +1150,7 @@ objc_layout_structure_next_member (struct objc_struct_layout *layout)
bfld_type++)
/* do nothing */;
- bfld_type_align = objc_alignof_type (bfld_type) * BITS_PER_UNIT;
+ bfld_type_align = objc_alignof_type (bfld_type) * __CHAR_BIT__;
bfld_field_size = atoi (objc_skip_typespec (bfld_type));
}
@@ -1180,7 +1177,7 @@ objc_layout_structure_next_member (struct objc_struct_layout *layout)
if (bfld_field_size)
layout->record_align = MAX (layout->record_align, desired_align);
else
- desired_align = objc_alignof_type (bfld_type) * BITS_PER_UNIT;
+ desired_align = objc_alignof_type (bfld_type) * __CHAR_BIT__;
/* A named bit field of declared type `int'
forces the entire structure to have `int' alignment.
@@ -1194,7 +1191,7 @@ objc_layout_structure_next_member (struct objc_struct_layout *layout)
if (maximum_field_alignment != 0)
type_align = MIN (type_align, maximum_field_alignment);
else if (DECL_PACKED (field))
- type_align = MIN (type_align, BITS_PER_UNIT);
+ type_align = MIN (type_align, __CHAR_BIT__);
#endif
layout->record_align = MAX (layout->record_align, type_align);
@@ -1251,9 +1248,9 @@ void objc_layout_finish_structure (struct objc_struct_layout *layout,
layout->type = NULL;
}
if (size)
- *size = layout->record_size / BITS_PER_UNIT;
+ *size = layout->record_size / __CHAR_BIT__;
if (align)
- *align = layout->record_align / BITS_PER_UNIT;
+ *align = layout->record_align / __CHAR_BIT__;
}
void objc_layout_structure_get_info (struct objc_struct_layout *layout,
@@ -1262,9 +1259,9 @@ void objc_layout_structure_get_info (struct objc_struct_layout *layout,
const char **type)
{
if (offset)
- *offset = layout->record_size / BITS_PER_UNIT;
+ *offset = layout->record_size / __CHAR_BIT__;
if (align)
- *align = layout->record_align / BITS_PER_UNIT;
+ *align = layout->record_align / __CHAR_BIT__;
if (type)
*type = layout->prev_type;
}