--- Comment #5 from mmitchel at gcc dot gnu dot org 2005-10-18 21:40
---
This code is invalid. (EDG rejects this code in its strictly conforming mode,
as well.)
We cannot support it without changing the meaning of conforming programs.
I don't see anything about this particular case w
--- Comment #4 from pinskia at gcc dot gnu dot org 2005-10-18 21:35 ---
This was caused by:
PR c++/21592
* pt.c (build_non_dependent_expr): Don't wrap a COMPONENT_REF
with already looked up member functions. Assert we're not
returning a NON_DEPENDENT_EXPR
--- Comment #3 from steven at gcc dot gnu dot org 2005-10-18 21:30 ---
It does make sense to allow this if the (other) industry standard C++ compiler
allows this in !pedantic mode. For backward source compatibility if nothing
else.
--
steven at gcc dot gnu dot org changed:
--- Comment #2 from pinskia at gcc dot gnu dot org 2005-10-18 12:56 ---
Reduced testcase:
class SVGDocumentImpl;
class SVGElementImpl
{
SVGDocumentImpl *ownerDoc() const;
};
template
void applyContainer(SVGElementImpl *element)
{
dynamic_cast(element->ownerDoc()->getElementFromHandle
--- Comment #1 from rguenth at gcc dot gnu dot org 2005-10-18 10:22 ---
I guess before we treated the whole expression
T *cast = dynamic_cast(element->ownerDoc()->getElementFromHandle(node));
as dependent on T, while afterwards we try to resolve everything for the
argument of the dyna