Date: Fri, 18 Jul 2003 10:32:51 +0200 From: Michael Nottebrock <michaelnottebrock@gmx.net> To: Mikhail Teterin <mi+mx@aldan.algebra.com>, Alexander Kabaev <ak03@gte.com>, Daniel Eischen <eischen@vigrid.com>, Kris Kennaway <kris@obsecurity.org> Cc: kde@freebsd.org Subject: Re: gcc-3.3 issues Message-ID: <200307181032.59474.michaelnottebrock@gmx.net> In-Reply-To: <200307171650.15405@misha-mx.virtual-estates.net> References: <1058366903.81198.18.camel@skeeve> <20030717162554.680475cc.ak03@gte.com> <200307171650.15405@misha-mx.virtual-estates.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--Boundary-02=_7C7F/SYedgjHKOC
Content-Type: text/plain;
charset="koi8-u"
Content-Transfer-Encoding: quoted-printable
Content-Description: signed data
Content-Disposition: inline
On Thursday 17 July 2003 22:50, Mikhail Teterin wrote:
> Here is how to reproduce the problem, Michael is talking about. Simply
> try to build the kdelibs3 (or kdegraphic3, or kdenetwork3) port.
I've tried to come up with a less obscure testcase:
#include <string>
#include <iostream>
using namespace std;
int main ()
{
string astring=3D"Hello World";
cout << astring << endl;
}
Now, if I compile this on 5.1-RELEASE with=20
c++ -Wnon-virtual-dtor -Wno-long-long -Wall -pedantic -W -Wpointer-arith=20
=2DWmissing-prototypes -Wwrite-strings -DNDEBUG -DNO_DEBUG -O -pipe=20
=2Dmcpu=3Dpentiumpro -fno-check-new -L/usr/local/lib -I/usr/local/include=20
=2DI/usr/local/include -I/usr/X11R6/include -D_GETOPT_H -o helloworld=20
helloworld.cc
I get a plethora of warnings:
In file included from /usr/include/g++/memory:55,
from /usr/include/g++/string:48,
from helloworld.cc:1:
/usr/include/g++/bits/stl_alloc.h:979: warning: ISO C++ forbids the use of `
extern' on explicit instantiations
/usr/include/g++/bits/stl_alloc.h:980: warning: ISO C++ forbids the use of `
extern' on explicit instantiations
/usr/include/g++/bits/stl_alloc.h:981: warning: ISO C++ forbids the use of `
extern' on explicit instantiations
/usr/include/g++/bits/stl_alloc.h:981: warning: ISO C++ forbids the use of `
extern' on explicit instantiations
/usr/include/g++/bits/stl_alloc.h:981: warning: ISO C++ forbids the use of `
extern' on explicit instantiations
[and many, many more]
but it will compile. If I omit -pedantic, none of these warnings occur. The=
=20
thing is, in -CURRENT with the new gcc, all these warnings for some reason=
=20
become errors. The other thing is, if I try this with with a ports-compiled=
=20
g++32 on 4-STABLE, I don't get warnings at all, no matter if -pedantic is=20
specified or not.
So here's the questions for the experts:
=2D Why errors instead of warnings?
=2D Why do gcc's own bits seem to not conform to some kind of standard that=
it=20
tries to adhere to in 5-CURRENT but not in 4-STABLE?
=2D Who's to blame?
=2D-=20
Michael Nottebrock \ KDE on FreeBSD \ ,ww =20
\ --- \ ,wWWCybaWW_)=20
\ http://freebsd.kde.org \ `WSheepW' free
\ II II node
--Boundary-02=_7C7F/SYedgjHKOC
Content-Type: application/pgp-signature
Content-Description: signature
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (FreeBSD)
iD8DBQA/F7C7Xhc68WspdLARAkpgAKCkJYNAwtLDk/7J8rhhyqPEqSWlZgCfYyHy
U+NBy6G1IRP6sW74a3QqvAM=
=JeB5
-----END PGP SIGNATURE-----
--Boundary-02=_7C7F/SYedgjHKOC--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200307181032.59474.michaelnottebrock>
