[Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45383 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Target Milestone|4.5.2 |4.5.3 --- Comment #7 from Richard Guenther rguenth at gcc dot gnu.org 2010-12-16 13:03:46 UTC --- GCC 4.5.2 is being released, adjusting target milestone.
[Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45383 --- Comment #5 from Dodji Seketeli dodji at gcc dot gnu.org 2010-11-29 16:31:07 UTC --- Author: dodji Date: Mon Nov 29 16:30:54 2010 New Revision: 167248 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167248 Log: Fix PR c++/45383 Reverting the fix for PR c++/42260 fixes c++/45383. This reverts commit r155415. gcc/cp/ Reverted patch for PR c++/42260 * cp-tree.h (lookup_conversions): Reverted Add new bool parameter to declarationE. * search.c (lookup_conversion): Reverted Use new bool parameter in definition. * call.c (add_builtin_candidates): Reverted Don't lookup template conversion (convert_class_to_reference, build_user_type_conversion_1, build_op_call): Reverted Adjust. * cvt.c (build_expr_type_conversion): Reverted Likewise. gcc/testsuite/ Reverted patch for PR c++/42260 * conversion/cast2.C: Reverted New test. Removed: trunk/gcc/testsuite/g++.dg/conversion/cast2.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/cvt.c trunk/gcc/cp/search.c trunk/gcc/testsuite/ChangeLog
[Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45383 --- Comment #6 from Dodji Seketeli dodji at gcc dot gnu.org 2010-11-29 16:31:54 UTC --- Author: dodji Date: Mon Nov 29 16:31:40 2010 New Revision: 167250 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=167250 Log: Fix PR c++/42260 and ensure PR c++/45383 is fixed gcc/cp/ c++/42260 * call.c (add_builtin_candidate): At this point the resulting type of an indirection operator should be complete. gcc/testsuite/ c++/42260 c++/45383 * g++.dg/conversion/cast2.C: New test. * g++.dg/conversion/cond4/C: Likewise. Ensures we don't regress on PR c++/45383 Added: trunk/gcc/testsuite/g++.dg/conversion/cast2.C trunk/gcc/testsuite/g++.dg/conversion/cond4.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/call.c trunk/gcc/testsuite/ChangeLog
Re: [Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
A candidate fix has been proposed at http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01129.html
[Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45383 --- Comment #4 from dodji at seketeli dot org dodji at seketeli dot org 2010-11-11 08:24:20 UTC --- A candidate fix has been proposed at http://gcc.gnu.org/ml/gcc-patches/2010-11/msg01129.html
[Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45383 Simon number.cruncher at ntlworld dot com changed: What|Removed |Added CC||number.cruncher at ntlworld ||dot com --- Comment #3 from Simon number.cruncher at ntlworld dot com 2010-11-08 13:46:44 UTC --- I'd just like to confirm this bug on Fedora 14 (gcc (GCC) 4.5.1 20100924) which is currently preventing me from compiling a large 3D graphics commercial library.
[Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45383 Dodji Seketeli dodji at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED CC|dseketel at redhat dot com | AssignedTo|unassigned at gcc dot |dodji at gcc dot gnu.org |gnu.org |
[Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45383
[Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
--- Comment #1 from redi at gcc dot gnu dot org 2010-08-23 13:17 --- The summary seems backwards: the conversion shouldn't generate operator==, instead using operator== should trigger the conversion, but fails to when the conversion operator is a template. Strangely, adding a non-template conversion operator causes template argument deduction to succeed, even though the non-template operator isn't used e.g. #include iostream struct null { null() {} templateclass T operator T*() const { return 0; } templateclass C, class T operator T C::*() const { return 0; } private: operator double*() const; // ??? null(const null); null operator=(const null); void operator() const; }; static struct null null; int main() { int* ptr = null; std::cout (ptr == null) , (ptr != null); return 0; } -- redi at gcc dot gnu dot org changed: What|Removed |Added Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 GCC build triplet|(many, read below) | GCC host triplet|(many, read below) | GCC target triplet|(many, read below) | Keywords||rejects-valid Last reconfirmed|-00-00 00:00:00 |2010-08-23 13:17:12 date|| Summary|[g++ = 4.5 ] Implicit |[4.5/4.6 Regression] |conversion to pointer does |Implicit conversion to |no longer automatically |pointer does no longer |generate operator== and |automatically generate |operator!=. |operator== and operator!=. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45383
[Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
--- Comment #2 from hjl dot tools at gmail dot com 2010-08-23 16:35 --- It is caused by revision 155415: http://gcc.gnu.org/ml/gcc-cvs/2009-12/msg00559.html -- hjl dot tools at gmail dot com changed: What|Removed |Added CC||dseketel at redhat dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45383
[Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|--- |4.5.2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45383