d6ed95fcb5
Using a named bitfield with a width more than 0 means we won't hit weirdness caused by the bitfield not really needing to exist. Changing int to long long means we won't have trouble with some arch where size of int is 1 or 2. libobjc/ChangeLog: 2015-05-04 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * configure: Regenerate. config/ChangeLog: 2015-05-04 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * bitfields.m4: Change int to long long, and use bitfields of width 1 instead of 0. From-SVN: r222794
26 lines
1.0 KiB
Plaintext
26 lines
1.0 KiB
Plaintext
dnl Copyright (C) 2015 Free Software Foundation, Inc.
|
|
dnl This file is free software, distributed under the terms of the GNU
|
|
dnl General Public License. As a special exception to the GNU General
|
|
dnl Public License, this file may be distributed as part of a program
|
|
dnl that contains a configuration script generated by Autoconf, under
|
|
dnl the same distribution terms as the rest of that program.
|
|
|
|
# Define HAVE_BITFIELD_TYPE_MATTERS if the type of bitfields effects their
|
|
# alignment.
|
|
|
|
AC_DEFUN([gt_BITFIELD_TYPE_MATTERS],
|
|
[
|
|
AC_CACHE_CHECK([if the type of bitfields matters], gt_cv_bitfield_type_matters,
|
|
[
|
|
AC_TRY_COMPILE(
|
|
[struct foo1 { char x; char y:1; char z; };
|
|
struct foo2 { char x; long long int y:1; char z; };
|
|
int foo1test[ sizeof (struct foo1) < sizeof (struct foo2) ? 1 : -1 ]; ],
|
|
[], gt_cv_bitfield_type_matters=yes, gt_cv_bitfield_type_matters=no)
|
|
])
|
|
if test $gt_cv_bitfield_type_matters = yes; then
|
|
AC_DEFINE(HAVE_BITFIELD_TYPE_MATTERS, 1,
|
|
[Define if the type of bitfields effects alignment.])
|
|
fi
|
|
])
|