diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e99709572fe..ac296d12ca7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
 Thu Oct  3 09:33:26 1991  John Gilmore  (gnu at cygnus.com)
 
+	* c-exp.y:  sym->class to SYMBOL_CLASS (sym).
+
+	* dbxread.c (dbx_lookup_type):  Keep doubling size of typevector
+	until it is large enough.    
+
 	* dbxread.c (read_type):  Handle error case slightly better.
 	Make complaint message not C++-specific.
 
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index a16c5801075..b243e5cb51c 100644
--- a/gdb/c-exp.y
+++ b/gdb/c-exp.y
@@ -608,7 +608,7 @@ variable:	name_not_typename
 
 			  if (sym)
 			    {
-			      switch (sym->class)
+			      switch (SYMBOL_CLASS (sym))
 				{
 				case LOC_REGISTER:
 				case LOC_ARG:
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index d5ebb39fa9a..c201f43f8e9 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -626,7 +626,7 @@ dbx_lookup_type (typenums)
     {
       /* Type is defined outside of header files.
 	 Find it in this object file's type vector.  */
-      if (index >= type_vector_length)
+      while (index >= type_vector_length)
 	{
 	  type_vector_length *= 2;
 	  type_vector = (struct typevector *)