This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Patch to eliminate bcopy from the java directory
- To: gcc-patches at gcc dot gnu dot org
- Subject: Patch to eliminate bcopy from the java directory
- From: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Date: Sat, 10 Mar 2001 08:26:18 -0500 (EST)
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);