Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Feb 2003 16:15:03 -0500
From:      Brent Verner <brent@rcfile.org>
To:        Matthew Emmerton <matt@gsicomp.on.ca>
Cc:        freebsd-current@FreeBSD.ORG
Subject:   Re: gcc-3.2.1 and c++ headers
Message-ID:  <20030208211503.GA15069@rcfile.org>
In-Reply-To: <002001c2cfb4$93443960$1200a8c0@gsicomp.on.ca>
References:  <20030208181736.GA14066@rcfile.org> <002001c2cfb4$93443960$1200a8c0@gsicomp.on.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
[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     root@scratch.rcfile.org:/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 majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030208211503.GA15069>