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

next in thread | previous in thread | raw e-mail | index | archive | help
Specifically, this is the exact code that compiles error/warning free on gcc
2.95.4 (4-STABLE) and gcc 3.2.1 (5.0-REL)

// begin code
#include <iostream>
using namespace std;
void xxx (ostream& os);

int main(void)
{
  xxx(cout);
}

void xxx (ostream& os)
{
  os << '>';
  os << "out\n";
}
// end code

----- Original Message -----
From: "Matthew Emmerton" <matt@gsicomp.on.ca>
To: "Brent Verner" <brent@rcfile.org>
Cc: <freebsd-current@FreeBSD.ORG>
Sent: Saturday, February 08, 2003 4:19 PM
Subject: Re: gcc-3.2.1 and c++ headers


> It compiled on -CURRENT and -STABLE using this:
>
> #include <iostream>
>
> You've got #include <iostream.h> in your example below.
>
> Matt
>
> ----- Original Message -----
> From: "Brent Verner" <brent@rcfile.org>
> To: "Matthew Emmerton" <matt@gsicomp.on.ca>
> Cc: <freebsd-current@FreeBSD.ORG>
> Sent: Saturday, February 08, 2003 4:15 PM
> Subject: Re: gcc-3.2.1 and c++ headers
>
>
> > [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
>


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?006301c2cfb9$327987c0$1200a8c0>