From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10455 invoked by alias); 31 Jul 2008 09:43:26 -0000 Received: (qmail 10382 invoked by uid 22791); 31 Jul 2008 09:43:24 -0000 X-Spam-Check-By: sourceware.org Received: from bolyai.cs.elte.hu (HELO bolyai.cs.elte.hu) (157.181.226.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 31 Jul 2008 09:43:04 +0000 Received: from lime.cs.elte.hu ([157.181.227.196] helo=[127.0.0.1]) by bolyai.cs.elte.hu with esmtp (Exim 4.54) id 1KOUgS-0006F9-W0; Thu, 31 Jul 2008 11:43:01 +0200 Subject: Re: Move GDB to C++ ? From: =?ISO-8859-1?Q?Alp=E1r_J=FCttner?= To: =?ISO-8859-1?Q?Andr=E9_P=F6nitz?= Cc: gdb@sourceware.org In-Reply-To: <200807311042.41954.apoenitz@trolltech.com> References: <487658F7.1090508@earthlink.net> <4890B6BB.7010603@earthlink.net> <200807301942.m6UJgH6s005159@brahms.sibelius.xs4all.nl> <200807311042.41954.apoenitz@trolltech.com> Content-Type: multipart/mixed; boundary="=-qJacLi08MER2m87Cm92i" Date: Thu, 31 Jul 2008 10:07:00 -0000 Message-Id: <1217497386.4594.14.camel@piko.site> Mime-Version: 1.0 X-Mailer: Evolution 2.22.1.1 X-CS-Spam-Score: -4.4 (----) X-CS-Spam-Report: score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00 pts rule name description ---- ---------------------- ------------------------------------ -1.8 ALL_TRUSTED Passed through trusted hosts only via SMTP -2.6 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0000] X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2008-07/txt/msg00348.txt.bz2 --=-qJacLi08MER2m87Cm92i Content-Type: text/plain Content-Transfer-Encoding: 7bit Content-length: 641 Hi, > Well, at the time I started coding (and probably yours, too ;-)), > compiler were considered "user friendly" when they did not just > abort on faulty input but were so nice and gave the number of > the problematic line, too. (a) one gets used to it, and (b) it's > far more convienient nowadays. Especially gcc is pretty good > at pointing out possible reasons _why_ compilation failed. Understanding the error message of g++ is sometimes a kind of horror, indeed. See the attached error message for a "nice" example. Luckily, this is again something that is only a problem when templates are extensively used. Best regards, Alpar --=-qJacLi08MER2m87Cm92i Content-Disposition: attachment; filename=g++-log.txt Content-Type: text/plain; name=g++-log.txt; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-length: 17499 -*- mode: compilation; default-directory: "~/projects/ETIK/hugo_loc/work/de= ba/" -*- Compilation started at Mon Nov 28 07:14:16 g++ -I/home/alpar/projects/ETIK/hugo preflow-matching.cpp preflow-matching.h: In function 'int lemon::_maxMatchingB_init(const Graph&= , MT&, typename Graph::LowerNodeMap&, typename Graph::LowerNodeMap&, int&) [with Graph =3D lemon::SmartUndirBipartiteGraph, MT =3D lemon::Ma= ppableUndirBipartiteGraphExtender > > >::UpperNodeMap::Edge>]': preflow-matching.h:165: instantiated from 'int lemon::maxMatchingB(const = Graph&, MT&) [with Graph =3D lemon::SmartUndirBipartiteGraph, MT =3D lemon:= :MappableUndirBipartiteGraphExtender > > >::UpperNodeMap::Edge>]' preflow-matching.h:143: instantiated from 'int lemon::maxMatchingB(const = Graph&) [with Graph =3D Graph]' preflow-matching.cpp:241: instantiated from here preflow-matching.h:99: error: no match for 'operator=3D' in '(+ matching)->= lemon::MappableUndirBipartiteGraphExtender > > >::UpperNodeMap::Edge>= ::.lemon::IterableMapExtender > > >, lemon::UndirBipartiteGraphExtend= er::UpperNode, lemon::UndirBipartiteGr= aphExtender::Edge> >::.lemo= n::DefaultMap > > >, le= mon::UndirBipartiteGraphExtender::Uppe= rNode, lemon::UndirBipartiteGraphExtender::Edge>::.lemon::ArrayMap<_Graph, _Item, _Value>::operator[] = [with _Graph =3D lemon::MappableUndirBipartiteGraphExtender > > >,= _Item =3D lemon::UndirBipartiteGraphExtender::UpperNode, _Value =3D lemon::UndirBipartiteGraphExtender::Edge](((const lemon::UndirBipartiteGraphExtend= er::UpperNode&)(& lemon::UndirBipartit= eGraphExtender::UpperNode(((const lemo= n::SmartUndirBipartiteGraphBase::Node&)((const lemon::SmartUndirBipartiteGr= aphBase::Node*)(& n.lemon::IterableUndirBipartiteGraphExtender > >::UpperNodeIt::))))))) =3D lemon= ::IterableUndirBipartiteGraphExtender > >::IncEdgeIt(((const lemon::IterableUndirBipartiteGraphExtender > >&)(&(+ g)->lemon::SmartUndirBipartit= eGraph::.lemon::ClearableUndirBipartiteGraphExtender > > > > >::.lemon::ExtendableUndirBipartiteGraphExten= der > > > >::.lemon::MappableUndirBipartiteGraphExtender > > >::)),= ((const lemon::SmartUndirBipartiteGraphBase::Node&)((const lemon::SmartUnd= irBipartiteGraphBase::Node*)(& n.lemon::IterableUndirBipartiteGraphExtender= > >::UpperNodeIt::))))' /home/alpar/projects/ETIK/hugo/lemon/bits/graph_extender.h:428: note: candi= dates are: lemon::UndirBipartiteGraphExtender::Edge& lemon::UndirBipartiteGraphExtender::Edge::operator=3D(const lemon::UndirBipartiteGraphExtender::Edge&) preflow-matching.h: In function 'int lemon::_maxMatchingB(const Graph&, MT&= , typename Graph::LowerNodeMap&, typename Graph::LowerNodeMap&, i= nt) [with Graph =3D lemon::SmartUndirBipartiteGraph, MT =3D lemon::Mappable= UndirBipartiteGraphExtender > > >::UpperNodeMap::Edge>]': preflow-matching.h:167: instantiated from 'int lemon::maxMatchingB(const = Graph&, MT&) [with Graph =3D lemon::SmartUndirBipartiteGraph, MT =3D lemon:= :MappableUndirBipartiteGraphExtender > > >::UpperNodeMap::Edge>]' preflow-matching.h:143: instantiated from 'int lemon::maxMatchingB(const = Graph&) [with Graph =3D Graph]' preflow-matching.cpp:241: instantiated from here preflow-matching.h:54: error: dependent-name 'lemon::IterableBoolNodeMap::TrueIt' is parsed as a non-type, but instantiation yields a type preflow-matching.h:54: note: say 'typename lemon::IterableBoolNodeMap::TrueIt' if a type is meant preflow-matching.h:74: error: no match for 'operator=3D' in '(+ matching)->= lemon::MappableUndirBipartiteGraphExtender > > >::UpperNodeMap::Edge>= ::.lemon::IterableMapExtender > > >, lemon::UndirBipartiteGraphExtend= er::UpperNode, lemon::UndirBipartiteGr= aphExtender::Edge> >::.lemo= n::DefaultMap > > >, le= mon::UndirBipartiteGraphExtender::Uppe= rNode, lemon::UndirBipartiteGraphExtender::Edge>::.lemon::ArrayMap<_Graph, _Item, _Value>::operator[] = [with _Graph =3D lemon::MappableUndirBipartiteGraphExtender > > >,= _Item =3D lemon::UndirBipartiteGraphExtender::UpperNode, _Value =3D lemon::UndirBipartiteGraphExtender::Edge](((const lemon::UndirBipartiteGraphExtend= er::UpperNode&)(& lemon::UndirBipartit= eGraphExtender::UpperNode(((const lemo= n::SmartUndirBipartiteGraphBase::Node&)((const lemon::SmartUndirBipartiteGr= aphBase::Node*)(&(+ g)->lemon::SmartUndirBipartiteGraph::.lemon:= :ClearableUndirBipartiteGraphExtender > > > > >::.lemon::ExtendableUndirBipartiteGraphExtender > > > >::.lemon::MappableUndirBipa= rtiteGraphExtender > > >::.lemon::IterableUndirBipartit= eGraphExtender<_Base>::runningNode [with _Base =3D lemon::AlterableUndirBip= artiteGraphExtender >](((const lemon::IterableUndirBipartiteGraphExtender > >::IncEdgeIt&)((const lemon::Iterabl= eUndirBipartiteGraphExtender > >::= IncEdgeIt*)(& bedge))))))))))) =3D bedge' /home/alpar/projects/ETIK/hugo/lemon/bits/graph_extender.h:428: note: candi= dates are: lemon::UndirBipartiteGraphExtender::Edge& lemon::UndirBipartiteGraphExtender::Edge::operator=3D(const lemon::UndirBipartiteGraphExtender::Edge&) preflow-matching.h:82: error: no match for 'operator[]' in 'cov[(+ matching= )->lemon::MappableUndirBipartiteGraphExtender > > >::UpperNodeMap<= lemon::UndirBipartiteGraphExtender::Ed= ge>::.lemon::IterableMapExtender > > >, lemon::UndirBipartiteGraphExt= ender::UpperNode, lemon::UndirBipartit= eGraphExtender::Edge> >::.l= emon::DefaultMap > > >,= lemon::UndirBipartiteGraphExtender::U= pperNode, lemon::UndirBipartiteGraphExtender::Edge>::.lemon::ArrayMap<_Graph, _Item, _Value>::operator= [] [with _Graph =3D lemon::MappableUndirBipartiteGraphExtender > >= >, _Item =3D lemon::UndirBipartiteGraphExtender::UpperNode, _Value =3D lemon::UndirBipartiteGraphExtender::Edge](((const lemon::UndirBipartiteGraphExt= ender::UpperNode&)(& lemon::UndirBipar= titeGraphExtender::UpperNode(((const l= emon::SmartUndirBipartiteGraphBase::Node&)((const lemon::SmartUndirBipartit= eGraphBase::Node*)(& n.lemon::IterableUndirBipartiteGraphExtender > >::UpperNodeIt::)))))))]' /home/alpar/projects/ETIK/hugo/lemon/bits/vector_map.h:154: note: candidate= s are: typename std::vector<_Value, std::allocator<_Tp> >::reference lemon:= :VectorMap<_Graph, _Item, _Value>::operator[](const _Item&) [with _Graph = =3D lemon::MappableUndirBipartiteGraphExtender > > >, _Item =3D le= mon::UndirBipartiteGraphExtender::Lowe= rNode, _Value =3D int] /home/alpar/projects/ETIK/hugo/lemon/bits/vector_map.h:162: note: = typename std::vector<_Value, std::allocator<_Tp> >::const_reference = lemon::VectorMap<_Graph, _Item, _Value>::operator[](const _Item&) const [wi= th _Graph =3D lemon::MappableUndirBipartiteGraphExtender > > >, _I= tem =3D lemon::UndirBipartiteGraphExtender::LowerNode, _Value =3D int] preflow-matching.h:83: error: no match for 'operator[]' in 'cov[(+ matching= )->lemon::MappableUndirBipartiteGraphExtender > > >::UpperNodeMap<= lemon::UndirBipartiteGraphExtender::Ed= ge>::.lemon::IterableMapExtender > > >, lemon::UndirBipartiteGraphExt= ender::UpperNode, lemon::UndirBipartit= eGraphExtender::Edge> >::.l= emon::DefaultMap > > >,= lemon::UndirBipartiteGraphExtender::U= pperNode, lemon::UndirBipartiteGraphExtender::Edge>::.lemon::ArrayMap<_Graph, _Item, _Value>::operator= [] [with _Graph =3D lemon::MappableUndirBipartiteGraphExtender > >= >, _Item =3D lemon::UndirBipartiteGraphExtender::UpperNode, _Value =3D lemon::UndirBipartiteGraphExtender::Edge](((const lemon::UndirBipartiteGraphExt= ender::UpperNode&)(& lemon::UndirBipar= titeGraphExtender::UpperNode(((const l= emon::SmartUndirBipartiteGraphBase::Node&)((const lemon::SmartUndirBipartit= eGraphBase::Node*)(& n.lemon::IterableUndirBipartiteGraphExtender > >::UpperNodeIt::)))))))]' /home/alpar/projects/ETIK/hugo/lemon/bits/vector_map.h:154: note: candidate= s are: typename std::vector<_Value, std::allocator<_Tp> >::reference lemon:= :VectorMap<_Graph, _Item, _Value>::operator[](const _Item&) [with _Graph = =3D lemon::MappableUndirBipartiteGraphExtender > > >, _Item =3D le= mon::UndirBipartiteGraphExtender::Lowe= rNode, _Value =3D int] /home/alpar/projects/ETIK/hugo/lemon/bits/vector_map.h:162: note: = typename std::vector<_Value, std::allocator<_Tp> >::const_reference = lemon::VectorMap<_Graph, _Item, _Value>::operator[](const _Item&) const [wi= th _Graph =3D lemon::MappableUndirBipartiteGraphExtender > > >, _I= tem =3D lemon::UndirBipartiteGraphExtender::LowerNode, _Value =3D int] Compilation exited abnormally with code 1 at Mon Nov 28 07:14:18 --=-qJacLi08MER2m87Cm92i--