xref: /netbsd-src/external/gpl3/gcc.old/dist/config/bitfields.m4 (revision 1debfc3d3fad8af6f31804271c18e67f77b4d718)
1*1debfc3dSmrgdnl Copyright (C) 2015 Free Software Foundation, Inc.
2*1debfc3dSmrgdnl This file is free software, distributed under the terms of the GNU
3*1debfc3dSmrgdnl General Public License.  As a special exception to the GNU General
4*1debfc3dSmrgdnl Public License, this file may be distributed as part of a program
5*1debfc3dSmrgdnl that contains a configuration script generated by Autoconf, under
6*1debfc3dSmrgdnl the same distribution terms as the rest of that program.
7*1debfc3dSmrg
8*1debfc3dSmrg# Define HAVE_BITFIELD_TYPE_MATTERS if the type of bitfields effects their
9*1debfc3dSmrg# alignment.
10*1debfc3dSmrg
11*1debfc3dSmrgAC_DEFUN([gt_BITFIELD_TYPE_MATTERS],
12*1debfc3dSmrg[
13*1debfc3dSmrg  AC_CACHE_CHECK([if the type of bitfields matters], gt_cv_bitfield_type_matters,
14*1debfc3dSmrg  [
15*1debfc3dSmrg    AC_TRY_COMPILE(
16*1debfc3dSmrg      [struct foo1 { char x; char y:1; char z; };
17*1debfc3dSmrgstruct foo2 { char x; long long int y:1; char z; };
18*1debfc3dSmrgint foo1test[ sizeof (struct foo1) < sizeof (struct foo2) ? 1 : -1 ]; ],
19*1debfc3dSmrg      [], gt_cv_bitfield_type_matters=yes, gt_cv_bitfield_type_matters=no)
20*1debfc3dSmrg  ])
21*1debfc3dSmrg  if test $gt_cv_bitfield_type_matters = yes; then
22*1debfc3dSmrg    AC_DEFINE(HAVE_BITFIELD_TYPE_MATTERS, 1,
23*1debfc3dSmrg      [Define if the type of bitfields effects alignment.])
24*1debfc3dSmrg  fi
25*1debfc3dSmrg])
26