[Bug c++/45383] [4.5/4.6 Regression] Implicit conversion to pointer does no longer automatically generate operator== and operator!=.

2010-12-16 Thread rguenth at gcc dot gnu.org
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!=.

2010-11-29 Thread dodji at gcc dot gnu.org
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!=.

2010-11-29 Thread dodji at gcc dot gnu.org
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!=.

2010-11-11 Thread Dodji Seketeli
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!=.

2010-11-11 Thread dodji at seketeli dot org
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!=.

2010-11-08 Thread number.cruncher at ntlworld dot com
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!=.

2010-11-08 Thread dodji at gcc dot gnu.org
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!=.

2010-08-30 Thread rguenth at gcc dot gnu dot org


-- 

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!=.

2010-08-23 Thread redi at gcc dot gnu dot org


--- 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!=.

2010-08-23 Thread hjl dot tools at gmail dot com


--- 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!=.

2010-08-23 Thread rguenth at gcc dot gnu dot org


-- 

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