diff --git a/include/ChangeLog b/include/ChangeLog
index 2ac7cecb71d397a09c39b3538181d05c9c96ac6a..69db5b765e112ddda6d00451b204f51a695b81bf 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2003-12-19  Andreas Tobler  <a.tobler@schweiz.ch>
+
+	* include/fibheap.h (fibnode): Use __extension__ for
+	bit-fields mark and degree if __GNUC__.
+
 2003-12-18  Kazu Hirata  <kazu@cs.umass.edu>
 
 	* include/fibheap.h (fibnode): Use unsigned long int for
diff --git a/include/fibheap.h b/include/fibheap.h
index addef19db95cd40d901fc494e913cda41c7cfc19..4eebaf13ba6f3e29f4e23aa8e8a99917718b8604 100644
--- a/include/fibheap.h
+++ b/include/fibheap.h
@@ -60,8 +60,8 @@ typedef struct fibnode
   fibheapkey_t key;
   void *data;
 #ifdef __GNUC__
-  unsigned long int degree : 31;
-  unsigned long int mark : 1;
+  __extension__ unsigned long int degree : 31;
+  __extension__ unsigned long int mark : 1;
 #else
   unsigned int degree : 31;
   unsigned int mark : 1;