Skip to contentSkip to conversation

Fix warning about bitfield in struct ref

PATCH In review Shawn O. Pearce 2 participants 4 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Fix warning about bitfield in struct ref

cache.h:503: warning: type of bit-field 'force' is a GCC extension cache.h:504: warning: type of bit-field 'merge' is a GCC extension cache.h:505: warning: type of bit-field 'nonfastforward' is a GCC extension cache.h:506: warning: type of bit-field 'deletion' is a GCC extension

So we change it to an 'unsigned int' which is not a GCC extension.

---
 cache.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)
cache.h +4 -4
index ba9178f..65e019e 100644
@@ -500,10 +500,10 @@ struct ref {
 	struct ref *next;
 	unsigned char old_sha1[20];
 	unsigned char new_sha1[20];
-	unsigned char force : 1;
-	unsigned char merge : 1;
-	unsigned char nonfastforward : 1;
-	unsigned char deletion : 1;
+	unsigned int force:1,
+		merge:1,
+		nonfastforward:1,
+		deletion:1;
 	enum {
 		REF_STATUS_NONE = 0,
 		REF_STATUS_OK,
Signature · 1 line
1.5.3.5.1794.g083e
#1 lore raw

Hi,

cache.h struct ref { · line 503

Quoted 1 line · Shawn O. Pearce
cache.h +1 -0
+	unsigned int force:1,

Isn't this "unsigned force:1" everywhere else in git's source?

Ciao,
Dscho

#2 lore raw
Quoted 5 lines · Johannes Schindelin

cache.h struct ref { · line 503

Quoted 1 line · Shawn O. Pearce
cache.h +1 -0
+	unsigned int force:1,

Isn't this "unsigned force:1" everywhere else in git's source?

That may be true but Junio already applied it as "unsigned int" as I wrote it. Anyway "unsigned int" and "unsigned" will give the same result here; I just typed 4 characters more than I needed to.

Signature · 1 line
Shawn.
#3 lore raw

Hi,

Quoted 9 lines · Shawn O. Pearce
Quoted 5 lines · Johannes Schindelin

cache.h struct ref { · line 503

Quoted 1 line · Shawn O. Pearce
cache.h +1 -0
+	unsigned int force:1,

Isn't this "unsigned force:1" everywhere else in git's source?

That may be true but Junio already applied it as "unsigned int" as I wrote it.

Yes, I saw that _after_ I wrote this mail.

Quoted 2 lines

Anyway "unsigned int" and "unsigned" will give the same result here; I just typed 4 characters more than I needed to.

No big problem.

Ciao,
Dscho