From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23024 invoked by alias); 26 Feb 2014 14:07:47 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 22988 invoked by uid 48); 26 Feb 2014 14:07:43 -0000 From: "trippels at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/60345] [4.9 Regression] r208159 causes Firefox build error Date: Wed, 26 Feb 2014 14:07:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: trippels at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.9.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-02/txt/msg02604.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D60345 --- Comment #2 from Markus Trippelsdorf --- markus@x4 src % cat test.ii class A {}; template class Handle : A { public: operator T &(); }; class JSAtom {}; class PropertyName : public JSAtom {}; template class InlineMap { public: void remove(const K &); }; class DefinitionSingle; template struct AtomThingMapPtr { Map *operator->(); }; template class D : public AtomThingMapPtrT {}; struct B : AtomThingMapPtr > {}; class TokenStream; class ParseNode {}; struct Definition : ParseNode { enum Kind {}; }; class FullParseHandler { public: typedef ParseNode *Node; }; struct C {}; template struct ParseContext : C { bool define(TokenStream &, Handle, FullParseHandler::Node, Definition::Kind); D lexdeps; }; template <> bool ParseContext::define(TokenStream &, Handle name, ParseNode *, Definition::Kind) { lexdeps->remove(name); } markus@x4 src % g++ -std=3Dgnu++0x -c test.ii test.ii: In member function =E2=80=98bool ParseContext< >::define(TokenStream&, Handle, FullParseHandler::Node, Definition::Kind) [with =3D FullParseHandler; FullParseHandler::Node =3D ParseNode*]=E2=80=99: test.ii:39:23: error: no matching function for call to =E2=80=98InlineMap::remove(Handle&)=E2=80=99 lexdeps->remove(name); ^ test.ii:39:23: note: candidate is: test.ii:11:8: note: void InlineMap, >::remove(const K&) [with K =3D JSAtom*; =3D DefinitionSingle; int =3D 0] void remove(const K &); ^ test.ii:11:8: note: no known conversion for argument 1 from =E2=80=98Handle=E2=80=99 to =E2=80=98JSAtom* const&=E2=80=99 >>From gcc-bugs-return-444848-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Feb 26 14:32:24 2014 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 5461 invoked by alias); 26 Feb 2014 14:32:21 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 5433 invoked by uid 48); 26 Feb 2014 14:32:17 -0000 From: "trippels at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/60345] [4.9 Regression] r208159 causes Firefox build error Date: Wed, 26 Feb 2014 14:32:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 4.9.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: trippels at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.9.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-02/txt/msg02605.txt.bz2 Content-length: 660 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60345 --- Comment #3 from Markus Trippelsdorf --- markus@x4 src % cat test.ii template struct A { operator T &(); }; class C {}; class J : public C {}; template struct F { void m_fn1(const K &); }; template struct D : AtomThingMapPtrT {}; struct B { F *operator->(); }; struct G { enum Kind {}; }; struct H { typedef G *Node; }; template struct I { bool m_fn1(int &, A, H::Node, G::Kind); D lexdeps; }; template <> bool I::m_fn1(int &, A p2, G *, G::Kind) { lexdeps->m_fn1(p2); }