HDTenEightyP/NetNews huggingface dataset:
From: DALL@hfrd.dsto.gov.au
Subject: Bug or feature?
Organization: GNUs Not Usenet
Distribution: gnu
Date: Fri, 28 Aug 1992 00:13:31 GMT

If you do

  for i in 0 1 2 3 4 5 6 7 8 9; do sleep 100; done

and then hit ^Z, only the sleep gets backgrounded, not the for loop.
Repeat the ^Z's and you end up with 10 seperate background processes.
This is presumably because the for loop is not a seperate process,
still, after a user on my system managed to create 13 simultaneous big
processes this way, I am wondering if other shells with job control
work the same way.

--
Ian Dall          I'm not into isms, but hedonism is the most
                  harmless I can think of. -- Phillip Adams

internet: dall@hfrd.dsto.gov.au


Newsgroups: gnu.bash.bug
From: cudep@warwick.ac.UK (Ian Dickinson)
Subject: Re: I want # to be my interactive comment character; histchars bitch
Organization: Team Limpid's Meathead With Aptitude - Kunst und Wahnsinn
Distribution: gnu
Date: Thu, 27 Aug 1992 13:14:56 GMT

In article <9208241926.AA21883.SM@odin.INS.CWRU.Edu> chet@po.cwru.edu writes:
>Well, since bash 1.13 will be the first release to allow interactive
>comments, the man page accompanying that release will contain the
>explanatory text you want.

Glad to see this feature.

BTW, since bash 1.13 is sounding like it due sooner and sooner,
does it use autoconf generated configure scripts?  Some of the machines
I have installed bash on were very difficult to configure even though
I knew what I needed to change.  Just being able to edit config.status
and re-run it would be much nicer IMHO.

Cheers,
-- 
\/ato - Ian Dickinson - NIC handle: ID17                   No-one is to molest
vato@csv.warwick.ac.uk  ...!mcsun!uknet!warwick!vato           the wombat when
/I=I/S=Dickinson/OU=CSV/O=Warwick/PRMD=UK.AC/ADMD= /C=GB/            anyone is
@c=GB@o=University of Warwick@ou=Computing Services@cn=Ian Dickinson  watching.

Newsgroups: gnu.bash.bug
From: kre@cs.mu.oz.AU (Robert Elz)
Subject: Re: odd 'shift' behaviour with bash-1.1
Organization: Computer Science, University of Melbourne, Australia
Distribution: gnu
Date: Tue, 1 Sep 1992 22:34:16 GMT

In <9208312221.AA21541@igc.apc.org> scott@igc.apc.org (Scott Weikart) writes:

| >Its SOP for shells that when a control statement has I/O redirected

| This is not true, in general (last week I wrote a program to test it).

| Redirecting stdin or stdout to files doesn't result in use of a sub-shell;

My definition of "SOP for shells" is what the Bourne shell does (and
when it matters, often the 7th edition Bourne shell).

Here's a simple test using /bin/sh

munnari$ f=0
munnari$ for i in a b
> do
> f=1
> done
munnari$ echo $f
1
munnari$  for i in a b
> do
> f=2
> done </dev/null
munnari$ echo $f
1

The point was that in general its unsafe to assume that a "sh"
type shell will allow you to alter the shell environment in any
way if I/O to a control statement is redirected at all.

Some shells may be more liberal in what they allow.  Personally
I don't think I'll be writing many scripts that depend on which version
of which shell I happen to be using.

kre

Newsgroups: gnu.bash.bug
From: mdm@wdl1.wdl.loral.com (Mike D Marchionna)
Subject: Re: alias
Keywords: alias
Organization: Loral Western Development Labs
Distribution: gnu
Date: Wed, 2 Sep 1992 00:09:15 GMT

svb@cs.purdue.edu (Stephan Bechtolsheim) writes:

>How do you get, in an alias, the rest of the command line expanded?
>If I write
>	alias xx='echo abc 777 def'
>and
>	xx this is fun
>should print
>	abc this is fun def

