aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrevor Saunders <tbsaunde+gcc@tbsaunde.org>2015-05-05 03:41:53 +0000
committerTrevor Saunders <tbsaunde+gcc@tbsaunde.org>2015-05-05 03:41:53 +0000
commitefb5094c7241773f642e2da9e4bafc98a14a93b6 (patch)
treeccc4d5e0cfe5965a5e89e5eb7f6616cfdb85f63e
parentc25454102313f5375c83668bac54c10be68fb8c1 (diff)
Improve the test in bitfields.m4
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@222794 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--config/ChangeLog5
-rw-r--r--config/bitfields.m47
-rw-r--r--libobjc/ChangeLog4
-rwxr-xr-xlibobjc/configure7
4 files changed, 15 insertions, 8 deletions
diff --git a/config/ChangeLog b/config/ChangeLog
index 19f2103a3c0..d62ae4ce6c8 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -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.
diff --git a/config/bitfields.m4 b/config/bitfields.m4
index ee8f3b5baba..8185cd302a9 100644
--- a/config/bitfields.m4
+++ b/config/bitfields.m4
@@ -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
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 5137f21c9c5..d70808417ef 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -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.
diff --git a/libobjc/configure b/libobjc/configure
index 0547f913a6b..2f71735f255 100755
--- a/libobjc/configure
+++ b/libobjc/configure
@@ -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 ()
{