[gnu.gcc.bug] Bugs in C++.

gordon%stats.ucl.ac.uk@NSS.CS.UCL.AC.UK (Gordon Joly Statistics UCL) (11/16/88)

These tests come from Paul Otto. I have to change the name of the class from
x to something else in g++ (1.27). I run SunOS 3.4 on Sun-3/160, for example

karl:/stats/staff/karl/gordon/BAIES[87] g++ -O -g -v -c wood.cc
g++ version 1.27.0
 /usr/ucl/lib/gcc-cpp+ -v -undef -D__GNU__ -D__GNUG__ -Dmc68000 -Dsun -Dunix -D__OPTIMIZE__ wood.cc /tmp/cca02020.cpp
GNU CPP version 1.27.0
 /usr/ucl/lib/gcc-c++ /tmp/cca02020.cpp -quiet -dumpbase wood.cc -opt -version -G -o /tmp/cca02020.s
GNU C++ version 1.27.0 (68k, MIT syntax) compiled by GNU C version 1.28.
 as -mc68020 /tmp/cca02020.s -o wood.o

Gordon.

Surface mail: Dr. G.C.Joly, Department of Statistical Science,
      University College London, Gower Street, LONDON WC1E 6BT, U.K.
E-mail:  					   | Tel: +44 1 387 7050
 JANET (U.K. network) gordon@uk.ac.ucl.stats       |      extension 3636
       (Arpa/Internet form: gordon@stats.ucl.ac.uk)| FAX: +44 1 387 8057
Relays: ARPA @nss.cs.ucl.ac.uk                     |
        EAN: @ean-relay.ac.uk                      |
	CSNET: %nss.cs.ucl.ac.uk@relay.cs.net      |
        BITNET: %ukacrl.bitnet@cunyvm.cuny.edu, @ac.uk
        EARN: @ukacrl.bitnet, @AC.UK, @uk.ac.earn-relay
By uucp/Usenet: ....!uunet!mcvax!ukc!stats.ucl.ac.uk!gordon

<otto> A simple class (x) is defined which has a full set of constructors,
<otto> initializers etc defined (see page 180 of Stroustup's book), so that bitwise
<otto> copying of objects is "completely avoided" (p 180 op cit), and so that
<otto> the destructor should always be called before something goes out of
<otto> scope/ the program ends.
<otto> This class does two things:
<otto> 	(i) it prints a message on standard error every time a class
<otto> 		routine is called, printing "this" for the call;
<otto> 	(ii) it uses the class to store the value of "this" when an
<otto> 		instance/variable of the class is created, and
<otto> 		prints an error if any instance is later found to have
<otto> 		moved.
<otto> 
<otto> Then there is a calling program (testing_prog.c) which uses this class
<otto> in a few ways known to be troublesome.  If bitwise copying occurs, then
<otto> an error should be detected & printed.  (The Makefile will put a copy
<otto> in "errors-prob_bitwise_copying".)
<otto> 
<otto> A separate program (check.awk) is used to check the output of the
<otto> program to ensure that destructors are called exactly once for each
<otto> constructor, & so forth.  (See the comments at the beginning of
<otto> check.awk.)  Any errors are put into "errors-sequencing".



 uudecode | uncompress | tar xvf - (gives a directory)

begin 664 gbugs.tar.Z
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
!!8QW
 
end