Patch to eliminate bcopy from the java directory

Kaveh R. Ghazi ghazi@caip.rutgers.edu
Sat Mar 10 05:27:00 GMT 2001


This patch eliminates bcopy from the java directory.  I'd appreciate
it if the reviewer would double check whether the memcpy calls should
in fact be memmove instead.

Ok to install?

		--Kaveh


2001-03-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* constants.c (PUTN): Use memcpy, not bcopy.

	* lex.c (java_read_char): Use memmove, not bcopy.

	* parse.y (java_parser_context_resume): Use memcpy, not bcopy.

diff -rup orig/egcs-CVS20010309/gcc/java/constants.c egcs-CVS20010309/gcc/java/constants.c
--- orig/egcs-CVS20010309/gcc/java/constants.c	Sun Feb  4 17:44:02 2001
+++ egcs-CVS20010309/gcc/java/constants.c	Sat Mar 10 00:28:18 2001
@@ -214,7 +214,7 @@ find_methodref_index (cpool, decl)
 #define PUT1(X)  (*ptr++ = (X))
 #define PUT2(X)  (PUT1((X) >> 8), PUT1(X))
 #define PUT4(X)  (PUT2((X) >> 16), PUT2(X))
-#define PUTN(P, N)  (bcopy(P, ptr, N), ptr += (N))
+#define PUTN(P, N)  (memcpy(ptr, (P), (N)), ptr += (N))
 
 /* Give the number of bytes needed in a .class file for the CPOOL
    constant pool.  Includes the 2-byte constant_pool_count. */
diff -rup orig/egcs-CVS20010309/gcc/java/lex.c egcs-CVS20010309/gcc/java/lex.c
--- orig/egcs-CVS20010309/gcc/java/lex.c	Fri Feb 23 22:28:39 2001
+++ egcs-CVS20010309/gcc/java/lex.c	Sat Mar 10 00:16:41 2001
@@ -417,10 +417,8 @@ java_read_char (lex)
 			 is in the middle of a character sequence.  We just
 			 move the valid part of the buffer to the beginning
 			 to force a read.  */
-		      /* We use bcopy() because it should work for
-			 overlapping strings.  Use memmove() instead... */
-		      bcopy (&lex->buffer[lex->first], &lex->buffer[0],
-			     lex->last - lex->first);
+		      memmove (&lex->buffer[0], &lex->buffer[lex->first], 
+			       lex->last - lex->first);
 		      lex->last -= lex->first;
 		      lex->first = 0;
 		    }
diff -rup orig/egcs-CVS20010309/gcc/java/parse.y egcs-CVS20010309/gcc/java/parse.y
--- orig/egcs-CVS20010309/gcc/java/parse.y	Fri Feb 23 22:28:39 2001
+++ egcs-CVS20010309/gcc/java/parse.y	Sat Mar 10 08:07:27 2001
@@ -2788,8 +2788,8 @@ java_parser_context_resume ()
   ctxp = restored;
 
   /* Re-installed the data for the parsing to carry on */
-  bcopy (&old->marker_begining, &ctxp->marker_begining,
-	 (size_t)(&ctxp->marker_end - &ctxp->marker_begining));
+  memcpy (&ctxp->marker_begining, &old->marker_begining, 
+	  (size_t)(&ctxp->marker_end - &ctxp->marker_begining));
 
   /* Buffer context can now be discarded */
   free (saver);




More information about the Gcc-patches mailing list