[gnu.g++.bug] incorrect "bitwise copy" warning

gjditchfield@watmsg.waterloo.edu (Glen Ditchfield) (07/06/89)

g++ 1.35.1- complains that it must do a bitwise copy on a class with a
member with an operator=().  But the class doesn't have any members at all!
----- g++-op=.c -----
class string {
    friend class strsub;
  public:
    strsub operator()( short p, short l);
    };

class strsub {
    friend class string;
    strsub( string&, short, short);
  public:
    string& operator=(string&);
    };

strsub string::operator()( short pos, short len) {
    strsub sub( *this, pos, len);
    return sub;
    };
----- compiler messages -----
cd /u/gjditchfield/C++/Bugs/
g++ -v -c g++-op=.cc
g++ version 1.35.1-
 /usr/local/lib/gcc-cpp -+ -v -undef -D__GNU__ -D__GNUG__ -D__cplusplus -Dvax -Dunix -D__vax__ -D__unix__ g++-op=.cc /tmp/cc011719.cpp
GNU CPP version 1.35.93
 /usr/local/lib/gcc-cc1plus /tmp/cc011719.cpp -quiet -dumpbase g++-op=.cc -noreg -version -o /tmp/cc011719.s
GNU C++ version 1.35.1- (vax) compiled by GNU C version 1.35.
In method struct strsub string::operator () (short int, short int):
g++-op=.cc:16: warning: bitwise copy: `strsub' has a member with operator=()
 /usr/local/lib/gcc-as /tmp/cc011719.s -o g++-op=.o


... on a vax running BSD 4.3, with md -> vax.md, tm.h -> tm-vax+.h