2000-04-18  Manfred Hollstein  <manfredh@redhat.com>
	    Alexandre Oliva  <oliva@lsd.ic.unicamp.br>

	* BitSet.h (and, or, xor): Do not define.
	* Integer.cc (complem): Renamed from compl.
	* Integer.h (complem): Likewise.
	(and, or, xor): Do not define.

	* BitString.h, BitString.cc (and, or, xor): Rename to and_f,
	or_f, xor_f to avoid conflicts with ISO-C++ defined operator
	names.

diff -rup -x CVS -x RCS -x *.o -x *.info* -x *.html* -x *.elc -x *.dvi -x *.orig -x *~ -x version.el libg++-2.8.1.3.orig/libg++/src/BitSet.h libg++-2.8.1.3/libg++/src/BitSet.h
--- libg++-2.8.1.3.orig/libg++/src/BitSet.h	Sun Nov 24 10:16:48 1996
+++ libg++-2.8.1.3/libg++/src/BitSet.h	Wed Apr 19 14:43:56 2000
@@ -1,6 +1,6 @@
 // This may look like C code, but it is really -*- C++ -*-
 /* 
-Copyright (C) 1988 Free Software Foundation
+Copyright (C) 1988, 2000 Free Software Foundation
     written by Doug Lea (dl@rocky.oswego.edu)
 
 This file is part of the GNU C++ Library.  This library is free
@@ -171,11 +171,13 @@ public:
 #ifndef __STRICT_ANSI__
   // procedural versions of operators
 
+#if 0
   // The first three of these are incompatible with ANSI C++ digraphs.
   // In any case, it's not a great interface.
   friend void        and(const BitSet& x, const BitSet& y, BitSet& r);
   friend void        or(const BitSet& x, const BitSet& y, BitSet& r);
   friend void        xor(const BitSet& x, const BitSet& y, BitSet& r);
+#endif
   friend void        diff(const BitSet& x, const BitSet& y, BitSet& r);
   friend void        complement(const BitSet& x, BitSet& r);
 #endif
@@ -220,6 +222,7 @@ inline int operator >  (const BitSet& x,
 inline int operator >= (const BitSet& x, const BitSet& y) { return y <= x; }
 
 #ifndef __STRICT_ANSI__
+#if 0
 inline void and(const BitSet& x, const BitSet& y, BitSet& r)
 {
   r.rep =  BitSetop(x.rep, y.rep, r.rep, '&');
@@ -234,6 +237,7 @@ inline void xor(const BitSet& x, const B
 {
   r.rep =  BitSetop(x.rep, y.rep, r.rep, '^');
 }
+#endif
 
 inline void diff(const BitSet& x, const BitSet& y, BitSet& r)
 {
diff -rup -x CVS -x RCS -x *.o -x *.info* -x *.html* -x *.elc -x *.dvi -x *.orig -x *~ -x version.el libg++-2.8.1.3.orig/libg++/src/BitString.cc libg++-2.8.1.3/libg++/src/BitString.cc
--- libg++-2.8.1.3.orig/libg++/src/BitString.cc	Thu Dec 17 15:34:11 1998
+++ libg++-2.8.1.3/libg++/src/BitString.cc	Wed Apr 19 14:43:56 2000
@@ -1,5 +1,5 @@
 /* 
-Copyright (C) 1988 Free Software Foundation
+Copyright (C) 1988, 2000 Free Software Foundation
     written by Doug Lea (dl@rocky.oswego.edu)
 
 This file is part of the GNU C++ Library.  This library is free
@@ -333,7 +333,7 @@ BitStrRep* cmpl(const BitStrRep* src, Bi
 }
 
 
-BitStrRep* and(const BitStrRep* x, const BitStrRep* y, BitStrRep* r)
+BitStrRep* and_f(const BitStrRep* x, const BitStrRep* y, BitStrRep* r)
 {
   int xrsame = x == r;
   int yrsame = y == r;
@@ -354,7 +354,7 @@ BitStrRep* and(const BitStrRep* x, const
   return r;
 }
 
-BitStrRep* or(const BitStrRep* x, const BitStrRep* y, BitStrRep* r)
+BitStrRep* or_f(const BitStrRep* x, const BitStrRep* y, BitStrRep* r)
 {
   _G_uint32_t  xl = x->len;
   _G_uint32_t  yl = y->len;
@@ -385,7 +385,7 @@ BitStrRep* or(const BitStrRep* x, const 
 }
 
 
-BitStrRep* xor(const BitStrRep* x, const BitStrRep* y, BitStrRep* r)
+BitStrRep* xor_f(const BitStrRep* x, const BitStrRep* y, BitStrRep* r)
 {
   _G_uint32_t  xl = x->len;
   _G_uint32_t  yl = y->len;
diff -rup -x CVS -x RCS -x *.o -x *.info* -x *.html* -x *.elc -x *.dvi -x *.orig -x *~ -x version.el libg++-2.8.1.3.orig/libg++/src/BitString.h libg++-2.8.1.3/libg++/src/BitString.h
--- libg++-2.8.1.3.orig/libg++/src/BitString.h	Mon Aug 31 12:12:25 1998
+++ libg++-2.8.1.3/libg++/src/BitString.h	Wed Apr 19 14:43:56 2000
@@ -1,6 +1,6 @@
 // This may look like C code, but it is really -*- C++ -*-
 /* 
-Copyright (C) 1988 Free Software Foundation
+Copyright (C) 1988, 2000 Free Software Foundation
     written by Doug Lea (dl@rocky.oswego.edu)
 
 This file is part of the GNU C++ Library.  This library is free
@@ -43,9 +43,9 @@ extern BitStrRep*  BStr_alloc(BitStrRep*
 extern BitStrRep*  BStr_resize(BitStrRep*, _G_int32_t);
 extern BitStrRep*  BStr_copy(BitStrRep*, const BitStrRep*);
 extern BitStrRep*  cmpl(const BitStrRep*, BitStrRep*);
-extern BitStrRep*  and(const BitStrRep*, const BitStrRep*, BitStrRep*);
-extern BitStrRep*  or(const BitStrRep*, const BitStrRep*, BitStrRep*);
-extern BitStrRep*  xor(const BitStrRep*, const BitStrRep*, BitStrRep*);
+extern BitStrRep*  and_f(const BitStrRep*, const BitStrRep*, BitStrRep*);
+extern BitStrRep*  or_f(const BitStrRep*, const BitStrRep*, BitStrRep*);
+extern BitStrRep*  xor_f(const BitStrRep*, const BitStrRep*, BitStrRep*);
 extern BitStrRep*  diff(const BitStrRep*, const BitStrRep*, BitStrRep*);
 extern BitStrRep*  cat(const BitStrRep*, const BitStrRep*, BitStrRep*);
 extern BitStrRep*  cat(const BitStrRep*, unsigned int, BitStrRep*);
@@ -130,9 +130,9 @@ public:
 // procedural versions of operators
 
 
-  friend void        and(const BitString&, const BitString&, BitString&);
-  friend void        or(const BitString&, const BitString&, BitString&);
-  friend void        xor(const BitString&, const BitString&, BitString&);
+  friend void        and_f(const BitString&, const BitString&, BitString&);
+  friend void        or_f(const BitString&, const BitString&, BitString&);
+  friend void        xor_f(const BitString&, const BitString&, BitString&);
   friend void        diff(const BitString&, const BitString&, BitString&);
   friend void        cat(const BitString&, const BitString&, BitString&);
   friend void        cat(const BitString&, unsigned int, BitString&);
@@ -397,19 +397,19 @@ inline BitPattern::~BitPattern() {}
 
 // procedural versions of operators
 
-inline void and(const BitString& x, const BitString& y, BitString& r)
+inline void and_f(const BitString& x, const BitString& y, BitString& r)
 {
-  r.rep = and(x.rep, y.rep, r.rep);
+  r.rep = and_f(x.rep, y.rep, r.rep);
 }
 
-inline void or(const BitString& x, const BitString& y, BitString& r)
+inline void or_f(const BitString& x, const BitString& y, BitString& r)
 {
-  r.rep = or(x.rep, y.rep, r.rep);
+  r.rep = or_f(x.rep, y.rep, r.rep);
 }
 
-inline void xor(const BitString& x, const BitString& y, BitString& r)
+inline void xor_f(const BitString& x, const BitString& y, BitString& r)
 {
-  r.rep = xor(x.rep, y.rep, r.rep);
+  r.rep = xor_f(x.rep, y.rep, r.rep);
 }
 
 inline void diff(const BitString& x, const BitString& y, BitString& r)
@@ -447,20 +447,20 @@ inline void complement(const BitString& 
 
 inline BitString& BitString::operator &= (const BitString& y)
 {
-  and(*this, y, *this);
+  and_f(*this, y, *this);
   return *this;
 }
 
 
 inline BitString& BitString::operator |= (const BitString& y)
 {
-  or(*this, y, *this);
+  or_f(*this, y, *this);
   return *this;
 }
 
 inline BitString& BitString::operator ^= (const BitString& y)
 {
-  xor(*this, y, *this);
+  xor_f(*this, y, *this);
   return *this;
 }
 
@@ -503,17 +503,17 @@ inline void BitString::complement()
 
 inline BitString  operator & (const BitString& x, const BitString& y) return r
 {
-  and(x, y, r);
+  and_f(x, y, r);
 }
 
 inline BitString  operator | (const BitString& x, const BitString& y) return r
 {
-  or(x, y, r);
+  or_f(x, y, r);
 }
 
 inline BitString  operator ^ (const BitString& x, const BitString& y) return r
 {
-  xor(x, y, r);
+  xor_f(x, y, r);
 }
 
 inline BitString  operator << (const BitString& x, _G_int32_t y) return r
diff -rup -x CVS -x RCS -x *.o -x *.info* -x *.html* -x *.elc -x *.dvi -x *.orig -x *~ -x version.el libg++-2.8.1.3.orig/libg++/src/Integer.cc libg++-2.8.1.3/libg++/src/Integer.cc
--- libg++-2.8.1.3.orig/libg++/src/Integer.cc	Thu Dec 17 15:34:11 1998
+++ libg++-2.8.1.3/libg++/src/Integer.cc	Wed Apr 19 14:43:56 2000
@@ -1,5 +1,5 @@
 /* 
-Copyright (C) 1988 Free Software Foundation
+Copyright (C) 1988, 2000 Free Software Foundation
     written by Doug Lea (dl@rocky.oswego.edu)
 
 This file is part of the GNU C++ Library.  This library is free
@@ -1664,7 +1664,7 @@ IntRep* bitop(const IntRep* x, long y, I
 
 
 
-IntRep*  compl(const IntRep* src, IntRep* r)
+IntRep*  complem(const IntRep* src, IntRep* r)
 {
   nonnil(src);
   r = Icopy(r, src);
diff -rup -x CVS -x RCS -x *.o -x *.info* -x *.html* -x *.elc -x *.dvi -x *.orig -x *~ -x version.el libg++-2.8.1.3.orig/libg++/src/Integer.h libg++-2.8.1.3/libg++/src/Integer.h
--- libg++-2.8.1.3.orig/libg++/src/Integer.h	Mon Aug 31 12:12:25 1998
+++ libg++-2.8.1.3/libg++/src/Integer.h	Wed Apr 19 18:07:57 2000
@@ -1,7 +1,7 @@
 // This may look like C code, but it is really -*- C++ -*-
 
 /* 
-Copyright (C) 1988 Free Software Foundation
+Copyright (C) 1988, 2000 Free Software Foundation
     written by Doug Lea (dl@rocky.oswego.edu)
 
 This file is part of the GNU C++ Library.  This library is free
@@ -59,7 +59,7 @@ extern IntRep*  div(const IntRep*, const
 extern IntRep*  mod(const IntRep*, const IntRep*, IntRep*);
 extern IntRep*  div(const IntRep*, long, IntRep*);
 extern IntRep*  mod(const IntRep*, long, IntRep*);
-extern IntRep*  compl(const IntRep*, IntRep*);
+extern IntRep*  complem(const IntRep*, IntRep*);
 extern IntRep*  abs(const IntRep*, IntRep*);
 extern IntRep*  negate(const IntRep*, IntRep*);
 extern IntRep*  pow(const IntRep*, long);
@@ -164,7 +164,7 @@ public:
   friend void     mod(const Integer& x, const Integer& y, Integer& dest);
   friend void     divide(const Integer& x, const Integer& y, 
                          Integer& q, Integer& r);
-#ifndef __STRICT_ANSI__
+#if 0
   friend void     and(const Integer& x, const Integer& y, Integer& dest);
   friend void     or(const Integer& x, const Integer& y, Integer& dest);
   friend void     xor(const Integer& x, const Integer& y, Integer& dest); 
@@ -181,7 +181,7 @@ public:
   friend void     div(const Integer& x, long y, Integer& dest);
   friend void     mod(const Integer& x, long y, Integer& dest);
   friend void     divide(const Integer& x, long y, Integer& q, long& r);
-#ifndef __STRICT_ANSI__
+#if 0
   friend void     and(const Integer& x, long y, Integer& dest);
   friend void     or(const Integer& x, long y, Integer& dest);
   friend void     xor(const Integer& x, long y, Integer& dest);
@@ -195,7 +195,7 @@ public:
   friend void     add(long x, const Integer& y, Integer& dest);
   friend void     sub(long x, const Integer& y, Integer& dest);
   friend void     mul(long x, const Integer& y, Integer& dest);
-#ifndef __STRICT_ANSI__
+#if 0
   friend void     and(long x, const Integer& y, Integer& dest);
   friend void     or(long x, const Integer& y, Integer& dest);
   friend void     xor(long x, const Integer& y, Integer& dest);
@@ -373,7 +373,7 @@ inline void  mod(const Integer& x, const
   dest.rep = mod(x.rep, y.rep, dest.rep);
 }
 
-#ifndef __STRICT_ANSI__
+#if 0
 inline void  and(const Integer& x, const Integer& y, Integer& dest)
 {
   dest.rep = bitop(x.rep, y.rep, dest.rep, '&');
@@ -430,7 +430,7 @@ inline void  mod(const Integer& x, long 
   dest.rep = mod(x.rep, y, dest.rep);
 }
 
-#ifndef __STRICT_ANSI__
+#if 0
 inline void  and(const Integer& x, long y, Integer& dest)
 {
   dest.rep = bitop(x.rep, y, dest.rep, '&');
@@ -474,7 +474,7 @@ inline void negate(const Integer& x, Int
 
 inline void complement(const Integer& x, Integer& dest)
 {
-  dest.rep = compl(x.rep, dest.rep);
+  dest.rep = complem(x.rep, dest.rep);
 }
 
 inline void  add(long x, const Integer& y, Integer& dest)
@@ -492,7 +492,7 @@ inline void  mul(long x, const Integer& 
   dest.rep = multiply(y.rep, x, dest.rep);
 }
 
-#ifndef __STRICT_ANSI__
+#if 0
 inline void  and(long x, const Integer& y, Integer& dest)
 {
   dest.rep = bitop(y.rep, x, dest.rep, '&');