[Bug c++/38087] Pseudo destructor call

2017-08-17 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38087

Eric Gallager  changed:

   What|Removed |Added

   Keywords||accepts-invalid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-08-17
 CC||egallager at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #4 from Eric Gallager  ---
Redoing lost comments:

https://gcc.gnu.org/ml/gcc-bugs/2017-08/msg01624.html

Eric Gallager  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2017-08-14
 CC||egallager at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #4 from Eric Gallager  ---
(In reply to Andrew Pinski from comment #1)
> I still think this is valid code ...  There are defect reports against this
> area too.

Which ones do you mean?

https://gcc.gnu.org/ml/gcc-bugs/2017-08/msg01637.html

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||accepts-invalid
 Status|WAITING |NEW

--- Comment #5 from Jonathan Wakely  ---
There's https://wg21.link/cwg555 but I don't think it changes anything here.

[expr.pseudo] definitely doesn't apply, as that only applies to non-class
types. (The bug title is wrong for the same reason, this is a destructor call,
not a pseudo destructor call.)

The current wording in [basic.lookup.classref] says "At least one of the
lookups shall find a name that refers to cv T." The object expression has type
C, but the lookup result for B does not find that type, so the code is invalid.

[Bug c++/38087] Pseudo destructor call

2017-08-14 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38087

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||accepts-invalid
 Status|WAITING |NEW

--- Comment #5 from Jonathan Wakely  ---
There's https://wg21.link/cwg555 but I don't think it changes anything here.

[expr.pseudo] definitely doesn't apply, as that only applies to non-class
types. (The bug title is wrong for the same reason, this is a destructor call,
not a pseudo destructor call.)

The current wording in [basic.lookup.classref] says "At least one of the
lookups shall find a name that refers to cv T." The object expression has type
C, but the lookup result for B does not find that type, so the code is invalid.

[Bug c++/38087] Pseudo destructor call

2017-08-14 Thread egallager at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38087

Eric Gallager  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2017-08-14
 CC||egallager at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #4 from Eric Gallager  ---
(In reply to Andrew Pinski from comment #1)
> I still think this is valid code ...  There are defect reports against this
> area too.

Which ones do you mean?

[Bug c++/38087] Pseudo destructor call

2008-11-12 Thread mrs at apple dot com


--- Comment #3 from mrs at apple dot com  2008-11-12 18:33 ---
I'm merely eching bits from the clang development list...  Now they think the
above doesn't apply, but 3.4.5p3 does:

3 If the unquali#64257;ed-id is 
#8764; type-name, the type-name is looked up in the context of the entire
post#64257;x-expression. If the 
type T of the object expression is of a class type C, the type-name is also
looked up in the scope of class C. At least one 
of the lookups shall #64257;nd a name that refers to (possibly
cv-quali#64257;ed) T.

:-)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38087



[Bug c++/38087] Pseudo destructor call

2008-11-11 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2008-11-12 00:32 ---
I still think this is valid code ...  There are defect reports against this
area too.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38087



[Bug c++/38087] Pseudo destructor call

2008-11-11 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2008-11-12 00:35 ---
See PR 12333 also.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38087