From owner-freebsd-hackers Tue Feb 4 15:30:39 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id PAA23884 for hackers-outgoing; Tue, 4 Feb 1997 15:30:39 -0800 (PST) Received: from po2.glue.umd.edu (root@po2.glue.umd.edu [129.2.128.45]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id PAA23879 for ; Tue, 4 Feb 1997 15:30:34 -0800 (PST) Received: from baud.eng.umd.edu (baud.eng.umd.edu [129.2.98.183]) by po2.glue.umd.edu (8.8.5/8.7.3) with ESMTP id SAA05531; Tue, 4 Feb 1997 18:30:22 -0500 (EST) Received: from localhost (chuckr@localhost) by baud.eng.umd.edu (8.8.5/8.7.3) with SMTP id SAA01181; Tue, 4 Feb 1997 18:30:21 -0500 (EST) X-Authentication-Warning: baud.eng.umd.edu: chuckr owned process doing -bs Date: Tue, 4 Feb 1997 18:30:21 -0500 (EST) From: Chuck Robey X-Sender: chuckr@baud.eng.umd.edu To: Terry Lambert cc: Josh MacDonald , hackers@FreeBSD.ORG Subject: Re: g++, STL and -frepo on FreeBSD-2.2-Beta In-Reply-To: <199702042301.QAA13316@phaeton.artisoft.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Tue, 4 Feb 1997, Terry Lambert wrote: > > > Clearly, the template class definition > > > > > > template > > > class list ... { > > > ... > > > }; > > > > > > is not in scope. The header files you have included are apparently > > > not sufficient. > > > > > > Perhaps you meant "List" instead of "list"??? > > > > Clearly, you have no idea what you're talking about. You should be a > > bit more careful with your use of "clearly", it makes me wonder how > > much of the rest of your mail to this list (which I rarely understand) > > is correct. > > If the linker can not resolve the symbol, the symbol: > > A) Is not in scope > B) Is not there, period > C) Was not created in scope because you want the linker to > "magically" share template implementation between class > specific template instantiations. I'm not sure this is apropos, but maybe... while I was porting octave-2.0.1, I had a lot of trouble with template functions that were compiled -fno-external-templates. Seems like the virtual tables were being created as local symbols only, so no other functions compiled in other files could see the tables. I ended up having to remove the -fno-external-templates from every file that used the tables, so they'd instantiate their own virtual tables. Made the code size larger, but I couldn't find a way to fix it. Neither could JW Eaton, Octave's author, who worked with me for a while. The problem has been papered over, but not fixed. Is this possibly something like you're discussing above? ----------------------------+----------------------------------------------- Chuck Robey | Interests include any kind of voice or data chuckr@eng.umd.edu | communications topic, C programming, and Unix. 9120 Edmonston Ct #302 | Greenbelt, MD 20770 | I run Journey2 and picnic, both FreeBSD (301) 220-2114 | version 3.0 current -- and great FUN! ----------------------------+-----------------------------------------------