>What do I need to write instead of the '777'? Could not find
>anything in the documentation. It's a bug in that it's not documented .......
>Verson 1.12.....

Well I'm having similar difficulty with version 1.10.  I know I can get
the above example to work by using a function instead.  For example

function xx () { echo abc $1 def };

But if I try to declare a environment variable within the function, the
variable vanishes after the function completes.  This is contrary to the
statement that functions execute each line within the same shell.  For
example if try to declare a function to simplify setting by X-Windows
DISPLAY variable like so:

function xdsp () { declare -x DISPLAY=$1:0.0 }

This happens:

declare -x DISPLAY=foo
xdsp lumpy
echo $DISPLAY
foo

Any ideas, or is this just a feature of Bash?

--MDM
-- 
 _________________________________________________________________________ 
(  _______________________________   Brain, and brain!  What is brain!    ) 
 \________________________________)        --Star Trek (Spock's Brain)   /
El_Rayo_X_______________________________________________________________/ 

Newsgroups: gnu.bash.bug
From: spa@fct.unl.PT (Salvador Pinto Abreu)
Subject: odd `shift' behaviour with bash-1.12
Organization: Universidade Nova de Lisboa -- Lisbon, Portugal
Distribution: gnu
Date: Thu, 27 Aug 1992 14:36:50 GMT

The scope of the `shift' command seems to be the innermost loop. For
example, the following code:

        MAX_PARALLEL=...
        MAX_PARALLEL_COUNT=$(echo -n $MAX_PARALLEL | wc -c)

        function bug {
          local PARALLEL

          while [ -n "$1" ]; do
            PARALLEL=$MAX_PARALLEL
            echo 1>&2 bug: entering parallel loop.
            while [ -n "$1" -a -n "$PARALLEL" ]; do
              ( echo bug: output of $1 & )
              PARALLEL=${PARALLEL#.}
              shift
            done | cat
            [ -z "$LOOP" ] && shift $MAX_PARALLEL_COUNT
          done
        }

        bug 1 2 3 4 5 6 7 8	# runs fine
        LOOP=on
	bug 1 2 3 4 5 6 7 8	# loops

the second `shift' needs to be executed to shift the args to `bug',
even though they were already (supposed to have been) kicked out by
the `shift' in the inner loop.

bug or feature?

PS: tried on Ultrix 4.2, HP/UX A.B8.05 and NeXT Mach 2.2.
--

Newsgroups: gnu.bash.bug
From: svb@cs.purdue.edu (Stephan Bechtolsheim)
Subject: alias
Keywords: alias
Organization: Department of Computer Science, Purdue University
Distribution: gnu
Date: Mon, 31 Aug 1992 15:28:19 GMT

How do you get, in an alias, the rest of the command line expanded?
If I write
	alias xx='echo abc 777 def'
and
	xx this is fun
should print
	abc this is fun def

What do I need to write instead of the '777'? Could not find
anything in the documentation. It's a bug in that it's not documented .......
Verson 1.12.....


StvB

P.S. Thank you.
.
.


Newsgroups: gnu.g++.bug
From: jws@cs.mu.oz.AU (Jeff Schultz)
Subject: typedef A: :B A_B in class A causes g++ assertion fail
Organization: GNUs Not Usenet
Distribution: gnu
Date: Thu, 27 Aug 1992 05:16:37 GMT

Gcc-2.2.2 installed on a SGI 4D/340 with configure mips-sgi-irix

The code below causes

    cp-class.c:2378: failed assertion `IDENTIFIER_TEMPLATE (t) != NULL_TREE'


# 1 "typedef.C"
class A {
    class B;
    typedef A::B A_B;
};


	Jeff Schultz


Newsgroups: gnu.g++.bug
From: zao@das.harvard.edu
Subject: revised bug report
Organization: GNUs Not Usenet
Distribution: gnu
Date: Tue, 1 Sep 1992 19:58:09 GMT

This is a more concise report of the bug that I discovered earlier.
Thanx again for your attention.

I am using g++ 2.2.2 on a SPARCstation ELC with SunOS 4.1.2.  The
following program causes g++ to core-dump:

class x{
public:
    static x x0;
};

main()
{
    x::x0 = x::x0;
}

Here's the output of g++ -v:
Reading specs from /home/glan/lib/gcc-lib/sun4/2.2.2/specs
gcc version 2.2.2
 /home/glan/lib/gcc-lib/sun4/2.2.2/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG
__=2 -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -D__spa
rc -D__sun -D__unix sc.cc /usr/tmp/cca03556.i
GNU CPP version 2.2.2 (sparc)
 /home/glan/lib/gcc-lib/sun4/2.2.2/cc1plus /usr/tmp/cca03556.i -quiet -dumpbase
sc.cc -version -o /usr/tmp/cca03556.s
GNU C++ version 2.2.2 (sparc) compiled by GNU C version 2.2.2.
/home/glan/bin/gcc: Internal compiler error: program cc1plus got fatal signal 6


Newsgroups: gnu.g++.bug
From: mrs@cygnus.com (Mike Stump)
Subject: Re:  Assembler symbols in .o's
Organization: GNUs Not Usenet
Distribution: gnu
Date: Sat, 29 Aug 1992 14:20:34 GMT

This is a problem with gcc 2.2.2, gcc 2.2.1 does not have this
problem.  The next release of gcc should not have this problem.

> To: bug-gcc@prep.ai.mit.edu
> Date: Tue, 21 Jul 92 10:37:54 +0100
> Message-Id: <10444.711711474@xtel.co.uk>
> From: Alan Shepherd <a.shepherd@xtel.co.uk>

> The current version of gcc appears to have a bug in that assembler
> symbols (e.g. LBB01) appear in some .o files when compiled with the -g
> flag.

> gcc -v:

> gas@spitfire% gcc -v
> Reading specs from /usr/local/lib/gcc-lib/sparc-sun-sunos4.1.1/2.2.2/specs
> gcc version 2.2.2

> A suitable file to reproduce this problem is
> libg++-2.2/libg++/iostream/sbufvform.o. 


> Without -g, the problem does not appear.  

> I have mentioned this on the gnu.g++.lib.bug newsgroup when I
> mistakenly thought that the problem was with libg++ itself.  Sorry !

Newsgroups: gnu.g++.bug
From: warsaw@nlm.NIh.GOV (Barry A. Warsaw)
Subject: g++ 2.2.2 and template syntax?
Organization: Century Computing, Inc.
Distribution: gnu
Date: Fri, 28 Aug 1992 16:50:53 GMT

Is there a difference between the template syntax that g++ 2.2.2
parses and that which the ARM specifies?  I'm a template novice so
apologies if its me that's confused.

The following program illustrates the problem.  Compile with no
switches to watch it work.  Compile with -DARMTEMPLATES to compile
with (my understanding of) ARM syntax for the copy constructor of a
template class.  Compile instead with -DCOMPLAIN to see that, even
though (I think) g++ doesn't parse the correct syntax, it does do The
Right Thing.

In brief, should the copy ctor of a template class look like:

template<class Thing>
class Printer
{
public:
	Printer( Printer<Thing>& copy );
};

as my reading of the ARM indicates, or should it be:

template<class Thing>
class Printer
{
public:
	Printer( Printer& copy );
};

as g++ seems to want?

Thanks,
-Barry

-------------------- snip snip --------------------
#include <iostream.h>

#ifdef ARMTEMPLATES
#define SCOPEDTHING(c,t) c<t>
#else
#define SCOPEDTHING(c,t) c
#endif


template<class Thing>
class Printer
{
public:
	Printer( Thing& t );
	Printer( SCOPEDTHING(Printer,Thing)& copy );

	void whoami( void ) const
	{
		cout << "I am " << xt.who << endl;
	};

private:
	Thing& xt;
};


template<class Thing>
Printer<Thing>::Printer( Thing& t )
	: xt( t )
{};


template<class Thing>
Printer<Thing>::Printer( SCOPEDTHING(Printer,Thing)& copy )
	: xt( copy.xt )
{};


class Zero
{
public:
	char* who;
	Zero( void )
		: who( "zero" )
	{};
};


class One
{
public:
	char* who;
	One( void )
		: who( "one" )
	{};
};


class Two
{
public:
	char* who;
	Two( void )
		: who( "two" )
	{};
};


int main( int, char** )
{
	Zero zero;
	One one;
	Two two;
	Zero another;

	Printer<Zero> z( zero );
	Printer<One> o( one );
	Printer<Two> t( two );
	Printer<Zero> a( another );
	Printer<Zero> b( z );
#ifdef COMPLAIN
	Printer<Zero> c( o );
#endif COMPLAIN

	z.whoami();
	o.whoami();
	t.whoami();
	a.whoami();
	b.whoami();

	return( 0 );
};

	

Newsgroups: gnu.g++.bug
From: carlson@tis.llnl.gov (John Carlson)
Subject: Bug in calling operator->() and also a bug in static references
Organization: Lawrence Livermore National Laboratory
Distribution: gnu
Date: Tue, 1 Sep 1992 05:23:46 GMT

I get the following errors when compiling the following fragments under
GCC 2.2.2.

class A {
   public:
	A *deref() { return operator->(); }
};


yottzumm[102] % gcc -c -v gcc.bug1.cxx
Reading specs from .../lib/gcc-lib/sparc-sun-sunos4.1.1/2.2.2/specs
gcc version 2.2.2
 .../lib/gcc-lib/sparc-sun-sunos4.1.1/2.2.2/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -D__sparc -D__sun -D__unix gcc.bug1.cxx /usr/tmp/cca04219.i
GNU CPP version 2.2.2 (sparc)
 .../lib/gcc-lib/sparc-sun-sunos4.1.1/2.2.2/cc1plus /usr/tmp/cca04219.i -quiet -dumpbase gcc.bug1.cc -version -o /usr/tmp/cca04219.s
GNU C++ version 2.2.2 (sparc) compiled by GNU C version 2.2.2.
gcc: Internal compiler error: program cc1plus got fatal signal 11
===============================================================================

void foo() {
  int a;
  static int & b = a;
}

% gcc -c -v gcc.bug2.cxx
Reading specs from .../lib/gcc-lib/sparc-sun-sunos4.1.1/2.2.2/specs
gcc version 2.2.2
 .../lib/gcc-lib/sparc-sun-sunos4.1.1/2.2.2/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Dsparc -Dsun -Dunix -D__sparc__ -D__sun__ -D__unix__ -D__sparc -D__sun -D__unix gcc.bug2.cxx /usr/tmp/cca04238.i
GNU CPP version 2.2.2 (sparc)
 .../lib/gcc-lib/sparc-sun-sunos4.1.1/2.2.2/cc1plus /usr/tmp/cca04238.i -quiet -dumpbase gcc.bug2.cc -version -o /usr/tmp/cca04238.s
GNU C++ version 2.2.2 (sparc) compiled by GNU C version 2.2.2.
gcc: Internal compiler error: program cc1plus got fatal signal 6

Newsgroups: gnu.g++.bug
From: bilmes@media.mit.edu
Subject: gcc (g++) 2.2.2 constructing nested class from external scope
Reply-To: Jeff Bilmes <bilmes@media-lab.media.mit.edu> (617/253-8163)
Organization: GNUs Not Usenet
Distribution: gnu
Date: Wed, 26 Aug 1992 10:51:17 GMT

I believe the following is a bug. It seems to works fine with Cfront 2.1.
The problem is that g++ doesn't think it is valid to construct an instance
of a nested class in an argument taking an instance of a nested class, and where
the nested class may be constructed from another type, in this case int.
Here's the info.

-------- bla.cc -------------------------------------------------------------
class foo {

  class bar {
    int i;
  public:
    bar(int j) { i = j; }
  };

  bar b;
public:
  foo() : b(3) {}
  void test(bar lb) { b = lb; }
};


main() {
  foo f;
  f.test(34);  // line 18
}
-----------------------------------------------------------------------------


Reading specs from /usr/local/lib/gcc-lib/mips-dec-ultrix4.2/2.2.2/specs
gcc version 2.2.2
 /usr/local/lib/gcc-lib/mips-dec-ultrix4.2/2.2.2/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__ANSI_COMPAT -DMIPSEL -DR3000 -DSYSTYPE_BSD -D_SYSTYPE_BSD -Dbsd4_2 -Dhost_mips -Dmips -Dultrix -Dunix -D__ANSI_COMPAT -D__MIPSEL__ -D__R3000__ -D__SYSTYPE_BSD__ -D___SYSTYPE_BSD__ -D__bsd4_2__ -D__host_mips__ -D__mips__ -D__ultrix__ -D__unix__ -D__ANSI_COMPAT -D__MIPSEL -D__R3000 -D__SYSTYPE_BSD -D___SYSTYPE_BSD -D__bsd4_2 -D__host_mips -D__mips -D__ultrix -D__unix -I/usr/local/lib/gcc-lib/m
ips-dec-ultrix4.2/2.2.2/lib/g++-include -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__LANGUAGE_C__ -D__LANGUAGE_C -DLANGUAGE_C bla.cc /usr/tmp/cca16989.i
GNU CPP version 2.2.2 [AL 1.1, MM 19] DECstation running ultrix
 /usr/local/lib/gcc-lib/mips-dec-ultrix4.2/2.2.2/cc1plus /usr/tmp/cca16989.i -quiet -dumpbase bla.cc -version -o /usr/tmp/cca16989.s
GNU C++ version 2.2.2 [AL 1.1, MM 19] DECstation running ultrix compiled by GNU C version 2.2.2.
bla.cc: In function `int  main ()':
bla.cc:18: no constructor named `bar' in visible scope
bla.cc:18: in conversion to type `bar'

Newsgroups: gnu.g++.bug
From: mrs@cygnus.com (Mike Stump)
Subject: Re:  Two bugs within gcc-2.2.2
Organization: GNUs Not Usenet
Distribution: gnu
Date: Sat, 29 Aug 1992 14:05:43 GMT

This is wrong.  This patch will never make it into the gcc distribution.

ANSI C++ June 5, 1992 working paper states: ``When the value of the
first array dimension is zero an array with no elements is allocated.
The pointer returned by the new-expression will be non-null and
distinct from the pointer to any other object.''

Do you understand why the below would be wrong?

Maybe code like:

  if (sz == 0)
    ++sz;
  p = (void *) malloc (sz);

will fix your problem.  Let me know.

> From: Sebastian Wangnick <orthogo!basti@ai.mit.edu>
> Date: Thu, 27 Aug 92 16:21:17 +0200
> Message-Id: <9208271421.AA07068@orthogo.uucp>
> To: bug-gcc@prep.ai.mit.edu
> Cc: basti@germany.eu.net

> I just reinstalled gcc-2.2.2 on our RS6000 (configured rs6000-ibm-aix) and
> stumbled again over this damn bug within __builtin_new of libgcc2.c:
> Allocating e.g., new int[0], fires the new_handler! I patched this with:

> *** libgcc2.c  Thu Aug 27 15:46:30 1992
> --- /tmp/lc Thu Aug 27 15:54:20 1992
> ***************
> *** 969,975 ****
>   {
>     void *p;
>     p = malloc (sz);
> !   if (p == 0 && sz)
>       (*__new_handler) ();
>     return p;
>   }
> --- 969,975 ----
>   {
>     void *p;
>     p = malloc (sz);
> !   if (p == 0)
>       (*__new_handler) ();
>     return p;
>   }

Newsgroups: gnu.g++.bug
From: mrhagger@athena.mit.edu
Subject: Bug in ifstreams under OS/2
Organization: GNUs Not Usenet
Distribution: gnu
Date: Wed, 2 Sep 1992 19:25:43 GMT

Hi,

I have discovered what seems to be a bug in libgpp as ported to OS/2.  I am
using the current libgpp.zoo obtained from ftp-os2.nmsu.edu at the end of
August in the gcc2-2.2.2 package; I can't find more exact info about exactly
what is the origin of this port.  (I had the same problem with an earlier 
version from a few months ago.)

The following program:

        #include <iostream.h>
        #include <fstream.h>
        
        int main(...)
        {
          char c;
        
          ifstream fi("try.dat");
        
          while (fi.read((void *)&c, sizeof(c)))
          {
            cerr << (int)c << endl;
          }
        
          return 0;
        }
       
seems to read the first character of the file try.dat twice.  Thus if try.dat
is a (FAT or HPFS) file containing the eight bytes:
        0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08
then the program outputs
        1 1 2 3 4 5 6 7 8    /* on separate lines, of course */
.  The first byte is read twice.  Similar behavior is obtained when c is
declared to be short int or int; the output is that which would be correct
for a file which had the first byte doubled.

Ideally one would like the program to be able to read the file in binary mode
(with no CR/LF -> LF translations, etc.) but there doesn't seem to be any way
to specify this using fstreams.  I compared the results of this program to the
results of using FILE's opened using fopen("...", MODE) where MODE is either
"r" or "rb" (on other files).  In each case the FILE I/O is performed 
correctly, with or without translation, respectively.  By contrast, the 
ostream example ALWAYS performs translation (i.e., no binary mode), and in
addition always reads the first byte twice, at least when the reading is done
with fi.read().

Feel free to contact me if you would like more information or a better
description of the problem, or if I have sent this bug report to the wrong
place.

Michael Haggerty
mrhagger@athena.mit.edu
(617)876-0682

Newsgroups: gnu.g++.bug
From: mrs@cygnus.com (Mike Stump)
Subject: Re:  executable crash under g++/Sun
Organization: GNUs Not Usenet
Distribution: gnu
Date: Sat, 29 Aug 1992 16:22:17 GMT

It is not valid in ANSI C++ to modify strings ("...").  Your program does.

> Message-Id: <9208261811.AA11644@poincare.phys.cmu.edu>
> To: bug-g++@prep.ai.mit.edu
> Cc: keister@poincare.phys.cmu.edu, lambert@mamba.psc.edu
> Date: Wed, 26 Aug 92 14:11:38 -0400
> From: "Bradley D. Keister" <keister@poincare.phys.cmu.edu>

> The following code crashes at runtime when built with g++/Sun.  It
> runs without trouble under g++/DECstation and CC/DECstation.

> #include <stdio.h>
> #include <string.h>

> // #include "strup.h"

> void strup(char* string)
> {
>   for (; *string; string++)
>     *string = ((*string >= 'a') && (*string <= 'z'))?
>     *string-0x20: *string;
> }
> class A {
>   
> protected:
>   int a;
>   
> public:
>   A() {a=1;}
> };

> class B : public A {
>   
> protected:
>   int b;
>   
> public:
>   B() {b=1;}
> };

> A* choose_class(char* keyword)
> {
>   A* result;
>   strup(keyword);
>   if (strcmp(keyword, "CLASS_A") == 0)
>     result = new A;
>   if (strcmp(keyword, "CLASS_B") == 0)
>     result = new B;
>   
>   return result;
> }

> main()
> {
>   A* Atest = choose_class("class_B");
>   delete Atest;
>   return 0;
> }

> Segmentation fault (core dumped)
> cm5comp.psc.edu% dbx declare
> Reading symbolic information...
> Read 194 symbols
> program terminated by signal SEGV (access to address exceeded protections)
> (dbx) run
> Running: declare 
> signal SEGV (access to address exceeded protections) in strup__FPc at 0x22f8
> strup__FPc+0x68:	stb    	%o1, [%o0]

Newsgroups: gnu.g++.bug
From: mrs@cygnus.com (Mike Stump)
Subject: Re:  Gnu C++ bugs in classes
Organization: GNUs Not Usenet
Distribution: gnu
Date: Sat, 29 Aug 1992 13:08:09 GMT

The code you give is not valid C++ code, I believe.  Please cite ARM
if you think it is valid C++.

> Message-Id: <MAILQUEUE-101.920819095701.745@fs1.metallurgy.umist.ac.uk>
> From: A.APPLEYARD@fs1.mt.umist.ac.uk
> Date: 19 Aug 92 09:57:01 GMT

> BUG REPORT:
> Gnu C version 2.0 compiled etc and linked this program OK (as 'gcc t$$$.cc'):-
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> class scubadiver_catcher{public:
> int i,j,k,l;
> void call_into_action(char*s){j=strlen(s);};
> void scubadiver_catcher::radio_for(char*s){k=strlen(s);};};
> scubadiver_catcher Aphanistor;
> main(){
> Aphanistor.call_into_action("5 seen at Long Cove");
> Aphanistor.radio_for("12 in 2 boats offshore from Black Rock Head");}
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> But if I compiled it in 2 parts, as 'gcc t$$$1.cc t$$$2.cc':-
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> <<file t$$$1.cc>>
> class scubadiver_catcher{public:
> int i,j,k,l;
> void call_into_action(char*s){j=strlen(s);};
> void scubadiver_catcher::radio_for(char*s){k=strlen(s);};};
> void dummy(){}
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> <<file t$$$2.cc>>
> class scubadiver_catcher{public:
> int i,j,k,l;
> void call_into_action(char*s);
> void scubadiver_catcher::radio_for(char*s);};
> scubadiver_catcher Aphanistor;
> main(){
> Aphanistor.call_into_action("5 seen at Long Cove");
> Aphanistor.radio_for("12 in 2 boats offshore from Black Rock Head");}
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> the linker said this:-
> t$$$2.o: Undefined symbol scubadiver_catcher::call_into_action(char *) reference
> d from text symbol
> Note that '_call_into_action__18scubadiver_catcherPc:' is not declared as global
> in assembler file t$$$1.s as produced bu Gnu C++ version 2.0 .
> This bug was not present in the last version of Gnu C which I had (1.39?).
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Newsgroups: gnu.g++.bug
From: warsaw@nlm.NIh.GOV (Barry A. Warsaw)
Subject: Re: g++ 2.2.2 and template syntax?
Reply-To: warsaw@nlm.nih.gov (Barry A. Warsaw)
Organization: Century Computing, Inc.
Distribution: gnu
Date: Mon, 31 Aug 1992 17:47:11 GMT

>>>>> "Mike" == Mike Stump <mrs@cygnus.com> writes:

    Mike> I suspect that is the behavior you want to see, right?

Yes, thanks.
-Barry
From: lewis@sophists.COM (Lewis G. Pringle)
Newsgroups: gnu.g++.bug
Subject: parse bug refering to operator-function-names
Date: 3 Sep 92 19:59:00 GMT
Reply-To: lewis@sophists.com
Distribution: gnu
Organization: GNUs Not Usenet

// When compiling this program with g++ 2.2.1:
// g++ -c a.cc yeilds:
//	a.cc: In function `void  test ()':
//	a.cc:29: structure has no member named `'
// for the final call to SmartPointer::operator -> (); Although
// this syntax is wierd, it is clearly permitted by the syntax in
// ARM 17.2 (operator-function-name is "operator ->", and name
// can be an operator-function-name).

struct Object {
  int a;
};


struct SmartPointer {
  Object* p;
  Object* operator-> ();
  Object* Peek ();
};



void test ()
{
  SmartPointer s;

  Object* o1 = s.Peek ();
  s->a = 1;
  Object* o2 = s.operator-> ();	// I am line 29 - why am I wrong?
}
Newsgroups: gnu.g++.bug
From: maverick@mahogany.cs.berkeley.edu (Vance Maverick)
Subject: Re: fatal signal in g++-2.2.2
Organization: GNUs Not Usenet
Distribution: gnu
Date: Tue, 1 Sep 1992 17:09:11 GMT

This fatal signal, like the one I reported yesterday, went away when I
fixed a logical error.  The "new Note" statement was the locus of the
problem, which was fixed by adding a conventional copy constructor to
the Identifier class, viz.

    Identifier(const Identifier &other) {
	str = other.str;
    }

Hope this helps,
	Vance

Newsgroups: gnu.g++.bug