diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 2811532fa7285dc587056429c51be59eb99797f0..0377d3f1cf95aec86e04441b0d4decdcd532725d 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,10 @@
+Thu Oct  8 12:21:14 1998  Richard Frith-Macdonald <richard@brainstorm.co.uk>
+
+	* encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
+	(objc_get_type_qualifiers): Similarly.
+	* objc/encoding.h (_C_BYREF): Define.
+	(_F_BYREF): Define.
+
 1998-10-07  David S. Miller  <davem@pierdol.cobaltmicro.com>
 
 	* objc/sarray.h: Make boffset be an unsigned long when sparc so it
diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index 94c5ab8da51e163cc218fb6dbd1bb589cfe5a874..d4128704b9216fee1f2c398e297dd617f051d2db 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -402,6 +402,7 @@ objc_skip_type_qualifiers (const char* type)
 	 || *type == _C_INOUT
 	 || *type == _C_OUT 
 	 || *type == _C_BYCOPY
+         || *type == _C_BYREF
 	 || *type == _C_ONEWAY
 	 || *type == _C_GCINVISIBLE)
     {
@@ -661,6 +662,7 @@ objc_get_type_qualifiers (const char* type)
       case _C_INOUT:	res |= _F_INOUT; break;
       case _C_OUT:	res |= _F_OUT; break;
       case _C_BYCOPY:	res |= _F_BYCOPY; break;
+      case _C_BYREF:  res |= _F_BYREF; break;
       case _C_ONEWAY:	res |= _F_ONEWAY; break;
       case _C_GCINVISIBLE: res |= _F_GCINVISIBLE; break;
       default: flag = NO;
diff --git a/libobjc/objc/encoding.h b/libobjc/objc/encoding.h
index cbbc8de7ef5ce76d8ad970f6c550264d4dfd7ba7..b4def4302b5365cc9d82ddc88562bed2a05b868a 100644
--- a/libobjc/objc/encoding.h
+++ b/libobjc/objc/encoding.h
@@ -37,6 +37,7 @@ Boston, MA 02111-1307, USA.  */
 #define _C_INOUT	'N'
 #define _C_OUT      	'o'
 #define _C_BYCOPY	'O'
+#define _C_BYREF	'R'
 #define _C_ONEWAY	'V'
 #define _C_GCINVISIBLE	'!'
 
@@ -45,8 +46,9 @@ Boston, MA 02111-1307, USA.  */
 #define _F_OUT		0x02
 #define _F_INOUT	0x03
 #define _F_BYCOPY	0x04
-#define _F_ONEWAY	0x08
-#define _F_GCINVISIBLE	0x10
+#define _F_BYREF	0x08
+#define _F_ONEWAY	0x10
+#define _F_GCINVISIBLE	0x20
 
 int objc_aligned_size (const char* type);
 int objc_sizeof_type (const char* type);