[2003-02-08 15:56] Matthew Emmerton said:
| Your working example below compiles without error using gcc 2.95.x (FreeBSD
| 4.x) and gcc 3.2.x (FreeBSD 5.x), which is expected since it's compliant
| C++.  (See Stroustrup's The C++ Programming Language, section 9.2.2, which
| indicates that the proper way to include C++ standard library headers such
| as iostream, string, etc. is using angle brackets and no dot-h.)

You compiled it on a -current (gcc-3.2.1) system?  It does will not
compile on mine, current as of 6 Feb.   I noticed the problem
with -current from 2 Feb, so I can't comment on anything before
that date.

brent@scratch$ cat test.cc
#include <iostream.h>
int main(){
  return 1;
}
void xxx (ostream& os) {
  os << ' ';
  os << "out\n";
}
brent@scratch$ g++ test.cc -o test
/var/tmp//ccuRnfCI.o: In function `xxx(ostream&)':
/var/tmp//ccuRnfCI.o(.text+0x27): undefined reference to `ostream::operator<<(char)'
/var/tmp//ccuRnfCI.o(.text+0x3a): undefined reference to `ostream::operator<<(char 
const*)'
brent@scratch$ uname -a
FreeBSD scratch.rcfile.org 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Thu Feb  6 13:39:46 EST 
2003     [EMAIL PROTECTED]:/jail/.usr.obj/jail/.cvsup/src/sys/SCRATCH  i386
brent@scratch$ g++ -v 
Using built-in specs.
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 3.2.1 [FreeBSD] 20021119 (release)

| Be glad that the gcc maintainers have finally updated their C++ compiler to
| be more standards-compliant.

agreed :-)

| I'd suggest feeding back patches to the jdk maintainer.

the jdk code uses the <iostream.h> header, and will not compile on
my system w/o some tweaks.

cheers.
  brent

-- 
"Develop your talent, man, and leave the world something. Records are 
really gifts from people. To think that an artist would love you enough
to share his music with anyone is a beautiful thing."  -- Duane Allman

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to