Improve the test in bitfields.m4
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>
Tue, 5 May 2015 03:41:53 +0000 (03:41 +0000)
committerTrevor Saunders <tbsaunde@gcc.gnu.org>
Tue, 5 May 2015 03:41:53 +0000 (03:41 +0000)
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

config/ChangeLog
config/bitfields.m4
libobjc/ChangeLog
libobjc/configure

index 19f2103a3c09ad8397cb5c7f77ea9978ea6e73c9..d62ae4ce6c876d554002fb11267ac86a35202cab 100644 (file)
@@ -1,3 +1,8 @@
+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.
+
 2015-05-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
 
        * bitfields.m4: New file.
index ee8f3b5baba03b5ff840d358e77939eeb05c8e97..8185cd302a9c6a9047431f52dd769ad77e1135cd 100644 (file)
@@ -13,10 +13,9 @@ 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 :0; char y; };
-struct foo2 { char x; int :0; char y; };
-int foo1test[ sizeof (struct foo1) == 2 ? 1 : -1 ];
-int foo2test[ sizeof (struct foo2) == 5 ? 1 : -1]; ],
+      [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
index 5137f21c9c5052a6a73c7cdfc4908c51e693b9c4..d70808417ef797429d8172bacc2d25617120a852 100644 (file)
@@ -1,3 +1,7 @@
+2015-05-04  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
+
+       * configure: Regenerate.
+
 2015-05-01  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
 
        * acinclude.m4: Include bitfields.m4.
index 0547f913a6b9306a238a7bc2c5e2c53d9ec098d9..2f71735f2552ed013cab1bd85e5709fa1d95f1ad 100755 (executable)
@@ -11539,10 +11539,9 @@ else
 
     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-struct foo1 { char x; char :0; char y; };
-struct foo2 { char x; int :0; char y; };
-int foo1test[ sizeof (struct foo1) == 2 ? 1 : -1 ];
-int foo2test[ sizeof (struct foo2) == 5 ? 1 : -1];
+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 ];
 int
 main ()
 {