PATCH C++: revert previous template fix
Ziemowit Laski
zlaski@apple.com
Wed Feb 19 20:50:00 GMT 2003
On Wednesday, Feb 19, 2003, at 12:29 US/Pacific, Ziemowit Laski wrote:
>> In this particular case, the consequences should be nil. As I
>> understand Mark's November 8 patch, it merely tries to... improve
>> performance by storing the visited tree nodes in a hash table. :-)
>> :-) :-) So one option is definitely to just back it out (along with
>> the 'htab_delete' fix that was added later). The other is to use the
>> hash table functionality already supported by walk_tree(). I was not
>> aware of this functionality (and, it would appear, neither was Mark)
>> until Devang pointed it out to me yesterday. I'm currently running a
>> test utilizing this. If it offers further performance, I'll offer it
>> as part of the "revert patch" patch.
>
> Ok, I tried utilizing the walk_tree() hash table functionality, and it
> slows things down even more than Mark's original patch. :-) :-) So
> much for that.
>
> I'll post the revert patch & ChangeLog shortly. Stay tuned.
Actually, it turns out I misunderstood the intent of Mark's patch. The
intent
is to prevent the compiler from spinning in an infinite loop when
presented with
illegal template code (see PR c++/8338). There is also a test case,
g++.dg/template/crash2.C, which will presumably fail after the patch is
reverted.
So, should we nevertheless revert the patch? I'd say that we should,
on the premise
that it only addresses illegal code. I guess this also means we should
mark the
test case as an "expected failure" (someone would need to show me how
to do this,
as I have no idea).
What do you all think?
--Zem
--------------------------------------------------------------
Ziemowit Laski 1 Infinite Loop, MS 301-2K
Mac OS X Compiler Group Cupertino, CA USA 95014-2083
Apple Computer, Inc. +1.408.974.6229 Fax .5477
More information about the Gcc-patches
mailing list